StarRocks version 3.3
- StarRocks を v3.3 にアップグレードした後、直接 v3.2.0、v3.2.1、または v3.2.2 にダウングレードしないでください。そうしないとメタデータが失われます。問題を防ぐために、クラスタを v3.2.3 以降にダウングレードする必要があります。
- StarRocks を v3.3.9 にアップグレードした後、ダウングレードできるのは v3.2.11 以降のみです。
3.3.19
リリース日: 2025年10月14日
バグ修正
以下の問題が修正されました:
UserPropertyがセッション変数よりも優先度が低かった問題。 #63173- Hive の基盤テーブルが削除され再作成された際に発生する可能性があったマテリアライズドビューのリフレッシュ失敗。 #63072
- 集約プッシュダウンの書き換えルールに関する問題。 #63060
- JSON の Boolean 抽出関数で null 列とデータ列の不整合が発生する問題。 #63054
- Delta Lake フォーマットテーブルでパーティション列を取得する際の問題。 #62953
- 共有データクラスタにおけるマテリアライズドビューのコロケーション未対応。 #62941
- ビューに基づくマテリアライズドビュー書き換えでの射影マッピングエラー。 #62918
- Most Common Values (MCV) にシングルクォートが含まれる場合のヒストグラム統計で SQL 構文エラーが発生する問題。 #62853
KILL ANALYZEが機能しない問題。 #62842- CVE-2025-58056 の脆弱性。 #62801
- データベースを指定せずに
SHOW CREATE ROUTINE LOADを実行すると誤った結果が返る問題。 #62745 files()で CSV ヘッダーを誤ってスキップしたことによるデータ損失。 #62719- レプリケーションとコンパクションのトランザクションが同時にコミットされた際のバージョンチェック失敗。 #62663
- リストアジョブの失敗後にマテリアライズドビューのバージョンマップがクリアされず、リフレッシュがスキップされる問題。 #62634
- マテリアライズドビュー解析でパーティション列の大文字小文字区別による問題。 #62598
3.3.18
リリース日: 2025年8月28日
バグ修正
以下の問題を修正しました:
LakePersistentIndexの初期化に失敗した際、_memtableのクリーンアップにより BE がクラッシュする問題を修正しました。 #62279- レプリケーショントランザクションマネージャーで Tablet の最大バージョンを取得する際にロックが不足していたため発生した並行性の問題を修正しました。 #62238
- ステージスケジューラが同期的な Profile 収集で無限に待機してしまうハング問題を修正しました(修正後は、スケジューリングエラー発生時に Profile 収集が正しく終了するようになりました)。 #62140
- 低カーディナリティ最適化において
ALLOW_THROW_EXCEPTIONモードでの例外処理の問題を修正しました(修正後は、式評価中の例外が正しく捕捉され返されるようになりました)。 #62098 enable_rbo_table_pruneがfalseの場合、テーブルプルーニング時に memo 外でネストされた CTE 統計情報を計算できない問題を修正しました。 #62070- CVE-2025-55163 の問題を修正しました。 #62041
partition_morsel_queue内にネストされたsplit_morsel_queueが Tablet Schema を正しく受け取れない問題を修正しました。 #62034- Parquet 書き込み時に
NULL配列を誤って処理することでデータ不整合やクラッシュが発生する問題を修正しました(修正後は、split関数がNULL入力文字列を正しく処理できるようになりました)。 #61999 CASE WHEN式を使用したマテリアライズドビュー作成時に、VARCHAR 型の非互換な戻り値により失敗する問題を修正しました(修正後はリフレッシュ前後で一貫性が確保されます)。 #61996- 圧縮スコア計算時にシャードレベルのロックを保持したまま長時間の処理が行われ、並行性の安全性に問題が発生する不具合を修正しました。 #61899
- CBO のテーブルプルーニングロジックがすべての関連述語を考慮していなかったために発生する不完全なプルーニングの問題を修正しました。 #61881
3.3.17
リリース日: 2025年7月30日
バグ修正
以下の問題を修正しました:
- HttpClient5 を 5.4.3 にアップグレードしました。#61298
- リソースグループの
cpu_core_used_permille制限の誤りを修正しました。#61177 - ALTER タスクとパーティション作成タスクの競合を修正しました。#61167
ConnectContextにおけるglobalStateMgr欠落による NullPointerException を修正しました。#60880- パーティション値が異なっても、大文字小文字を無視して同じ名前の場合に作成に失敗する問題を修正しました。#60909
- パーティション統計への同期アクセスによるロック競合を修正しました。#61041
- FE 再起動後に ANALYZE タスクが
pending状態で停止する問題を修正しました。#61113 - BE における JIT コンパイルの問題を修正しました。#61060
- Starmgr の Leader アドレスに関する問題を修正しました。#61016
- Broker の CVE 脆弱性を修正しました。#60908
- JDBC 接続数が
jdbc_connection_pool_sizeを超過する問題を修正しました。#61004 - CVE-2022-41404 の脆弱性に対応しました。#59689
- Parquet および HttpClient5 関連の CVE 脆弱性を修正しました。#58750
- 物理パーティション ID が null の場合、
_partition_mapからパーティションを削除できない問題を修正しました。#60842 - 共有データクラスターにおけるバージョンチェックの欠如を修正しました。#59422
- 共有データクラスターでログをバッチ公開する際、トランザクションログが存在しない問題を修正しました。#60949
- バッチ公開有効時に、同一トランザクションが並行して公開される問題を修正しました。#57574
- 統計の Overwrite が半同期モードを使用していなかった問題を修正しました。#60897
- 最新のマージファイルスライスを取得する際、Hudi ファイルのフィルターに使う
maxInstantTimeが正しくない問題を修正しました。#60927 - TaskRun のステータスが古いバージョンと互換性がない問題を修正しました。#60438
- CVE-2025-52999 の脆弱性に対応しました。#60795
- Broker 内の
log4j-1.2.17-cloudera6に起因する脆弱性を修正しました。#59579 - OOM パーティションを読み込む際に BE がクラッシュする問題を修正しました。#60778
- 多数の Base Compaction タスクが他の Compaction をブロックする問題を修正しました。#60711
- エラー文字列の切り捨てを効率的に処理できない問題を修正しました。#60878
- マテリアライズドビューの改写が複数 FE 環境で失敗する問題を修正しました。#60841
- INSERT OVERWRITE が手動作成パーティションで失敗する問題を修正しました。#60750
- 集約キーにランダム分布を使用することで発生する問題を修正しました。#60702
- 低カーディナリティ書き換えが
multi_distinct_countのクラッシュを引き起こす問題を修正しました。#60664 - Pivot のフィールド解析問題を修正しました。#60748
hudi-commonを 1.0.2 にアップグレードしました。#59501- CLONE タスクと DROP TABLE が同時に実行されると BE がクラッシュする可能性がある問題を修正しました。#61359
3.3.16
リリース日: 2025年7月4日
改善点
- 同名の Hive テーブル作成時のエラーログを最適化しました。 #60076
- 大規模クラスタでスレッドスタックを出力する際のプロセス停止を防止するため、FE パラメータ
slow_lock_print_stackを追加しました。 #59967 - タブレットスケジューリング時の不要なロックを削減しました。 #59744
バグ修正
以下の問題を修正しました:
- SplitOR が Scan 列のプルーニングに失敗する問題を修正しました。 #60223
- Null 認識型 Left Anti Join のクエリプランニングが誤っていた問題を修正しました。 #60119
- マテリアライズドビューでクエリを書き換えた際、NULL パーティションが欠落し正しい結果が得られない問題。 #60087
- 空のパーティションを含むテーブルでパーティションプルーニングが誤る問題を修正しました。 #60162
- Iceberg 外部テーブルで
str2dateを用いたパーティション式が原因でリフレッシュが失敗する問題。 #60089 - マテリアライズドビューのスキーマ変更に伴う予期しない動作を修正しました。 #60079
- UNION 演算子で低カーディナリティのグローバル辞書に関する問題を修正しました。 #60075
- START END 構文で作成された一時パーティションの範囲が正しくない問題を修正しました。 #60014
- SUBMIT TASK におけるロックの問題を修正しました。 #60026
- 特定条件下で主キー表の部分更新が失敗する問題を修正しました。 #60052
- BE がストレージパスにアクセス権限がなくディレクトリ作成に失敗し、クラッシュする問題を修正しました。 #60028
- 同時実行環境でキャッシュキーが重複し、キャッシュに失敗する問題を修正しました。 #60053
- Unified Catalog で Hive テーブルメタデータのバックグラウンド更新が無効になる問題を修正しました。 #55215
- CASE WHEN の戻り値型が誤っており、クエリが失敗する問題を修正しました。 #59972
- Delta Lake テーブルをUNIONで自己結合する場合のクエリ失敗を修正しました。 #60030
- 同一トランザクションで複数テーブルに書き込む際のパーティション作成失敗を修正しました。 #59954
- クエリ実行中にタブレットバージョン更新が発生し、エラーではなく空結果が返る問題を修正しました。 #53060
- v3.4 へアップグレード後、変更されたテーブル列のクエリ結果が Null になる問題を修正しました。 #59941
- 認証に関する機密情報がログに出力される問題を修正しました。 #59907
- Hive Catalog 内の外部テーブルでメタデータが更新できない問題を修正しました。 #54596
- スキーマ変更後のテーブルでCACHE SELECTが失敗する問題を修正しました。 #59812
- FE のフェイルオーバー後、Broker Load が復旧できない問題を修正しました。 #59732
- Stream Load でテーブル名に中国語を含む場合、インポートが失敗する問題を修正しました。 #59722
- 外部テーブルのクエリで検索キーのハッシュ衝突により結果が誤る問題を修正しました(Iceberg/Delta/Paimonに対応)。 #59781
3.3.15
リリース日: 2025年6月20日
バグ修正
以下の問題を修正しました:
- 統計情報の INSERT ステートメントにおける文字列パラメータに二重引用符が使用されていない問題を修正しました。#59713
- Rollup タスクに起因するダウングレード失敗を修正しました。#59735
SHOW CREATE VIEWの返り値において関数パラメータが誤っていた問題を修正しました。#59714- SQL 構文エラーによる失敗時に、Audit Log に機密情報が出力される問題を修正しました。#59442
- 「Query version not found」エラーを修正しました。#59194
ALTER TABLEでデータ分布方式の変更に失敗する問題を修正しました。#59360- 管理者保護が有効でも root ユーザーのプロセスが表示される問題を修正しました。#59435
INSERT OVERWRITEによる Hive への書き込み失敗を修正しました。#59469- ログの
max_tablet_rowset_num項目に Tablet ID が表示されない問題を修正しました。#59467 - 重複キーテーブルにおける Persistent Index パラメータの誤設定によるエラーを修正しました。#56040
- FE Follower ノードで TaskRun 履歴がアーカイブされる問題を修正しました。#59393
- 外部カタログベースのマテリアライズドビューのリフレッシュエラー。#59369
- 共有データクラスタにおける Tablet 情報に最小バージョンがない問題を修正しました。#59373
- 内部テーブルでのバージョン互換性ロジックの誤りにより、列の最大ユニーク ID が異常になる問題を修正しました。#59190
- Iceberg カタログを基にしたマテリアライズドビューが、元の Iceberg テーブルを削除・再作成した場合に正しくリフレッシュされず、active にしても手動でリフレッシュできない問題を修正しました。#59287
- マテリアライズドビューのリフレッシュタスクにおけるパラメータの汚染を修正しました。#59052
- スナップショット読み込み失敗時に Persistent Index によりデータが失われる問題を修正しました。#59247
- STRUCT のサブカラムが複数の述語に現れることによる問題を修正しました。#59216
- 列のリネーム後にクエリが失敗する問題を修正しました。#59178
- 複数の Stream Load リクエストによりデータのインポートが失敗する問題を修正しました。#59181
- Unified Catalog における Hive テーブルのマテリアライズドビューがパーティション単位でリフレッシュできない問題を修正しました。#59139
- 誤った UNION プランにより FE が OOM(メモリ不足)になる問題を修正しました。#59030
- データロード時のバージョン欠損を修正しました。#59006
- クエリが同期マテリアライズドビューに書き換えられた際に述語が失われる問題を修正しました。#58831
- ウィンドウ関数における BITMAP/HLL/PERCENTILE データ型の問題を修正しました。#58776
- Hive Catalog の外部テーブルへのメタデータの変更を更新できません。#54596
動作の変更
- FE 設定項目
task_runs_max_history_numberを追加し、information_schema.task_runsビューに保存される TaskRun 履歴数を制御できるようにしました。これによりメモリ消費が削減されます。#59161
3.3.14
リリース日: 2025年5月14日
改善点
- 正則式の解析失敗時のエラーメッセージを改善しました。 #57904
- セキュリティ脆弱性 SNYK-JAVA-ORGJSON-5488379 および SNYK-JAVA-ORGJSON-5962464 を修正しました。 #58425
バグ修正
以下の問題を修正しました:
- JSON データ型を使用した
first_value/last_value/lead/lagウィンドウ関数に関する問題。 #58697 - マテリアライズドビューへの書き込み時に、基になるテーブルのテーブルレベルロックが原因でデッドロックが発生(修正後は DB ロックを使用)。 #58615
- 削除されたテーブルへの INSERT タスクが停止してしまう問題。 #58603
- List パーティションにおけるマテリアライズドビューの active/inactive 状態の切り替えに失敗。 #58575
streaming_load_current_processingメトリクスの誤り。 #58565- インポートやレプリカのクローンタスクが連続するとデータバージョンの更新に失敗する問題。 #58513
- 外部テーブルのマテリアライズドビューが更新できない問題。 #58506
- ARM アーキテクチャ上での
if()関数の誤動作。 #58455 - マテリアライズドビューの書き換えによって誤ったクエリプランが生成される問題。 #58487
- Iceberg テーブルのメタデータが自動更新されない問題。 #58490
group_concatによる誤ったクエリプランの生成。 #57908- インポート中の例外が正しく処理されず、Tablet の大量読み込み失敗を引き起こす問題。 #58393
- 生成列の List パーティションにおいて、型の不一致により定数畳み込みが失敗する問題(暗黙の型変換ルールを追加して修正)。 #54543
- 集約関数の戻り値の型と元の列定義の型が一致しないことで発生する問題(修正後は列の型を関数の出力型にキャスト)。 #58407
broadcast_row_limitを 0 または 0 未満に設定した際に、BROADCAST JOIN の生成を回避できない問題。 #58307- Broker Load がブラックリストに登録された BE ノードを使用してしまう問題。 #58350
- マテリアライズドビューの更新タスクを手動でキャンセルした後も、非同期タスクがバックグラウンドで残り続ける問題。 #58310
- 月単位や年単位の式によるパーティションの作成に失敗する問題。 #58182
ngram_searchによって無効なクエリプランが生成される問題。 #58190
3.3.13
リリース日: 2025年4月22日
改善点
- 監査ログおよび QueryDetail インターフェースに、FEのメモリ消費指標を追加しました。#57731
- 式に基づくパーティションの同時作成時の戦略を最適化しました。#57899
- 活動中の FE ノード数の監視指標を追加しました。#57857
information_schema.task_runsビューで LIMIT 句のプッシュダウンをサポートしました。#57404- 複数の CVE 問題を修正しました。#57705 #57620
- 主キー表は PUBLISH 段階での再試行をサポートし、システムの災害復旧能力を強化しました。#57354
- Flat JSON のメモリ消費を削減しました。#57357
information_schema.routine_load_jobsビューにtimestamp_progress列を追加し、SHOW ROUTINE LOAD 文の戻り値と一致させました。#57123- StarRocks を使用する際、LDAP に対する未承認の行動を防止しました。#57131
- AVRO ファイルのスキーマと Hive テーブルのスキーマが一致しない場合にエラーを報告します。#57296
- マテリアライズドビューで
excluded_refresh_tables属性をサポートしました。#56428
バグ修正
以下の問題を修正しました:
- Flat JSON が
get_json_bool関数をサポートしていません。#58077 - SHOW AUTHENTICATION 文がパスワードを返します。#58072
percentile_count関数が誤った値を返します。#58038- 大規模演算子のスピル戦略に関連する問題。#58022
- BE がブラックリストに追加された後、Stream Load が引き続き BE にタスクを分配し、タスクが失敗します。#57919
- 半構造化データ型で
cast関数を使用する際の問題。#57804 array_map関数が誤った値を返します。#57756- 単一の Tablet シナリオで同一の列に対して複数の
distinct関数を使用し、単一列 GROUP BY でクエリ結果が誤る問題。#57690 - 大規模クエリのクエリプロファイルで MIN/MAX 値が不正確です。#57655
- Delta Lake データに基づく非分割マテリアライズドビューがクエリの書き換えに失敗します。#57686
- Routine Load のデッドロック問題。#57430
- DATE/DATETIME 列の述語プッシュダウンの誤り。#57576
percentile_disc関数が空の入力で問題を引き起こす。#57572ALTER TABLE {table} PARTITIONS (p1, p1) DISTRIBUTED BY ...文でパーティション名を重複指定すると、内部で生成された一時パーティションが削除できなくなる問題を修正。#57005str2date関数に基づく表の ALTER TABLE MODIFY COLUMN が失敗する問題。#57487- 半構造化列に対する CACHE SELECT 問題。#57448
hadoop-libによるアップグレード互換性の問題。#57436- パーティション作成時の大文字と小文字の区別エラーの問題。#54867
- 一部の列更新で誤ったソートキーが生成される問題。#57375
- ネストされたウィンドウ関数が不明な問題を引き起こす。#57216
3.3.12
リリース日: 2025 年 4 月 3 日
新機能
- 関数
percentile_approx_weightedをサポートしました。#56654 - Hive Catalog および Hudi Catalog のプロパティの変更をサポートしました。#56212
- Paimon Catalog で Manifest キャッシュをサポートしました。#55788
- Paimon Catalog のテーブルで
SHOW PARTITIONSをサポートしました。#55785 - Paimon Catalog で統計情報の収集をサポートしました。#55757
改善点
- 統計情報に関する複数の最適化とバグ修正。#57147 #57238 #57170 #57154 #57124 #57047 #56956 #57031 #56904 #56950 #56671 #55922
- テーブル作成失敗時のエラーメッセージを改善しました。#57055
- Broker Load の再試行メカニズムを強化しました。#56987
array_generateのパフォーマンスを向上しました。#57252- 削除済みパーティションに対する Compaction タスクを中止するようにしました。#56943
ALTER TABLE失敗時のエラー内容を改善しました。#57054array_agg()関数の不要な Reverse 処理を削除し、速度を向上しました。#56958- 主キー型テーブルでレプリカのチェックサム検証を追加しました。#56519
FILES関数で出力される機密情報をマスクしました。#56684- マテリアライズドビュー関連のログノイズを軽減しました。#56672
- Iceberg のバージョンを 1.7.1 にアップグレードしました。#55271
バグ修正
INSERT INTO FILESが CSV 区切り記号の変換をサポートしていませんでした。#57126- Iceberg REST Catalog に関するいくつかの問題を修正しました。#55416
- ビューに基づいたマテリアライズドビューの書き換え時に述語が消失していました。#57153
- Paimon Catalog で変更されたテーブルの読み取りに失敗する問題。#56796
- Paimon Catalog におけるタイムゾーン変換の問題。#56879
SHOW MATERIALIZED VIEWSにdefault_catalogの情報が表示されませんでした。#56362- Trino 構文モードで、'T' を含む時間文字列が受け入れられませんでした。(解決策:
parse_datetimeをstr_to_jodatimeに変更。)#56565 first_value関数の結果が誤っていました。#56467concat_ws関数の結果が誤っていました。#56384
動作の変更
- FE の Profile インターフェースに認証を追加しました。#56914
- セッション変数
big_query_profile_thresholdのデフォルト値を0から30に変更しました。#56520
3.3.11
リリース日: 2025年3月7日
新機能
- ウィンドウ関数が
max_byとmin_byをサポートしました。 #54961
改善点
Files関数を使用してデータをエクスポートする際、Parquet ファイルへの JSON データ型のエクスポートをサポートしました。 #56406- 共有データモードのクラスタ環境で、クラウドネイティブテーブルのデータキャッシュのウォームアップ性能を向上しました。 #56190
- Trino の構文に
AT TIME ZONE式およびfrom_iso8601_timestamp関数のサポートを追加しました。 #56311 #55573 - 共有データモードのクラスタ環境において、主キー(Primary Key)テーブルの Partial Update が Condition Update をサポートしました。 #56132
- すべての種類の SQL ステートメントに対する統計情報の収集をサポートしました。 #56257
SHOW PROC '/transaction'ステートメントで、返される最大行数を設定できるようになりました。 #55933- Oracle タイプの JDBC Catalog テーブルに対する非同期マテリアライズドビューの作成をサポートしました。 #55372
- BE の WebUI の MemTracker において、25 行ごとのページネーションをサポートしました。 #56206
- テーブル関数における複雑な型のサブフィールドのプッシュダウンをサポートしました。 #55425
- MariaDB クライアントのための LDAP ログインをサポートしました。 #55720
- Paimon バージョンを 1.0.1 にアップグレードしました。 #54796 #55760
- クエリ実行中の不要な
unnest計算を排除し、オーバーヘッドを削減しました。 #55431 - 共有データモードのソースクラスタに対する Compaction の有効化を、クロスクラスタ同期中にサポートしました。 #54787
- DECIMAL 除算のような高コストの操作を topN 計算で前倒しし、オーバーヘッドを削減しました。 #55417
- ARM アーキテクチャでのパフォーマンスを最適化しました。 #55072 #55510
- Hive テーブルベースのマテリアライズドビューにおいて、ベーステーブルが削除され再作成された場合、StarRocks は更新されたパーティションのみをチェックし、リフレッシュします。 #45118
- DELETE 操作がパーティションプルーニングをサポートしました。 #55400
- 内部テーブルの統計収集の優先順位戦略を最適化し、テーブルが多すぎる場合の効率を向上させました。 #55446
- データロードが複数のパーティションを含む場合、StarRocks はトランザクションログをマージしてロードパフォーマンスを向上させます。 #55143
- SQL 翻訳のエラーメッセージを最適化しました。 #55327
- 並列マージ動作を制御するためのセッション変数
parallel_merge_late_materialization_modeを追加しました。 #55082 - 生成列のエラーメッセージを最適化しました。 #54949
SHOW MATERIALIZED VIEWSのパフォーマンスを最適化しました。 #54374
バグ修正
以下の問題を修正しました:
- FE において、定数 TIME データ型を DATETIME にキャストできない問題を修正しました。 #55804
- Stream Load トランザクションインターフェースが
starrocks_fe_table_load_rowsおよびstarrocks_fe_table_load_bytes指標をサポートしていなかった問題を修正しました。 #44991 - 自動統計情報収集の方式を変更しても適用されない問題を修正しました。 #56173
- マテリアライズドビューの状態が異常な場合に、
SHOW MATERIALIZED VIEWSが正しく動作しない問題を修正しました。 #55995 - テキストベースのマテリアライズドビューのリライトが異なるデータベース間で適用されない問題を修正しました。 #56001
- JDBC Catalog のメタデータ互換性に関する問題を修正しました。 #55993
- JDBC Catalog における JSON 型データの処理に関する問題を修正しました。 #56008
- スキーマ変更(Schema Change)時に Sort Key の設定が誤っていた問題を修正しました。 #55902
- Broker Load における機密情報の漏洩問題を修正しました。 #55358
- CTE 内で LIMIT を述語の前にプッシュダウンすることによって引き起こされるエラー。 #55768
- Stream Load におけるテーブルスキーマ変更によって引き起こされるエラー。 #55773
- DELETE 文の実行計画に SELECT を含むことによる権限の問題。 #55695
- CN をシャットダウンする際に compaction タスクを中止しないことによって引き起こされる問題。 #55503
- Follower FE ノードが更新されたロード統計を取得できない。 #55758
- スピルディレクトリの容量統計が正しくない。 #55703
- リストパーティションを持つベーステーブルに対する十分なパーティションチェックがないため、マテリアライズドビューの作成に失敗する。 #55673
- ALTER TABLE におけるメタデータロックの欠如によって引き起こされる問題。 #55605
- 制約によって引き起こされる
SHOW CREATE TABLEのエラー。 #55592 - Nestloop Join における大きな ARRAY による OOM。 #55603
- DROP PARTITION におけるロックの問題。 #55549
- 文字列型をサポートしないことによる min/max ウィンドウ関数の問題。 #55537
- パーサーのパフォーマンスが低下する。 #54830
- 部分更新中の列名の大文字小文字の区別の問題。 #55442
- Stream Load が "Alive" 状態が false のノードでスケジュールされるとインポートに失敗する。 #55371
- ORDER BY を含むマテリアライズドビューでの出力列の順序が正しくない。 #55355
- ディスク障害による BE のクラッシュ。 #55042
- Query Cache によって引き起こされるクエリ結果の誤り。 #55287
- Parquet Writer がタイムゾーンを持つ TIMESTAMP 型を書き込む際にタイムゾーンを変換できない。 #55194
- ALTER ジョブのタイムアウトによるロードタスクのハング。 #55207
- 入力がミリ秒単位の場合の
date_format関数によって引き起こされるエラー。 #54854 - Partition Key が DATE 型であることによって引き起こされるマテリアライズドビューの書き換え失敗。 #54804
動作の変更
- FE の
query_detailインターフェースに認証プロセスを追加しました。 #55919 - Iceberg の UUID 型が BINARY にマッピングされるようになりました。 #54978
- 統計を再収集する必要があるかどうかを判断するために、パーティションの可視時間の代わりに変更された行数を使用します。 #55373
3.3.10
リリース日: 2025年2月21日
このバージョンは、共有データクラスタにおけるメタデータ損失の問題によりオフラインになりました。
-
問題:共有データクラスタ内のリーダー FE ノードのシフト中に、まだ Publish されていないコミット済みコンパクショントランザクションがある場合、シフト後にメタデータ損失が発生することがある。
-
影響範囲:この問題は共有データクラスタにのみ影響します。共有なしクラスタは影響を受けません。
-
一時的な回避策:Publish タスクがエラーで返された場合、
SHOW PROC 'compactions'を実行して、空のFinishTimeを持つ 2 つのコンパクショントランザクションを持つパーティションがあるかどうかを確認できます。ALTER TABLE DROP PARTITION FORCEを実行してパーティションを削除すると、Publish タスクがハングアップするのを防ぐことができます。
3.3.9
リリース日: 2025年1月12日
新機能
- Trino SQL を StarRocks SQL に変換することをサポートしました。 #54185
改善点
bdbje_reset_election_groupで始まる FE ノード名を修正し、明確さを向上させました。 #54399- ARM アーキテクチャでの
IF関数のベクトル化を実装しました。 #53093 ALTER SYSTEM CREATE IMAGEが StarManager のイメージ作成をサポートしました。 #54370- 共有データクラスタ内の主キーテーブルのクラウドネイティブインデックスの削除をサポートしました。 #53971
FORCEキーワードが指定された場合、マテリアライズドビューのリフレッシュを強制しました。 #52081CACHE SELECTにヒントを指定することをサポートしました。 #54697FILES()関数を使用して圧縮された CSV ファイルをロードすることをサポートしました。サポートされる圧縮形式には、gzip、bz2、lz4、deflate、zstd が含まれます。 #54626UPDATE文で同じ列に複数の値を割り当てることをサポートしました。 #54534
バグ修正
以下の問題を修正しました:
- JDBC カタログに基づいて構築されたマテリアライズドビューのリフレッシュ時に予期しないエラーが発生する。 #54487
- Delta Lake テーブルが自身とジョインする際の結果の不安定性。 #54473
- HDFS にデータをバックアップする際のアップロード再試行の失敗。 #53679
- aarch64 アーキテクチャでの BFD 初期化エラー。 #54372
- BE ログに記録された機密情報。 #54677
- Compaction 関連のメトリクスにおけるエラー。 #54678
- ネストされた
TIME型を持つテーブルの作成による BE のクラッシュ。 #54601 - サブクエリ TOP-N を持つ
LIMITクエリのクエリプランエラー。 #54507
ダウングレードノート
- クラスタは v3.3.9 から v3.2.11 以降にのみダウングレードできます。
3.3.8
リリース日: 2025年1月3日
改善点
- クラスタの状態を判断するためのクラスタアイドル API を追加しました。 #53850
- JSON メトリクスにノード情報とヒストグラムメトリクスを含めました。 #53735
- 共有データクラスタ内の主キーテーブルの MemTable を最適化しました。 #54178
- 共有データクラスタ内の主キーテーブルのメモリ使用量と統計を最適化しました。 #54358
- フルテーブルまたは大規模なパーティションスキャンを必要とするクエリのために、ノードごとにスキャンされるパーティションの数に制限を設け、個々の BE または CN ノードへのスキャン圧力を軽減することでシステムの安定性を向上させました。 #53747
- Paimon テーブルの統計収集をサポートしました。 #52858
- 共有データクラスタのための S3 クライアントリクエストタイムアウトの設定をサポートしました。 #54211
バグ修正
以下の問題を修正しました:
- 主キーテーブルの DelVec の不整合によって引き起こされる BE のクラッシュ。 #53460
- 共有データクラスタ内の主キーテーブルのロック解除の問題。 #53878
- 関数にネストされた UDF のエラーがクエリ失敗時に返されない。 #44297
- トランザクションが元のレプリカに依存しているため、Decommission フェーズでブロックされる。 #49349
- Delta Lake テーブルに対するクエリがファイル取得にファイル名ではなく相対パスを使用する。 #53949
- Delta Lake Shallow Clone テーブルに対するクエリでエラーが返される。 #54044
- JNI を使用して Paimon を読み取る際の大文字小文字の区別の問題。 #54041
- Hive で作成された Hive テーブルに対する
INSERT OVERWRITE操作でエラーが返される。 #53792 SHOW TABLE STATUSコマンドがビュー権限を検証しない。 #53811- FE メトリクスが欠落している。 #53058
INSERTタスクでのメモリリーク。 #53809- レプリケーションタスクでの書き込みロックの欠如による並行性の問題。 #54061
statisticsデータベース内のテーブルのpartition_ttlが効果を発揮しない。 #54398- Query Cache 関連の問題:
- マテリアライズドビューの Union Rewrite の問題。 #54293
- 主キーテーブルの部分更新における文字列更新のパディングの欠如。 #54182
- 低基数最適化が有効な場合の
max(count(distinct))の実行計画の誤り。 #53403 - マテリアライズドビューの
excluded_refresh_tablesパラメータの変更に関する問題。 #53394
動作の変更
- 共有データクラスタ内の主キーテーブルの
persistent_index_typeのデフォルト値をCLOUD_NATIVEに変更しました。つまり、デフォルトで永続性インデックスが有効になっています。 #52209
3.3.7
リリース日: 2024年11月29日
新機能
- 新しいマテリアライズドビューのパラメータ
excluded_refresh_tablesを追加し、リフレッシュが必要なテーブルを除外します。 #50926
改善点
unnest(bitmap_to_array)をunnest_bitmapに書き換え、パフォーマンスを向上させました。 #52870- Txn ログの書き込みと削除操作を削減しました。 #42542
バグ修正
以下の問題を修正しました:
- 外部テーブルへの Power BI の接続に失敗する。 #52977
- ログにおける誤解を招く FE Thrift RPC 失敗メッセージ。 #52706
- ルーチンロードタスクが期限切れのトランザクションのためにキャンセルされる(現在はデータベースまたはテーブルが存在しない場合にのみタスクがキャンセルされます)。 #50334
- HTTP 1.0 を使用して送信された場合の Stream Load の失敗。 #53010 #53008
- パーティション ID の整数オーバーフロー。 #52965
- Hive Text Reader が最後の空の要素を認識できない。 #52990
- Join 条件での
array_mapによって引き起こされる問題。 #52911 - 高並行性シナリオでのメタデータキャッシュの問題。 #52968
- ベーステーブルからパーティションが削除されたときに、マテリアライズドビュー全体がリフレッシュされる。 #52740
3.3.6
リリース日: 2024年11月18日
改善点
- 主キーテーブルの内部修復ロジックを最適化しました。 #52707
- 統計のヒストグラムの内部実装を最適化しました。 #52400
- FE 設定項目
sys_log_warn_modulesを介してログレベルを調整し、Hudi Catalog のログを削減することをサポートしました。 #52709 yearweek関数での定数畳み込みをサポートしました。 #52714- ラムダ関数のプッシュダウンを回避しました。 #52655
- クエリエラーメトリクスを内部エラー率、解析エラー率、タイムアウト率の3つに分割しました。 #52646
array_map内で定数式が共通式として抽出されるのを回避しました。 #52541- マテリアライズドビューのテキストベースの書き換えを最適化しました。 #52498
バグ修正
以下の問題を修正しました:
- 共有データクラスタ内のクラウドネイティブテーブルの
SHOW CREATE TABLEにおけるunique_constraintsおよびforeign_constraintsパラメータが不完全である。 #52804 enable_mv_automatic_active_checkがfalseに設定されている場合でも、一部のマテリアライズドビューがアクティブ化される。 #52799- 古いメモリフラッシュ後にメモリ使用量が減少しない。 #52613
- Hudi ファイルシステムビューによるリソースリーク。 #52738
- 主キーテーブルでの同時発行および更新操作が問題を引き起こす可能性がある。 #52687
- クライアントでのクエリ終了の失敗。 #52185
- 複数列のリストパーティションがプッシュダウンできない。 #51036
- ORC ファイルに
hasnullプロパティがないために誤った結果が返される。 #52555 - テーブル作成時に ORDER BY で大文字の列名を使用することによって引き起こされる問題。 #52513
ALTER TABLE PARTITION (*) SET ("storage_cooldown_ttl" = "xxx")を実行した後にエラーが返される。 #52482
動作の変更
-
以前のバージョンでは、
_statistics_データベース内のビューに対して十分なレプリカがない場合、スケールイン操作が失敗していました。v3.3.6 以降、ノードが 3 以上にスケールインされる場合、ビューのレプリカは 3 に設定され、スケールイン後にノードが 1 つしかない場合、ビューのレプリカは 1 に設定され、スケールインが成功するようになりました。 #51799影響を受けるビューには以下が含まれます:
column_statisticshistogram_statisticstable_statistic_v1external_column_statisticsexternal_histogram_statisticspipe_file_listloads_historytask_run_history
-
新しい主キーテーブルでは、
allow_system_reserved_namesがtrueに設定されていても、__opを列名として使用することはできません。既存のテーブルには影響しません。 #52621 -
式でパーティション化されたテーブルのパーティション名を変更することはできません。 #52557
-
FE パラメータ
heartbeat_mgr_blocking_queue_sizeおよびprofile_process_threads_numを非推奨にしました。 #52236 -
共有データクラスタ内の主キーテーブルに対して、オブジェクトストレージ上での永続性インデックスをデフォルトで有効にしました。 #52209
-
ランダムバケット法を使用するテーブルのバケット法を手動で変更することを許可しません。 #52120
-
バックアップとリストアに関連するパラメータの変更: #52111
make_snapshot_worker_countが動的設定をサポート。release_snapshot_worker_countが動的設定をサポート。upload_worker_countが動的設定をサポート。デフォルト値は1から BE が存在するマシンの CPU コア数に変更されました。download_worker_countが動的設定をサポート。デフォルト値は1から BE が存在するマシンの CPU コア数に変更されました。
-
SELECT @@autocommitの戻り値の型が BOOLEAN から BIGINT に変更されました。 #51946 -
パーティションごとの最大バケット数を制御する新しい FE 設定項目
max_bucket_number_per_partitionを追加しました。 #47852 -
主キーテーブルのメモリ使用量チェックをデフォルトで有効にしました。 #52393
-
Compaction タスクが時間内に完了できない場合にロード速度を低下させるようにロード戦略を最適化しました。 #52269
3.3.5
リリース日: 2024年10月23日
新機能
- DATETIME 型でミリ秒およびマイクロ秒の精度をサポートしました。
- リソースグループが CPU のハードアイソレーションをサポートしました。
改善点
- Flat JSON のパフォーマンスと抽出戦略を最適化しました。 #50696
- 次の ARRAY 関数のメモリ使用量を削減しました:
Null値をNot Null属性を持つリストパーティションキーにロードする際のエラーメッセージを最適化しました。 #51086- Files() 関数で認証が失敗した場合のエラーメッセージを最適化しました。 #51697
INSERT OVERWRITEの内部統計を最適化しました。 #50417- 共有データクラスタが永続性インデックスファイルのガーベジコレクション (GC) をサポートしました。 #51684
- FE のメモリ不足 (OOM) 問題の診断を支援するために FE ログを追加しました。 #51528
- FE のメタデータディレクトリからメタデータを復元することをサポートしました。 #51040
バグ修正
以下の問題を修正しました:
- PIPE 例外によって引き起こされるデッドロックの問題。 #50841
- 動的パーティション作成の失敗が後続のパーティション作成をブロックする。 #51440
UNION ALLクエリでORDER BYを使用するとエラーが返される。 #51647- UPDATE 文内の CTE がヒントを無視する。 #51458
- システム定義ビュー
statistics.loads_historyのload_finish_timeフィールドがロードタスク完了後に期待通りに更新されない。 #51174 - UDTF がマルチバイト UTF-8 文字を誤って処理する。 #51232
動作の変更
EXPLAIN文の戻り内容を変更しました。変更後、戻り内容はEXPLAIN COSTと同等です。EXPLAINによって返される詳細レベルを動的 FE パラメータquery_detail_explain_levelを使用して設定できます。デフォルト値はCOSTSで、他の有効な値はNORMALとVERBOSEです。 #51439
3.3.4
リリース日: 2024年9月30日
新機能
- リストパーティションテーブルで非同期マテリアライズドビューの作成をサポートしました。 #46680 #46808
- リストパーティションテーブルが Nullable パーティション列をサポートしました。 #47797
DESC FILES()を使用して外部ファイルのスキーマ情報を表示することをサポートしました。 #50527SHOW PROC '/replications'を介してレプリケーションタスクメトリクスを表示することをサポートしました。 #50483
改善点
- 共有データクラスタでの
TRUNCATE TABLEのデータリサイクルパフォーマンスを最適化しました。 #49975 - CTE オペレーターの中間結果のスピルをサポートしました。 #47982
- 複雑なクエリによる OOM 問題を軽減するために適応的段階的スケジューリングをサポートしました。 #47868
- 特定のシナリオで STRING 型の日付または日時列の述語プッシュダウンをサポートしました。 #50643
- 定数の半構造化データに対する COUNT DISTINCT 計算をサポートしました。 #48273
- 共有データクラスタ内のテーブルのタブレットバランスを有効にするための新しい FE パラメータ
lake_enable_balance_tablets_between_workersを追加しました。 #50843 - 生成列のクエリ書き換え機能を強化しました。 #50398
- 部分更新が
CURRENT_TIMESTAMPのデフォルト値で列を自動的に埋めることをサポートしました。 #50287
バグ修正
以下の問題を修正しました:
- タブレットクローン中に FE 側で無限ループが発生し、「バージョンがコンパクトされました」というエラーが発生する。 #50561
- ISO 形式の DATETIME 型がプッシュダウンできない。 #49358
- 同時シナリオでタブレットが削除された後もデータが存在する。 #50382
yearweek関数によって返される結果が正しくない。 #51065- CTE クエリ中の ARRAY 内の低基数辞書の問題。 #51148
- FE 再起動後、マテリアライズドビューのパーティション TTL 関連のパラメータが失われる。 #51028
- アップグレード後に
CURRENT_TIMESTAMPで定義された列のデータが失われる。 #50911 array_distinct関数によるスタックオーバーフロー。 #51017- デフォルトのフィールド長の変更によるアップグレード後のマテリアライズドビューのアクティベーション失敗。
enable_active_materialized_view_schema_strict_checkをfalseに設定することでこの問題を回避できます。 #50869 - リソースグループプロパティ
cpu_weightが負の値に設定できる。 #51005 - ディスク容量情報の統計が正しくない。 #50669
replace関数での定数畳み込み。 #50828
動作の変更
- 外部カタログベースのマテリアライズドビューのデフォルトレプリカ数を
1から FE パラメータdefault_replication_numの値(デフォルト値:3)に変更しました。 #50931
3.3.3
リリース日: 2024年9月5日
新機能
- ユーザーレベルの変数をサポートしました。 #48477
- Delta Lake Catalog メタデータキャッシュを手動および定期的なリフレッシュ戦略でサポートしました。 #46526 #49069
- Parquet ファイルから JSON 型をロードすることをサポートしました。 #49385
- JDBC SQL Server Catalog が LIMIT を持つクエリをサポートしました。 #48248
- 共有データクラスタが INSERT INTO を使用した部分更新をサポートしました。 #49336
改善点
- ロード時のエラーメッセージを最適化しました:
- データロード中のパーティションメカニズムを最適化し、初期段階でのメモリ使用量を削減しました。 #47976
- 共有なしクラスタのメモリ使用量を最適化し、メタデータメモリ使用量を制限して、タブレットやセグメントファイルが多すぎる場合の問題を回避しました。 #49170
max(partition_column)を使用したクエリのパフォーマンスを最適化しました。 #49391- パーティション列が生成列(テーブル内の内部列に基づいて計算される列)であり、クエリ述語フィルター条件が内部列を含む場合、クエリパフォーマンスを最適化するためにパーティションプルーニングを使用します。 #48692
- Files() および PIPE の認証情報のマスキングをサポートしました。 #47629
- すべての FE ノードで実行中のクエリを表示するための新しいステートメント
show proc '/global_current_queries'を導入しました。show proc '/current_queries'は現在の FE ノードで実行中のクエリのみを表示します。 #49826
バグ修正
以下の問題を修正しました:
- StarRocks 外部テーブルを介してデータを宛先クラスタにエクスポートする際に、ソースクラスタの BE ノードが誤って現在のクラスタに追加される。 #49323
- TINYINT データ型が aarch64 マシンにデプロイされたクラスタから
select * from filesを使用して ORC ファイルを読み取る際に NULL を返す。 #49517 - JSON ファイルに大きな整数型が含まれている場合、Stream Load が失敗する。 #49927
- Files() を使用して CSV ファイルをロードする際に、不可視文字の不適切な処理によって誤ったスキーマが返される。 #49718
- 複数のパーティション列を持つテーブルでの一時パーティション置換の問題。 #49764
動作の変更
- クラウドオブジェクトストレージを使用したバックアップシナリオにより適応するために、新しいパラメータ
object_storage_rename_file_request_timeout_msを導入しました。このパラメータはバックアップタイムアウトとして使用され、デフォルト値は 30 秒です。 #49706 to_json、CAST(AS MAP)、およびSTRUCT AS JSONは、変換が失敗した場合にデフォルトで NULL を返します。システム変数sql_modeをALLOW_THROW_EXCEPTIONに設定することで、エラーを許可できます。 #50157
3.3.2
リリース日: 2024年8月8日
新機能
-
StarRocks 内部テーブル内の列の名前変更をサポートしました。 #47851
-
Iceberg ビューの読み取りをサポートしました。現在、StarRocks を通じて作成された Iceberg ビューのみがサポートされています。 #46273
-
[実験的] STRUCT 型データのフィールドの追加および削除をサポートしました。 #46452
-
テーブル作成時に ZSTD 圧縮形式の圧縮レベルを指定することをサポートしました。 #46839
-
テーブルの境界を制限するための以下の FE 動的パラメータを追加しました。 #47896
含まれるもの:
auto_partition_max_creation_number_per_loadmax_partition_number_per_tablemax_bucket_number_per_partitionmax_column_number_per_table
-
テーブルデータの分布のランタイム最適化をサポートし、最適化タスクがテーブル上の DML 操作と競合しないようにします。 #43747
-
Data Cache のグローバルヒット率のための観測インターフェースを追加しました。 #48450
-
SQL 関数 array_repeat を追加しました。 #47862
改善点
-
Stream Load が行および列の区切り文字として
\tおよび\nを使用することをサポートしました。ユーザーはそれらを 16 進 ASCII コードに変換する必要はありません。 #47302 -
多くのインポートタスクがある場合のレイテンシーの増加の問題に対処するために、書き込みオペレーターの非同期統計収集方法を最適化しました。 #48162
-
ロード中のリソースハードリミットを制御するための以下の BE 動的パラメータを追加し、多くのタブレットを書き込む際の BE の安定性への影響を軽減しました。 #48495
含まれるもの:
load_process_max_memory_hard_limit_ratioenable_new_load_on_memory_limit_exceeded
-
Compaction エラーを防ぐために、同じテーブル内の列 ID の一貫性チェックを追加しました。 #48498
-
FE 再起動によるメタデータ損失を防ぐために、PIPE メタデータの永続化をサポートしました。 #48852
バグ修正
以下の問題を修正しました:
- FE Follower から辞書を作成する際にプロセスが終了しない。 #47802
- 共有データクラスタと共有なしクラスタで
SHOW PARTITIONSコマンドによって返される情報が一致しない。 #48647 - JSON フィールドから
ARRAY<BOOLEAN>列にデータをロードする際の型処理の誤りによるデータエラー。 #48387 information_schema.task_runsのquery_id列がクエリできない。 #48876- バックアップ中に、同じ操作に対して複数のリクエストが異なる Brokers に送信され、リクエストエラーが発生する。 #48856
- v3.1.11 または v3.2.4 より前のバージョンにダウングレードすると、主キーテーブルのインデックス解凍が失敗し、クエリエラーが発生する。 #48659
ダウングレードノート
列の名前変更機能を使用した場合、クラスタを以前のバージョンにダウングレードする前に、列を元の名前に戻す必要があります。アップグレード後にクラスタの監査ログを確認し、ALTER TABLE RENAME COLUMN 操作と列の元の名前を特定できます。
3.3.1 (取り下げ)
リリース日: 2024年7月18日
このバージョンは、主キーテーブルでの互換性の問題のためにオフラインにされました。
-
問題: クラスタが v3.1.11 および v3.2.4 より前のバージョンから v3.3.1 にアップグレードされた後、インデックス解凍の失敗により、主キーテーブルに対するクエリが失敗します。
-
影響範囲: この問題は主キーテーブルに対するクエリにのみ影響します。
-
一時的な回避策: この問題を回避するために、クラスタを v3.3.0 またはそれ以前にダウングレードできます。この問題は v3.3.2 で修正されます。
新機能
- [プレビュー] 一時テーブルをサポートしました。
- [プレビュー] JDBC Catalog が Oracle および SQL Server をサポートしました。
- [プレビュー] Unified Catalog が Kudu をサポートしました。
- 主キーテーブルでの INSERT INTO が列リストを指定することで部分更新をサポートしました。
- ユーザー定義変数が ARRAY 型をサポートしました。 #42631
- Stream Load が JSON 型データを変換し、STRUCT/MAP/ARRAY 型の列にロードすることをサポートしました。 #45406
- グローバル辞書キャッシュをサポートしました。
- パーティションのバッチ削除をサポートしました。 #44744
- Apache Ranger での列レベルの権限管理をサポートしました。(マテリアライズドビューおよびビューの列レベルの権限はテーブルオブジェクトの下で設定する必要があります。) #47702
- 共有データクラスタ内の主キーテーブルでの列モードでの部分更新をサポートしました。 #46516
- Stream Load が伝送中のデータ圧縮をサポートし、ネットワーク帯域幅のオーバーヘッドを削減します。ユーザーは
compressionおよびContent-Encodingパラメータを使用して異なる圧縮アルゴリズムを指定できます。サポートされる圧縮アルゴリズムには GZIP、BZIP2、LZ4_FRAME、および ZSTD が含まれます。 #43732
改善点
- IdChain ハッシュコードの実装を最適化し、FE の再起動時間を短縮しました。 #47599
- FILES() 関数の
csv.trim_spaceパラメータのエラーメッセージを改善し、不正な文字をチェックし、合理的なプロンプトを提供しました。 #44740 - Stream Load が行および列の区切り文字として
\tおよび\nを使用することをサポートしました。ユーザーはそれらを 16 進 ASCII コードに変換する必要はありません。 #47302
バグ修正
以下の問題を修正しました:
- スキーマ変更プロセス中にタブレットの移動によって引き起こされるスキーマ変更の失敗。 #45517
- クロスクラスタデータ移行ツールがフィールドのデフォルト値に
\、\rなどの制御文字が含まれているため、ターゲットクラスタでテーブルを作成できない。 #47861 - BE の再起動後の永続的な bRPC 失敗。 #40229
user_adminロールが ALTER USER コマンドを使用して root パスワードを変更できる。 #47801- 主キーインデックスの書き込み失敗がデータ書き込みエラーを引き起こす。 #48045
動作の変更
- Hive および Iceberg にデータをシンクする際に、中間結果のスピルがデフォルトで有効になっています。 #47118
- BE 設定項目
max_cumulative_compaction_num_singleton_deltasのデフォルト値を500に変更しました。 #47621 - ユーザーがパーティションテーブルを作成する際にバケット数を指定しない場合、パーティション数が 5 を超えると、バケット数の設定ルールが
max(2*BE または CN 数, 最大の履歴パーティションデータ量に基づいて計算されたバケット数)に変更されます。以前のルールは最大の履歴パーティションデータ量に基づいてバケット数を計算するものでした。 #47949 - 主キーテーブルの INSERT INTO 文で列リストを指定する場合、以前のバージョンではフルアップサートが行われていましたが、部分更新が行われるようになりました。
ダウングレードノート
v3.3.1 以降から v3.2 にクラスタをダウングレードするには、次の手順に従う必要があります:
-
クラスタで新しい一時テーブルの作成を許可しないようにします:
ADMIN SET FRONTEND CONFIG("enable_experimental_temporary_table"="false"); -
クラスタに一時テーブルがあるかどうかを確認します:
SELECT * FROM information_schema.temp_tables; -
システムに一時テーブルがある場合、次のコマンドを使用してそれらをクリーンアップします(システムレベルの操作権限が必要です):
CLEAN TEMPORARY TABLE ON SESSION 'session';
3.3.0
リリース日: 2024年6月21日
新機能と改善点
共有データクラスタ
-
共有データクラスタでのスキーマ進化のパフォーマンスを最適化し、DDL 変更の時間消費をサブ秒レベルに削減しました。詳細については、スキーマ進化 を参照してください。
-
共有なしクラスタから共有データクラスタへのデータ移行の要件を満たすために、コミュニティは公式に StarRocks データ移行ツール をリリースしました。これは、共有なしクラスタ間のデータ同期および災害復旧にも使用できます。
-
[プレビュー] AWS Express One Zone Storage をストレージボリュームとして使用でき、読み書きパフォーマンスを大幅に向上させます。詳細については、CREATE STORAGE VOLUME を参照してください。
-
共有データクラスタでのガーベジコレクション (GC) メカニズムを最適化しました。オブジェクトストレージ内のデータに対する手動コンパクションをサポートします。詳細については、手動コンパクション を参照してください。
-
共有データクラスタ内の主キーテーブルの Compaction トランザクションの公開実行を最適化し、主キーインデックスの読み取りを回避することで I/O およびメモリオーバーヘッドを削減しました。
-
タブレット内での内部並列スキャンをサポートします。これにより、テーブル内のバケットが非常に少ないシナリオでのクエリパフォーマンスが最適化され、クエリの並列性がタブレットの数に制限されます。ユーザーは次のシステム変数を設定することで並列スキャン機能を有効にできます:
SET GLOBAL enable_lake_tablet_internal_parallel = true;
SET GLOBAL tablet_internal_parallel_mode = "force_split";
データレイク分析
- Data Cache の強化
- ホットスポットデータをデータレイクから取得するための Data Cache Warmup コマンド CACHE SELECT を追加し、クエリを高速化し、リソース使用量を最小化します。CACHE SELECT は SUBMIT TASK と組み合わせて定期的なキャッシュウォームアップを実現できます。この機能は、外部カタログ内のテーブルと共有データクラスタ内の内部テーブルの両方をサポートします。
- Data Cache の観測性 を強化するためにメトリクスと監視方法を追加しました。
- Parquet リーダーパフォーマンスの強化
- ページインデックスを最適化し、データスキャンサイズを大幅に削減しました。
- ページインデックスが使用される場合に不要なページを読み取る頻度を減らしました。
- データ行が空であるかどうかを判断する計算を SIMD を使用して高速化しました。
- ORC リーダーパフォーマンスの強化
- スキーマ変更後に ORC ファイルを読み取るために述語プッシュダウンに列 ID を使用します。
- ORC 小さなストライプの処理ロジックを最適化しました。
- Iceberg テーブル形式の強化
- Iceberg Catalog のメタデータアクセスパフォーマンスを大幅に向上させ、並列スキャンロジックをリファクタリングしました。大量のメタデータファイルを処理する際のネイティブ Iceberg SDK の単一スレッド I/O ボトルネックを解決しました。その結果、メタデータボトルネックを持つクエリは 10 倍以上のパフォーマンス向上を達成しました。
- Parquet 形式の Iceberg v2 テーブルに対するクエリが equality deletes をサポートします。
- [実験的] Paimon Catalog の強化
- Paimon 外部テーブルに基づいて作成されたマテリアライズドビューが自動クエリ書き換えをサポートします。
- Paimon Catalog に対するクエリのスキャン範囲スケジューリングを最適化し、I/O 並行性を向上させました。
- Paimon システムテーブルのクエリをサポートします。
- Paimon 外部テーブルが DELETE Vectors をサポートし、更新および削除シナリオでのクエリ効率を向上させます。
- 外部テーブル統計の収集の強化
- ANALYZE TABLE を使用して外部テーブルのヒストグラムを収集でき、データスキューを防ぎます。
- STRUCT サブフィールドの統計収集をサポートします。
- テーブルシンクの強化
- Sink オペレーターのパフォーマンスが Trino と比較して倍増しました。
- Hive カタログ および HDFS や AWS S3 などのクラウドストレージでの Textfile および ORC 形式のテーブルにデータをシンクできます。
- [プレビュー] Alibaba Cloud MaxCompute カタログ をサポートし、MaxCompute からのデータをインジェストせずにクエリし、INSERT INTO を使用して MaxCompute からデータを直接変換およびロードできます。
- [実験的] ClickHouse Catalog をサポートします。
- [実験的] Kudu Catalog をサポートします。
パフォーマンス改善とクエリ最適化
- ARM 上でのパフォーマンスを最適化しました。
- ARM アーキテクチャ命令セットのパフォーマンスを大幅に最適化しました。AWS Graviton インスタンスでのパフォーマンステストでは、SSB 100G テストで ARM アーキテクチャが x86 アーキテクチャよりも 11% 高速であり、Clickbench テストで 39% 高速、TPC-H 100G テストで 13% 高速、TPC-DS 100G テストで 35% 高速でした。
- ディスクへのスピルが GA になりました。 複雑なクエリのメモリ使用量を最適化し、スピルスケジューリングを改善して、大規模なクエリが OOM なしで安定して実行できるようにしました。
- [プレビュー] 中間結果をオブジェクトストレージにスピルすることをサポートします。
- より多くのインデックスをサポートします。
- [プレビュー] 全文逆インデックス をサポートし、全文検索を加速します。
- [プレビュー] N-Gram ブルームフィルターインデックス をサポートし、
LIKEクエリやngram_searchおよびngram_search_case_insensitive関数の計算速度を向上させます。
- Bitmap 関数のパフォーマンスとメモリ使用量を改善しました。Hive Bitmap UDFs を使用して Bitmap データを Hive にエクスポートする機能を追加しました。
- [プレビュー] Flat JSON をサポートします。 この機能は、データロード中に JSON データを自動的に検出し、JSON データから共通フィールドを抽出して、これらのフィールドをカラム形式で保存します。これにより、JSON クエリパフォーマンスが向上し、STRUCT データのクエリに匹敵するようになります。
- [プレビュー] グローバル辞書を最適化しました。 辞書テーブルからのキーと値のペアのマッピングを BE メモリ内に保存する辞書オブジェクトを提供します。新しい
dictionary_get()関数を使用して、BE メモリ内の辞書オブジェクトを直接クエリし、辞書テーブルをクエリする速度をdict_mapping()関数を使用する場合と比較して加速します。さらに、辞書オブジェクトはディメンションテーブルとしても機能します。dictionary_get()を使用して辞書オブジェクトを直接クエリすることでディメンション値を取得でき、ディメンションテーブルでの JOIN 操作を行ってディメンション値を取得する従来の方法よりも高速なクエリ速度を実現します。 - [プレビュー] Colocate Group Execution をサポートします。Colocate テーブルでの Join および Agg オペレーターの実行におけるメモリ使用量を大幅に削減し、大規模なクエリをより安定して実行できるようにします。
- CodeGen のパフォーマンスを最適化しました。JIT がデフォルトで有効になっており、複雑な式計算で 5 倍のパフォーマンス向上を達成します。
- ベクトル化技術を使用して正規表現マッチングを実装し、
regexp_replace関数の CPU 消費を削減します。 - Broadcast Join を最適化し、右テーブルが空の場合に Broadcast Join 操作を事前に終了できるようにしました。
- データスキューのシナリオで Shuffle Join を最適化し、OOM を防ぎます。
- 集計クエリに
Limitが含まれる場合、複数のパイプラインスレッドがLimit条件を共有して計算リソースの消費を防ぎます。
ストレージ最適化とクラスタ管理
- レンジパーティション化の柔軟性を強化しました。 3 つの時間関数をパーティション列として使用できます。これらの関数は、パーティション列内のタイムスタンプまたは文字列を日付値に変換し、変換された日付値に基づいてデータをパーティション化します。
- FE メモリの観測性。 FE 内の各モジュールの詳細なメモリ使用量メトリクスを提供し、リソースをより適切に管理します。
- FE 内のメタデータロックを最適化しました。 FE 内のメタデータロックを集中管理するためのロックマネージャーを提供します。たとえば、メタデータロックの粒度をデータベースレベルからテーブルレベルに細分化し、ロードおよびクエリの並行性を向上させます。小規模データセットでの 100 の同時ロードジョブのシナリオでは、ロード時間を 35% 削減できます。
- BE にラベルを追加することをサポートします。 BE が配置されているラックやデータセンターなどの情報に基づいて BE にラベルを追加することをサポートします。これにより、ラックやデータセンター間でのデータ分布が均等になり、特定のラックでの停電やデータセンターでの障害が発生した場合の災害復旧が容易になります。
- ソートキーを最適化しました。 重複キーテーブル、集計テーブル、およびユニークキーテーブルはすべて、
ORDER BY句を使用してソートキーを指定することをサポートします。 - [実験的] 非文字列スカラー データのストレージ効率を最適化しました。 このタイプのデータは辞書エンコーディングをサポートし、ストレージスペースの使用量を 12% 削減します。
- 主キーテーブルのサイズ階層型コンパクションをサポートします。 コンパクション中の書き込み I/O およびメモリオーバーヘッドを削減します。この改善は、共有データクラスタと共有なしクラスタの両方でサポートされています。BE 設定項目
enable_pk_size_tiered_compaction_strategyを使用して、この機能を有効にするかどうかを制御できます(デフォルトで有効)。 - 主キーテーブルの永続性インデックスの読み取り I/O を最適化しました。 永続性インデックスをより小さな粒度(ページ)で読み取ることをサポートし、永続性インデックスのブルームフィルターを改善します。この改善は、共有データクラスタと共有なしクラスタの両方でサポートされています。
- IPv6 をサポートします。StarRocks は、IPv6 ネットワークでのデプロイをサポートします。
マテリアライズドビュー
- ビューに基づくクエリ書き換えをサポートします。 この機能が有効になっている場合、ビューに対するクエリは、そのビューに基づいて作成されたマテリアライズドビューに書き換えられます。詳細については、ビューに基づくマテリアライズドビューの書き換え を参照してください。
- テキストベースのクエリ書き換えをサポートします。 この機能が有効になっている場合、マテリアライズドビューと同じ抽象構文木 (AST) を持つクエリ(またはそのサブクエリ)は透過的に書き換えられます。詳細については、テキストベースのマテリアライズドビューの書き換え を参照してください。
- [プレビュー] マテリアライズドビューに直接対するクエリの透過的な書き換えモードを設定することをサポートします。
transparent_mv_rewrite_modeプロパティが有効になっている場合、StarRocks はクエリをマテリアライズドビューに自動的に書き換えます。リフレッシュされたマテリアライズドビューのパーティションからのデータを、リフレッシュされていないパーティションに対応する生データと自動的に UNION 操作を使用してマージします。このモードは、データの一貫性を維持しながら、リフレッシュ頻度を制御し、リフレッシュコストを削減することを目的としたモデリングシナリオに適しています。詳細については、CREATE MATERIALIZED VIEW を参照してください。 - マテリアライズドビューのクエリ書き換えのための集計プッシュダウンをサポートします:
enable_materialized_view_agg_pushdown_rewrite変数が有効になっている場合、ユーザーは Aggregation Rollup を使用して、マルチテーブルジョインシナリオを加速するために単一テーブルの非同期マテリアライズドビューを使用できます。集計関数はクエリ実行中にスキャンオペレーターにプッシュダウンされ、ジョインオペレーターが実行される前にマテリアライズドビューによって書き換えられ、クエリ効率が大幅に向上します。詳細については、集計プッシュダウン を参照してください。 - マテリアライズドビューの書き換えを制御する新しいプロパティをサポートします。 ユーザーは
enable_query_rewriteプロパティをfalseに設定して、特定のマテリアライズドビューに基づくクエリ書き換えを無効にし、クエリ書き換えのオーバーヘッドを削減できます。モデリング後に直接クエリのためにのみ使用され、クエリ書き換えのために使用されないマテリアライズドビューの場合、ユーザーはこのマテリアライズドビューのクエリ書き換えを無効にできます。詳細については、CREATE MATERIALIZED VIEW を参照してください。 - マテリアライズドビューの書き換えのコストを最適化しました。 候補マテリアライズドビューの数を指定することをサポートし、フィルタリングアルゴリズムを強化しました。クエリ書き換えフェーズでのオプティマイザーの時間消費を削減するために、マテリアライズドビュープランキャッシュを導入しました。詳細については、
cbo_materialized_view_rewrite_related_mvs_limitを参照してください。 - Iceberg カタログに基づいて作成されたマテリアライズドビューを最適化しました。 Iceberg カタログに基づくマテリアライズドビューは、パーティション更新によってトリガーされるインクリメンタルリフレッシュと、パーティション変換を使用した Iceberg テーブルのパーティション整合性をサポートします。詳細については、マテリアライズドビューによるデータレイククエリアクセラレーション を参照してください。
- マテリアライズドビューの観測性を強化しました。 マテリアライズドビューの監視と管理を改善し、システムの洞察を向上させました。詳細については、非同期マテリアライズドビューのメトリクス を参照してください。
- 大規模なマテリアライズドビューのリフレッシュ効率を改善しました。 グローバル FIFO スケジューリングをサポートし、ネストされたマテリアライズドビューのカスケードリフレッシュ戦略を最適化し、高頻度リフレッシュシナリオで発生するいくつかの問題を修正しました。
- 複数のファクトテーブルによってトリガーされるリフレッシュをサポートします。 複数のファクトテーブルに基づいて作成されたマテリアライズドビューは、ファクトテーブルのいずれかのデータが更新された場合にパーティションレベルのインクリメンタルリフレッシュをサポートし、データ管理の柔軟性を向上させます。詳細については、複数のベーステーブルとのパーティション整合性 を参照してください。
SQL 関数
- DATETIME フィールドがマイクロ秒精度をサポートします。新しい時間単位は関連する時間関数およびデータロード中にサポートされます。
- 次の関数を追加しました:
- 文字列関数: crc32, url_extract_host, ngram_search
- 配列関数: array_contains_seq
- 日付と時間関数: yearweek
- 数学関数: cbrt
エコシステムサポート
- [実験的] ClickHouse SQL Rewriter を提供し、ClickHouse の構文を StarRocks の構文に変換するための新しいツールです。
- StarRocks が提供する Flink コネクタ v1.2.9 は Flink CDC 3.0 フレームワークと統合されており、CDC データソースから StarRocks へのストリーミング ELT パイプラインを構築できます。このパイプラインは、ソースの全データベース、シャーディングテーブル、およびスキーマ変更を StarRocks に同期できます。詳細については、Flink CDC 3.0 を使用したデータの同期(スキーマ変更対応) を参照してください。
動作とパラメータの変更
テーブル作成とデータ分布
- ユーザーは CTAS を使用してコロケートテーブルを作成する際に Distribution Key を指定する必要があります。 #45537
- ユーザーが非パーティションテーブルを作成する際にバケット数を指定しない場合、システムがテーブルに設定する最小バケット数は
16(2*BE または CN 数に基づく)です。ユーザーが小さなテーブルを作成する際に小さなバケット数を設定したい場合は、明示的に設定する必要があります。 #47005
ロードとアンロード
__opは StarRocks によって特別な目的で予約されており、デフォルトでは__opで始まる名前の列を作成することは禁じられています。FE 設定allow_system_reserved_namesをtrueに設定することで、このような名前形式を許可できます。ただし、主キーテーブルでこのような列を作成すると、未定義の動作が発生する可能性があります。 #46239- Routine Load ジョブ中に、StarRocks がデータを消費できない時間が FE 設定
routine_load_unstable_threshold_second(デフォルト値は3600、つまり1時間)で指定されたしきい値を超えると、ジョブのステータスはUNSTABLEになりますが、ジョブは続行されます。 #36222 - FE 設定
enable_automatic_bucketのデフォルト値がfalseからtrueに変更されました。この項目がtrueに設定されている場合、システムは新しく作成されたテーブルに対して自動的にbucket_sizeを設定し、自動バケッティングを有効にします。ただし、v3.2 では、enable_automatic_bucketをtrueに設定しても効果はありません。代わりに、システムはbucket_sizeが指定された場合にのみ自動バケッティングを有効にします。これにより、ユーザーが v3.3 から v3.2 に StarRocks をダウングレードする際のリスクを防ぎます。
クエリと半構造化データ
- 単一のクエリがパイプラインフレームワーク内で実行される場合、メモリ制限は
exec_mem_limitではなくquery_mem_limitのみで制限されます。query_mem_limitの値が0の場合、制限はありません。 #34120 - JSON 内の NULL 値は、IS NULL および IS NOT NULL 演算子によって実行されるときに SQL NULL 値として扱われます。たとえば、
parse_json('{"a": null}') -> 'a' IS NULLは1を返し、parse_json('{"a": null}') -> 'a' IS NOT NULLは0を返します。 #42765 #42909 - CBO が DECIMAL 型から STRING 型にデータを変換する方法を制御するために、新しいセッション変数
cbo_decimal_cast_string_strictが追加されました。この変数がtrueに設定されている場合、v2.5.x 以降のバージョンで組み込まれたロジックが優先され、システムは厳密な変換を実行します(つまり、生成された文字列を切り捨て、スケール長に基づいて 0 を埋めます)。この変数がfalseに設定されている場合、v2.5.x より前のバージョンで組み込まれたロジックが優先され、システムはすべての有効な桁を処理して文字列を生成します。デフォルト値はtrueです。 #34208 cbo_eq_base_typeのデフォルト値がvarcharからdecimalに変更され、システムは DECIMAL 型のデータを文字列としてではなく数値として比較します。 #43443
その他
- StarRocks v3.3.0 以降は JDK 11 以上が必要です。
- マテリアライズドビューのプロパティ
partition_refresh_numのデフォルト値が-1から1に変更されました。パーティション化されたマテリアライズドビューをリフレッシュする必要がある場合、元の動作ではすべてのパーティションを単一のタスクでリフレッシュしていましたが、新しい動作では 1 つのパーティションを一度にインクリメンタルにリフレッシュします。この変更は、元の動作によって引き起こされる過剰なリソース消費を防ぐことを目的としています。デフォルトの動作は、FE 設定default_mv_partition_refresh_numberを使用して調整できます。 - 元々、データベース整合性チェッカーは GMT+8 タイムゾーンに基づいてスケジュールされていました。データベース整合性チェッカーは現在、ローカルタイムゾーンに基づいてスケジュールされています。 #45748
- データレイククエリを加速するために、デフォルトで Data Cache が有効になっています。ユーザーは
SET enable_scan_datacache = falseを実行して手動で無効にできます。 - 共有データクラスタを v3.3 から v3.2.8 およびそれ以前にダウングレードした後に Data Cache 内のキャッシュデータを再利用したい場合、starlet_cache ディレクトリ内の Blockfile のファイル名形式を
blockfile_{n}.{version}からblockfile_{n}に変更し、バージョン情報のサフィックスを削除する必要があります。詳細については、Data Cache 使用上の注意 を参照してください。v3.2.9 およびそれ以降のバージョンは v3.3 のファイル名形式と互換性があるため、ユーザーはこの操作を手動で行う必要はありません。 - FE パラメータ
sys_log_levelを動的に変更することをサポートします。 #45062 - Hive Catalog プロパティ
metastore_cache_refresh_interval_secのデフォルト値が7200(2 時間)から60(1 分)に変更されました。 #46681
バグ修正
以下の問題を修正しました:
- UNION ALL を使用して作成されたマテリアライズドビューにクエリが書き換えられると、クエリ結果が正しくありません。 #42949
- クエリ実行中に述語を持つクエリがマテリアライズドビューに書き換えられると、余分な列が読み取られます。 #45272
next_dayおよびprevious_day関数の結果が正しくありません。 #45343- レプリカの移動によるスキーマ変更の失敗。 #45384
- フルテキスト逆インデックスを持つテーブルを復元すると、BE がクラッシュします。 #45010
- Iceberg カタログを使用してデータをクエリすると、重複したデータ行が返されます。 #44753
- 低基数辞書の最適化が集計テーブルの
ARRAY<VARCHAR>型の列に対して効果を発揮しません。 #44702 - UNION ALL を使用して作成されたマテリアライズドビューにクエリが書き換えられると、クエリ結果が正しくありません。 #42949
- BE が ASAN でコンパイルされている場合、クラスタが起動されると BE がクラッシュし、
be.warningログにdict_func_expr == nullptrが表示されます。 #44551 - 単一レプリカテーブルで集計クエリが実行されると、クエリ結果が正しくありません。 #43223
- View Delta Join の書き換えが失敗します。 #43788
- 列の型が VARCHAR から DECIMAL に変更された後、BE がクラッシュします。 #44406
- リストパーティション化されたテーブルが not-equal 演算子を使用してクエリされると、パーティションが誤ってプルーニングされ、誤ったクエリ結果が返されます。 #42907
- Leader FE のヒープサイズが、非トランザクションインターフェースを使用する多くの Stream Load ジョブが終了すると急速に増加します。 #43715
ダウングレードノート
v3.3.0 以降から v3.2 にクラスタをダウングレードするには、次の手順に従う必要があります:
-
v3.3 クラスタで開始されたすべての ALTER TABLE SCHEMA CHANGE トランザクションが完了またはキャンセルされていることを確認します。
-
次のコマンドを実行してすべてのトランザクション履歴をクリアします:
ADMIN SET FRONTEND CONFIG ("history_job_keep_max_second" = "0"); -
次のコマンドを実行して、残りの履歴レコードがないことを確認します:
SHOW PROC '/jobs/<db>/schema_change'; -
クラスタを v3.2.8 より前のパッチバージョンまたは v3.1.14 にダウングレードする場合、
PROPERTIES('compression' = 'lz4')を使用して作成されたすべての非同期マテリアライズドビューを削除する必要があります。 -
次のコマンドを実行してメタデータのイメージファイルを作成します:
ALTER SYSTEM CREATE IMAGE; -
新しいイメージファイルがすべての FE ノードの meta/image ディレクトリに転送された後、まず Follower FE ノードをダウングレードします。エラーが返されない場合、クラスタ内の他のノードをダウングレードできます。