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

リリース 2.1.4

Apache Doris version 2.1.4 が2024年6月26日に正式にリリースされました。 今回のアップデートでは、data lakehouseシナリオ向けの様々な機能体験を最適化し、特に前バージョンの異常なメモリ使用量問題の解決に重点を置きました。さらに、安定性を向上させるために、いくつかの改善とバグ修正を実装しました。ダウンロードしてご利用ください。

クイックダウンロード: https://doris.apache.org/download/

GitHub Release: https://github.com/apache/doris/releases

動作変更

  • Hiveなどの外部テーブルをクエリする際、存在しないファイルは無視されます。#35319

    ファイルリストはメタキャッシュから取得され、実際のファイルリストと一致しない場合があります。

    存在しないファイルを無視することで、クエリエラーの回避に役立ちます。

  • デフォルトでは、Bitmap Indexの作成時にInverted Indexに自動変更されなくなりました。#35521

    この動作はFE設定項目enable_create_bitmap_index_as_inverted_indexにより制御され、デフォルトはfalseです。

  • --consoleを使用してFEおよびBEプロセスを起動する場合、すべてのログは標準出力に出力され、ログタイプを示すプレフィックスによって区別されます。#35679

    詳細については、以下のドキュメントを参照してください:

  • テーブル作成時にテーブルコメントが提供されない場合、テーブルタイプをデフォルトコメントとして使用する代わりに、デフォルトコメントは空になります。#36025

  • DECIMALV3のデフォルト精度は、この機能が最初にリリースされたバージョンとの互換性を保つため、(9, 0)から(38, 9)に調整されました。#36316

新機能

クエリオプティマイザー

  • FE flame graphツールをサポート

    詳細については、ドキュメントを参照してください

  • SELECT DISTINCTを集約と併用できるようになりました。

  • GROUP BYなしでのシングルテーブルクエリリライトをサポート。これは複雑なフィルターや式に役立ちます。#35242

  • 新しいオプティマイザーがポイントクエリ機能を完全にサポート #36205

Data レイクハウス

  • Apache Paimon deletion vectorのネイティブリーダーをサポート #35241

  • table Valued FunctionsでResourceの使用をサポート #35139

  • Hive Ranger pluginを使用したアクセスコントローラーでData Maskをサポート

非同期マテリアライズドビュー

  • 内部テーブルトリガー更新のビルドサポート。マテリアライズドビューが内部テーブルを使用し、内部テーブルのデータが変更された場合、マテリアライズドビューの更新をトリガーできます。マテリアライズドビュー作成時にREFRESH ON COMMITを指定します。

  • 単一テーブルの透過的リライトをサポート。詳細については、Querying Async Materialized Viewを参照してください。

  • 透過的リライトはagg_state、agg_unionタイプの集約ロールアップをサポート。マテリアライズドビューはagg_stateまたはagg_unionとして定義でき、クエリは特定の集約関数を使用するか、agg_mergeを使用できます。詳細については、AGG_STATEを参照してください

その他

  • 関数replace_emptyを追加。

    詳細については、[ドキュメント]../sql-manual/sql-functions/string-functions/replace_empty)を参照してください。

  • show storage policy using文をサポート。

    詳細については、ドキュメントを参照してください。

  • BE側でJVMメトリクスをサポート。

    be.confenable_jvm_monitor=trueを設定してこの機能を有効化します。

改善

  • 中国語名の列に対する転置インデックスの作成をサポート。#36321

  • segmentキャッシュによるメモリ消費をより正確に推定し、未使用メモリをより迅速に解放できるように。#35751

  • テーブルをリモートストレージにエクスポートする前に空パーティションをフィルター。#35542

  • Backends間の負荷を分散するためのroutine loadタスク配分アルゴリズムを最適化。#34778

  • set操作中に関連変数が見つからない場合のヒントを提供。#35775

  • Java UDF jarファイルをFEのcustom_libディレクトリに配置してデフォルトロードできるようにサポート。#35984

  • 監査ログロードジョブ用のタイムアウトグローバル変数audit_plugin_load_timeoutを追加。

  • 非同期マテリアライズドビューの透過的リライト計画のパフォーマンスを最適化。

  • INSERT操作を最適化し、ソースが空の場合はBEが実行しないように。#34418

  • Hive/Hudirテーブルのファイルリストをバッチで取得することをサポート。120万ファイルのシナリオでは、ファイルリストの取得時間が390秒から46秒に短縮。#35107

  • 非同期マテリアライズドビュー作成時の動的パーティショニングを禁止。

  • Hive内の外部テーブルの外部データのパーティションデータが非同期マテリアライズドビューと同期されているかどうかの検出をサポート。

  • 非同期マテリアライズドビューでのインデックス作成を許可。

バグ修正

クエリオプティマイザー

  • パーティション切り捨て後にSQLキャッシュが古い結果を返す問題を修正。#34698

  • JSONから他の型へのキャストでnull可能属性が正しく処理されない問題を修正。#34707

  • 時折発生するDATETIMEV2リテラル簡略化エラーを修正。#35153

  • ウィンドウ関数でCOUNT(*)が使用できない問題を修正。#35220

  • UNION ALL下のすべてのSELECT文にFROM句がない場合にnull可能属性が正しくない問題を修正。#35074

  • bitmap in joinとサブクエリunnestingが同時に使用できない問題を修正。#35435

  • 特定の状況でフィルター条件がCTE producerにプッシュダウンできないパフォーマンス問題を修正。#35463

  • 大文字で書かれた集約combinatorが見つからない問題を修正。#35540

  • ウィンドウ関数が列pruningによって適切にpruningされないパフォーマンス問題を修正。#35504

  • 同じ名前だが異なるデータベースの複数テーブルがクエリに同時に現れる場合にクエリが間違って解析され、誤った結果になる問題を修正。#35571

  • スキーマテーブルスキャン中のランタイムフィルター生成によるクエリエラーを修正。#35655

  • ネストした相関サブクエリでjoin条件がnullリテラルに畳み込まれ実行できない問題を修正。#35811

  • プランニング時に時折発生するdecimalリテラルの不正確な精度設定問題を修正。#36055

  • プランニング時に時折発生する複数層の集約の不正確なマージ問題を修正。#36145

  • 集約展開プランニング後に時折発生する入出力不一致エラーを修正。#36207

  • 時折発生する<=>=に間違って変換される問題を修正。#36521

クエリ実行

  • pipelineエンジンで制限行数に達してもクエリがハングし、メモリが解放されない問題を修正。#35746

  • enable_decimal256がtrueだが古いプランナーにフォールバックした場合のBEコアダンプを修正。#35731

非同期マテリアライズドビュー

  • 非同期マテリアライズドビューのビルドで指定されたstore_row_column属性がコアによって認識されない問題を修正。

  • 非同期マテリアライズドビューのビルドでstorage_mediumの指定が有効にならない問題を修正。

  • ベーステーブル削除後の非同期マテリアライズドビューshow partitionsでのエラー発生を解決。

  • 非同期マテリアライズドビューがバックアップおよび復元の例外を引き起こす問題を修正。#35703

  • パーティションリライトが間違った結果につながる問題を修正。#35236

半構造化

  • 空のキーを持つVARIANTが使用された場合のコアダンプ問題を修正。#35671
  • BitmapとBloomFilterインデックスでlight index変更を実行しないように。#35225

プライマリキー

  • インポート時の部分列更新の場合に例外的なBE再起動が発生し、重複キーが生じる問題を修正。#35678

  • メモリ不足時のクローン操作中にBEがコアダンプする問題を修正。#34702

Data レイクハウス

  • ctl.db.tblなどの完全修飾名でHiveテーブルが作成できない問題を修正 #34984

  • リフレッシュ時にHive metastore接続が閉じられない問題を修正 #35426

  • 2.0.xから2.1.xにアップグレード時の潜在的なメタリプレイ問題を修正。#35532

  • table Valued Functionが空のsnappy圧縮ファイルを読み取れない問題を修正。#34926

  • 無効なmin-max列統計を持つParquetファイルを読み取れない問題を修正 #35041

  • Parquet/ORCリーダーでnull-aware関数を使ったプッシュダウン述語を処理できない問題を修正 #35335

  • Hiveテーブル作成時のパーティション列の順序に関する問題を修正 #35347

  • パーティション値にスペースが含まれる場合のS3上のHiveテーブルへの書き込み失敗を修正 #35645

  • Aliyun OSSエンドポイントのスキームが間違っている問題を修正 #34907

  • DorisによってParquet形式で書き込まれたHiveテーブルをHiveが読み取れない問題を修正 #34981

  • Hiveテーブルのスキーマ変更後にORCファイルを読み取れない問題を修正 #35583

  • Paimonテーブルのスキーマ変更後にJNI経由でPaimonテーブルを読み取れない問題を修正 #35309

  • 書き出されるParquet形式ファイルのRow Groupsが小さすぎる問題を修正。#36042 #36143

  • スキーマ変更後にPaimonテーブルを読み取れない問題を修正 #36049

  • スキーマ変更後にHive Parquet形式テーブルを読み取れない問題を修正 #36182

  • Hadoop FSキャッシュによるFE OOM問題を修正 #36403

  • Hive Metastore Listener有効化後にFEが起動できない問題を修正 #36533

  • 大量ファイル時のクエリパフォーマンス低下問題を修正 #36431

  • Icebergのtimestamp列タイプ読み取り時のタイムゾーン問題を修正 #36435

  • Iceberg tableでのDATETIME変換エラーとデータパスエラーを修正。#35708

  • table Valued Functionsでユーザー定義の追加プロパティを保持し、S3 SDKに渡すことをサポート。#35515

データインポート

  • CANCEL LOADが動作しない問題を修正 #35352

  • ロードトランザクションのPublishフェーズでのnullポインタエラーがロード完了を妨げる問題を修正 #35977

  • HTTPで送信される大データファイルのbRPCシリアライゼーションの問題を修正 #36169

データ管理

  • DDLまたはDMLをmaster FEに転送した後のConnectionContext内のリソースタグが設定されない問題を修正。#35618

  • lower_case_table_namesが有効時に復元されたテーブル名が間違っている問題を修正 #35508

  • admin clean trashが動作しない問題を修正 #35271

  • パーティションからストレージポリシーを削除できない問題を修正 #35874

  • マルチレプリカ自動パーティションテーブルへのインポート時のデータ損失問題を修正 #36586

  • 古いオプティマイザーを使用して自動パーティションテーブルをクエリまたはインサートする際にテーブルのパーティション列が変更される問題を修正 #36514

メモリ管理

  • Cgroup meminfo取得失敗によるログでの頻繁なエラーの問題を修正。#35425

  • BloomFilter使用時にSegmentキャッシュサイズが制御されず、プロセスメモリの異常成長につながる問題を修正。#34871

権限

  • 大文字小文字を区別しないテーブル名有効化後に権限設定が無効になる問題を修正。#36557

  • 非Master FEノード経由でのLDAPパスワード設定が有効にならない問題を修正。#36598

  • SELECT COUNT(*)文で認証チェックができない問題を修正。#35465

その他

  • MySQL接続が切断された場合にクライアントJDBCプログラムが接続を閉じられない問題を修正。#36616

  • SHOW PROCEDURE STATUS文とのMySQL protocol互換性問題を修正。#35350

  • libeventで特定の状況での接続リークの問題を解決するためKeepaliveを強制するように。#36088

クレジット

このリリースに貢献してくださったすべての方に感謝いたします。

@airborne12, @amorynan, @AshinGau, @BePPPower, @BiteTheDDDDt, @ByteYue, @caiconghui, @CalvinKirs, @cambyzju, @catpineapple, @cjj2010, @csun5285, @DarvenDuan, @dataroaring, @deardeng, @Doris-Extras, @eldenmoon, @englefly, @feiniaofeiafei, @felixwluo, @freemandealer, @Gabriel39, @gavinchou, @GoGoWen, @HappenLee, @hello-stephen, @hubgeter, @hust-hhb, @jacktengg, @jackwener, @jeffreys-cat, @Jibing-Li, @kaijchen, @kaka11chen, @Lchangliang, @liaoxin01, @LiBinfeng-01, @lide-reed, @luennng, @luwei16, @mongo360, @morningman, @morrySnow, @mrhhsg, @Mryange, @mymeiyi, @nextdreamblue, @platoneko, @qidaye, @qzsee, @seawinde, @shuke987, @sollhui, @starocean999, @suxiaogang223, @TangSiyang2001, @Thearas, @Vallishp, @w41ter, @wangbo, @whutpencil, @wsjz, @wuwenchi, @xiaokang, @xiedeyantu, @XieJiann, @xinyiZzz, @XuPengfei-1020, @xy720, @xzj7019, @yiguolei, @yongjinhou, @yujun777, @Yukang-Lian, @Yulei-Yang, @zclllyybb, @zddr, @zfr9527, @zgxme, @zhangbutao, @zhangstar333, @zhannngchen, @zhiqiang-hhhh, @zy-kkk, @zzzxl1993