メインコンテンツまでスキップ

リリース 3.1.1

概要

Apache Doris 3.1.1は、重要なバグ修正、パフォーマンス最適化、安定性向上に焦点を当てたメンテナンスリリースです。このリリースには、compaction、データロード、クエリ処理、クラウド機能に関する多数の修正が含まれており、本番環境でのより堅牢な運用を実現します。

新機能

コア機能

  • [feature](function) count_substrings関数のサポート (#42055, #55847)

データ統合・ストレージ

  • [feat](hdfs) HDFS HA設定検証の追加 (#55675, #55764)
  • [feat](checker) checkerのタブレット統計キー整合性チェックの追加 (#54754, #55663)
  • [feat](outfile) outfileとexportでのCSV形式の圧縮タイプサポート (#55392, #55561)
  • [feat](cloud) cloud group commit stream load BE転送モードのサポート (#55326, #55527)

パフォーマンス・最適化

  • [support](orc) ORCファイルメタキャッシュのサポート (#54591, #55584)
  • [Exec](vec) SIMD KNN距離計算のサポート (#55275)

改良

パフォーマンス最適化

  • [opt](cloud) メタサービスでの空rowsetプレッシャーの軽減 (#54395, #55171, #55604, #55742, #55837, #55934)
  • [Opt](mow) MOWロードパフォーマンスとCPU使用率の最適化 (#55073, #55733, #55771, #55767)
  • [opt](hive) hive.recursive_directoriesのデフォルト値をtrueに設定 (#55737, #55905)
  • [opt](recycler) 多数のAws::Internal::GetEC2MetadataClient HTTP呼び出しを回避 (#55546, #55682)
  • [opt](mow) CPU使用率軽減のためスタックキャプチャを無効化 (#55368, #55526)
  • [opt](txn lazy commit) 一時rowset変換バッチの適応性向上 (#55035, #55573)
  • [opt](nereids) 大きな文字列から複合型へのキャストパフォーマンス向上 (#55476, #55521)
  • [opt](nereids) 文字列範囲の簡素化サポート (#55378, #55456)
  • [opt](nereids) normalize windowの最適化 (#54947, #55046)
  • [opt](nereids) OLAPテーブルに自動パーティションがある場合のinsertコマンドの並列処理最適化 (#54983, #55030)

システム強化

  • [enhancement](Log) 一部のログをinfoからdebugに変更 (#55808, #55841)
  • [enhancement](filecache) 複数のキャッシュインスタンス間での並列キャッシュクリア (#55259, #55437)
  • [enhancement](sc) 隠しカラムでのスキーマ変更を拒否 (#53376, #55385)
  • [enhancement](backup) バックアップ中の削除済みテーブルとパーティションの処理 (#52935, #54989)
  • [enhancement](cloud) Dorisバージョン2.1から3.1へのクラウドリストアの修正 (#55110)
  • [enhancement](type) timeとdatetime間のキャストサポート (#53734, #54985)

インフラストラクチャ改良

  • [refactor](credential) 統一アーキテクチャによるvended credentialsシステムのリファクタリング (#55912)
  • [refactor](cloud) クラウドリストア作成タブレットRPCを複数バッチに分離 (#55691)
  • [opt](editlog) FE異常時に特定のeditlog例外をスキップする機能の追加 (#54090, #55204)

重要なバグ修正

Compaction・ストレージ

  • [fix](sc) alter_version以下のバージョンで空のrowsetバージョンホール埋めをスキップ (#56209, #56212)
  • [fix](compaction) compaction後に入力rowsetが早期に排除されてクエリが失敗する問題の修正 (#55382, #55966)
  • [fix](compaction) compactionジョブの冪等性を保つためのタブレット作成の冪等化 (#56061, #56108)
  • [fix](compaction) segcompactionでrowsetメタFSを使用し、RPCクライアント準備チェックを追加 (#55951, #55988)
  • [fix](compaction) compaction中にcompactionスコア0のタブレットをスキップ (#55550, #55570)

クエリ処理・関数

  • [fix](fold constant) absの戻り値型は引数の型であるべき (#56190, #56210)
  • [fix](fold constant) float/doubleがNaNの場合にBE定数畳み込みを実行しない (#55425, #55874)
  • [Fix](function) unix_timestampの間違った小数点以下桁数を修正 (#55013, #55962)
  • [fix](nereids) 精度の損失やキャストnullによる比較述語簡素化の修正 (#55884, #56110)
  • [fix](nereids) join reorder時にeq関数が存在しない例外をスローする実行エラーの修正 (#54953, #55667)
  • [fix](nereids) window式のエイリアス再利用式IDの修正 (#55286, #55486)
  • [fix](nereids) count() agg関数との比較でintリテラルの代わりにbigintを使用 (#55545, #55590)
  • [fix](nereids) 巨大な式を生成時のプロジェクトマージを停止 (#55293, #55519)

データロード・インポート

  • [fix](load) S3ロード接続チェック失敗の修正 (#56123)
  • [fix](load) 完了済みロードでの不正な進行状況の修正 (#55509, #55530)
  • [fix](load) BEコアを引き起こすingestionロードエラーケースの修正 (#55500)
  • [fix](load) MEM_LIMIT_EXCEEDで失敗したroutineロードタスクが再スケジュールされない問題の修正 (#55481, #55616)

クラウド・分散機能

  • [fix](cloud) replayUpdateCloudReplicaでの不要なテーブルロックを削除 (#55579, #55955)
  • [fix](cloud) calc_sync_versionsでフルcompactionを考慮すべき (#55630, #55710)
  • [fix](warmup) CloudTablet::complete_rowset_segment_warmup coredumpの修正 (#55932)

データベース操作

  • [fix](database) データベースのリネームとテーブル作成の競合状態を修正 (#55054, #55991)
  • [fix](create table) 同時データベースリネームがテーブル作成とリプレイの失敗を引き起こす問題 (#54614, #56039)
  • [fix](table) テーブルロック内でのdrop editlogの移動 (#55705, #55947)
  • [fix](schema change) light schema change有効化後にタブレットカラムが再構築されない問題 (#55909, #55939)

データ型・シリアライゼーション

  • [fix](variant) JSON文字列へのシリアライズ時のnull値処理の修正 (#55876, #56138)
  • [fix](variant) sparseカラムが空の場合の互換性エラー (#55817)
  • [fix](variant) variant用max_sparse_column_statistics_sizeの強化 (#55124, #55752)

外部データソース

  • [fix](paimon) Paimonネイティブリーダーがlate materializationを使用しない問題の修正 (#55894, #55917)
  • [fix](paimon) キャッシュキーにdlf.catalog.idを追加してPaimon DLFカタログキャッシュ問題を修正 (#55875, #55888)
  • [fix](paimon) PaimonからDoris型マッピングでのオーバーサイズCHAR/VARCHARフィールドの処理 (#55051, #55531)
  • [fix](maxcompute) MC述語プッシュダウン時の存在しないテーブルカラムによるNereidsExceptionの修正 (#55635, #55746)
  • [fix](maxcompute) MaxComputeカタログ国際ユーザーがアクセスできない問題の修正 (#55256, #55560)
  • [fix](hudi) パーティションカラムのみ(データフィールドなし)が必要なHudi JNIテーブルのクエリを修正 (#55466, #55662)
  • [fix](hive) NULL DEFINED AS ''のHiveテキストテーブルクエリを修正 (#55626, #55661)
  • [fix](iceberg) メタデータスキャナーへの不足しているiceberg-aws依存関係を追加 (#55741, #55743)
  • [fix](iceberg rest) Icebergデフォルト値を使用したOAuth2トークンリフレッシュ (#55578, #55624)

メモリ・リソース管理

  • [fix](memtracker) memtrackerによって消費されないメモリ (#55796, #55823)
  • [fix](mow) BaseTablet::get_rowset_by_ids()でのMOW coredumpを修正 (#55539, #55601)
  • [fix](mow) MOW aggキャッシュバージョンチェックの修正 (#55330, #55475)
  • [fix](move-memtable) 誤ってスキップされたセグメントでのセグメント番号不整合の修正 (#55092, #55471)
  • [fix](filecache) クラウドモード時のセグメントキャッシュでのfd数制限なし (#55610, #55638)

セキュリティ・暗号化

  • [fix](tde) 暗号化キーバージョン表示の修正 (#56092, #56068)
  • [fix](tde) TDE関連問題の修正 (#55692)

その他の修正

  • [fix](mtmv) パーティションテーブルにパーティションがない場合のMTMVリフレッシュ不可問題を修正 (#55468, #56085)
  • [fix](plugin) プラグインディレクトリ互換性問題の修正 (#56060)
  • [fix](http stream) SQLパースに失敗した場合HTTPストリームが例外をスローすべき (#55863, #55891)
  • [fix](backup) 2GBを超えるバックアップメタ/ジョブ情報のサポート (#55608, #55867)
  • [fix](mysql protocol) マスターへの転送時のmore stmt existsフラグを正しく設定 (#55711, #55871)
  • [fix](connection) タイムアウトによる接続切断時にセッション関連データがクリアされない問題の修正 (#55008, #55809, #55396)
  • [fix](wal) 実行失敗時のWAL abort txnリプレイの失敗 (#55881, #55924)
  • [fix](restore) オーバーヘッド軽減のためリストア済みテーブル/パーティション/リソースをクリア (#55757, #55784)
  • [fix](index) 未使用のupdateインデックスを削除 (#55514, #55704)
  • [fix](txn lazy commit) txn lazy commitとschema changeの競合を修正 (#55349, #55701)
  • [fix](qe) SSLモードでのクエリエラーを修正 (#53134, #55628)
  • [fix](catalog) 非負ID生成を確実にするため、Math.absをビット単位ANDに置換 (#55183, #55689)
  • [fix](function) array_agg_foreachの間違った結果を修正 (#55075, #55420)

インフラストラクチャ・開発

ビルド・依存関係

  • [chore](build) ビルドスクリプトの最適化 (#56027, #56028)
  • [chore](thirdparty) aws-sdk-cppを1.11.119から1.11.219にアップグレード (#54780, #54971)
  • [chore](build) opensslを含むlibevent依存関係の更新 (#54652, #54857)
  • [chore](config) ASANを動作させるためbrpc::usercode_in_pthreadの設定を追加 (#54656, #54829)

テスト・品質

  • [chore](case) 一部の失敗ケースを修正 (#56140, #56167)
  • [fix](case) 一部の失敗ケースを修正 (#56019, #56035)
  • [fix](test) 安定させるためリグレッションテストを修正し、期待されるログレベルを変更 (#55169, #55898)
  • [fix](case) 一部の失敗ケースを修正 (#55739, #55769)
  • [fix](case) リグレッションケース:cse.groovyを修正 (#53434, #55897)
  • [fix](cases) ケースtest_hudi_snapshotの失敗を修正 (#55761, #55791)
  • [fix](case) 一部の失敗ケースを修正 (#55811, #55835)
  • [fix](case) MVタスクの待機は最新のもののみを考慮すべき (#55802, #55830)
  • [fix](case) ケース:variant build indexを修正 (#55613, #55648)
  • [Fix](case) show data p2ケースを修正 (#55449, #55494)
  • [fix](test) 非同期MVのshow create tableの失敗 (#55278, #55480)
  • [fix](test) クラウドモードで一部のテストをスキップ (#55448, #55535)
  • [Fix](case) 一部のケースを修正 (#55606, #55656)
  • [test](export) export parallelism where exprケースを追加 (#55636, #55659)
  • [test](iceberg) Polarisテストを追加 (#55484, #55557)
  • [test](nereids) SQLキャッシュ/ソート済みパーティションキャッシュのUTを追加 (#55520, #55536)
  • [test](docker) HMSとGCSでのPaimonに対応 (#55473, #55512)
  • [test](warmup) 不安定な定期warmupケースを修正 (#55365, #55453)

セキュリティ・設定

  • [chore](sk) セキュリティ向上のためログでsecret keyの暗号化とaccess keyの非表示化 (#55241, #55619)
  • [chore](security) user_files_secure_pathは変更不可 (#55395, [#