リリース 2.1.8
コミュニティの皆様、Apache Doris バージョン 2.1.8 が 2025 年 1 月 24 日に正式リリースされました。 このバージョンでは、レイクハウス、非同期マテリアライズドビュー、クエリオプティマイザーと実行エンジン、ストレージ管理など、複数の主要領域において継続的なアップグレードと機能強化が導入されています。
動作変更
- External カタログ を通じて大文字小文字を区別しないテーブル名を持つデータソース(Hive など)をクエリする際、以前のバージョンでは任意の大文字小文字でテーブル名をクエリできましたが、バージョン 2.1.8 では Doris 独自のテーブル名大文字小文字区別ポリシーが厳密に適用されます。
- BE プロセス内の ulimit 値検証チェックをスキップするための環境変数
SKIP_CHECK_ULIMITを追加しました。これは Docker クイックスタートシナリオのアプリケーションでのみ利用可能です。#45267 - ホットコールド分離下でのクエリに対するレプリカアフィニティの選択を制御するセッション変数
enable_cooldown_replica_affinityを追加しました。 - FE に設定
restore_job_compressed_serializationとbackup_job_compressed_serializationを追加し、db タブレット数が極めて多い場合のバックアップおよびリストア操作中の FE の OOM 問題を解決しました。デフォルトではこれらの設定は無効で、一度有効にするとダウングレードできません。
新機能
- Arrow flight プロトコルがロードバランシングデバイス経由での BE へのアクセスをサポートしました。#43281
- lambda 式が外部カラムのキャプチャをサポートしました(#45186)。#45186
改善
レイクハウス
- Hudi バージョンを 0.15 にアップデートしました。また、Hudi テーブルのクエリ計画パフォーマンスを最適化しました。
- MaxCompute パーティションテーブルの読み取りパフォーマンスを最適化しました。#45148
- CSV 形式での UTF8 エンコーディング検出を無視できるセッション変数
enable_text_validate_utf8をサポートしました。#45537 - 高フィルタリング率条件下での Parquet ファイル遅延マテリアライゼーションのパフォーマンスを最適化しました。#46183
非同期マテリアライズドビュー
クエリオプティマイザー
- ランタイムフィルタの適応能力を向上しました #42640。
max/min集約関数カラムのフィルタ条件から元のカラムフィルタ条件を生成する機能を追加しました #39252- join 述語から単側フィルタ条件を抽出する機能を追加しました #38479。
- より良いフィルタ述語を生成するため、集合演算子での述語導出能力を最適化しました #39450。
- 統計情報収集と使用の例外処理能力を最適化し、収集例外が発生した際の予期しない実行計画の生成を回避しました。#43009 #43776 #43865 #42104 #42399 #41729
クエリ実行エンジン
limitを含むクエリの実行を最適化し、より早く終了し不要なデータスキャンを回避するようにしました #44255。
ストレージ管理
- CCR がより包括的な操作(
rename table、rename column、modify comment、drop view、drop rollupなど)をサポートしました。 - broker load インポート進捗の精度と複数の圧縮ファイルをインポートする際のパフォーマンスを向上しました。
- routine load のタイムアウト戦略とスレッドプール使用を改善し、routine load のタイムアウト失敗やクエリへの影響を防ぎます。
その他
- Docker クイックスタートイメージが環境パラメータを設定せずに起動することをサポートしました。環境変数
SKIP_CHECK_ULIMITを追加し、start_be.shスクリプトと BE プロセス内の swap、max_map_count、ulimit 関連の検証チェックをスキップできます。これは Docker クイックスタートシナリオのアプリケーションにのみ適用されます。#45269 - カスタムグループフィルタリング用の新しい LDAP 設定
ldap_group_filterを追加しました。#43292 - ranger 使用時のパフォーマンスを最適化しました。#41207
- 監査ログの
scan bytesの不正確な統計を修正しました。#45167 - カラムのデフォルト値が
COLUMNSシステムテーブルで正しく表示されるようになりました。#44849 - ビューの定義が
VIEWSシステムテーブルで正しく表示されるようになりました。#45857 adminユーザーを削除できないようになりました。#44751
バグ修正
レイクハウス
Hive
- Spark で作成された Hive ビューをクエリできない問題を修正しました。#43553
- 一部の Hive Transaction テーブルを正しく読み取れない問題を修正しました。#45753
- Hive テーブルパーティションに特殊文字が含まれている場合の不正なパーティションプルーニングの問題を修正しました。#42906
Iceberg
- Kerberos 認証環境で Iceberg テーブルを作成できない問題を修正しました。#43445
- Iceberg テーブルに dangling delete がある場合の
count(*)クエリの不正確さを修正しました。#44039 - 一部のケースで Iceberg テーブルのカラム名不一致によるクエリエラーの問題を修正しました。#44470
- 一部のケースで Iceberg テーブルのパーティションが変更された際に読み取れない問題を修正しました。#45367
Paimon
- Paimon カタログ が Alibaba Cloud OSS-HDFS にアクセスできない問題を修正しました。#42585
Hudi
- 一部のケースで Hudi テーブルのパーティションプルーニングが効かない問題を修正しました。#44669
JDBC
- 一部のケースで大文字小文字を区別しないテーブル名機能を有効にした後、JDBC カタログ でテーブルを取得できない問題を修正しました。
MaxCompute
- 一部のケースで MaxCompute テーブルのパーティションプルーニングが効かない問題を修正しました#44508。
その他
- 一部のケースで EXPORT タスクが原因の FE メモリリークの問題を修正しました。#44019
- 一部のケースで https プロトコルを使用して S3 オブジェクトストレージにアクセスできない問題を修正しました #44242。
- 一部のケースで Kerberos 認証チケットが自動的にリフレッシュされない問題を修正しました #44916
- 一部のケースで Hadoop Block 圧縮フォーマットファイル読み取り時のエラーを修正しました。#45289
- ORC 形式データをクエリする際、結果エラーの可能性を避けるため CHAR 型述語をプッシュダウンしないようにしました。#45484
非同期マテリアライズドビュー
- マテリアライズドビュー定義に CTE がある場合にリフレッシュできない問題を修正しました #44857。
- ベーステーブルにカラムが追加された際、非同期マテリアライズドビューが透過的リライトにヒットしない問題を修正しました。#44867
- クエリ内の異なる位置に同じフィルタ述語が含まれている場合の透過的リライト失敗の問題を修正しました。#44575
- フィルタ述語や join 述語でカラムエイリアスが使用されている場合に透過的リライトができない問題を修正しました。#44779
転置インデックス
- 転置インデックス compaction の異常処理の問題を修正しました。#45773
- ロック待機タイムアウトによる転置インデックス構築失敗の問題を修正しました。#43589
- 異常状況での転置インデックス書き込みクラッシュの問題を修正しました。#46075
- 特殊パラメータでの
match関数のヌルポインタ問題を修正しました。#45774 - variant 転置インデックス関連の問題を修正し、variant でのインデックス v1 フォーマットの使用を無効にしました #43971 #45179
- ngram bloomfilter インデックスで
gram_size = 65535を設定した際のクラッシュの問題を修正しました #43654 - bloomfilter インデックスでの DATE と DATETIME の不正な計算の問題を修正しました #43622
- カラムドロップ時に bloomfilter インデックスが自動的にドロップされない問題を修正しました #44478
- bloomfilter インデックス書き込み時のメモリ使用量を削減しました #46047
半構造化データ
- メモリ使用量を最適化し、
variantデータ型のメモリ消費を削減しました #43349 #44585 #45734 variantスキーマコピーのパフォーマンスを最適化しました。#45731- タブレットキーを自動推論する際に
variantをキーとして使用しないようにしました。#44736 variantをNOT NULLからNULLに変更する問題を修正しました #45734- lambda 関数の不正な型推論の問題を修正しました。#45798
ipv6_cidr_to_range関数の境界条件での coredump 問題を修正しました #46252
クエリオプティマイザー
- テーブル読み取りロックの相互排他による潜在的デッドロック問題を修正し、ロック使用ロジックを最適化しました #45045 #43376 #44164 #44967 #45995。
- SQL Cache 機能が定数畳み込みを不正に使用し、時間フォーマットを含む関数使用時に不正な結果をもたらす問題を修正しました。#44631
- エッジケースでの比較式の不正最適化により不正な結果をもたらす可能性がある問題を修正しました。#44054 #44725 #44922 #45735 #45868
- 高並行性ポイントクエリの不正な監査ログの問題を修正しました #43345 #44588
- 高並行性ポイントクエリで例外発生後の継続的エラー報告の問題を修正しました #44582
- 一部のフィールドで prepared statement が不正になる問題を修正しました。#45732
クエリ実行エンジン
- 特殊文字での正規表現と
like関数の不正な結果の問題を修正しました。#44547 - データベース切り替え時に SQL Cache が不正な結果をもたらす可能性がある問題を修正しました。#44782
cut_ipv6関数の不正な結果の問題を修正しました。#43921- 数値型から bool 型へのキャストの問題を修正しました。#46275
- arrow flight 関連の一連の問題を修正しました。#45661 #45023 #43960 #43929
- hash join のハッシュテーブルが 4G を超えた場合の一部ケースでの不正な結果の問題を修正しました。#46461
convert_to関数での中国語文字のオーバーフロー問題を修正しました。#46505
ストレージ管理
- 高並行性 DDL が FE 起動失敗を引き起こす可能性がある問題を修正しました。
- 自動増分カラムで重複値が発生する可能性がある問題を修正しました。
- 拡張中に routine load が新しく拡張された BE を使用できない問題を修正しました。
権限管理
- Ranger を認証プラグインとして使用する際の Ranger サービスへの頻繁なアクセスの問題を修正しました #45645。
その他
- BE 側で
enable_jvm_monitor=trueを有効にした際の潜在的メモリリーク問題を修正しました #44311。