Elasticsearch バージョン 8.10.0

8.10 の 破壊的変更 も参照してください。

既知の問題

  • スナップショットベースのダウングレード
    スナップショットリポジトリのフォーマットが変更され、これにより、Elasticsearch の以前のバージョンがこのバージョンのスナップショットと、最後にこのリポジトリに書き込んだクラスターが 8.10 シリーズである場合、リポジトリの内容を読み取ることができなくなります。これにより、アップグレードを 8.10 シリーズに戻すために、アップグレード前に取得したスナップショットを復元することができなくなります。
    バージョン 8.11.0 以降を実行しているクラスターによって書き込まれたスナップショットリポジトリは、すべての以前のバージョンと互換性があります。さらに、バージョン 8.11.0 以降を実行しているクラスターは、スナップショットを取得または削除するためにリポジトリに書き込む最初のときに、リポジトリフォーマットを自動的に修復します。これにより、すべての以前のバージョンがその内容を再び読み取れるようになります。
    8.9.0 より前のバージョンにダウングレードしたい場合は、最初にバージョン 8.11.0 以降を実行しているクラスターを使用してスナップショットを取得または削除し、リポジトリフォーマットを修復してください。この方法でリポジトリを修復できない場合は、最初にバージョン 8.9.0 以降で取得されたリポジトリ内のすべてのスナップショットを削除してください。これを行うには、バージョン 8.10.0 以降を実行しているクラスターを使用する必要があります。
    8.9 シリーズのバージョンにダウングレードしたい場合は、最初にバージョン 8.11.0 以降を実行しているクラスターを使用してスナップショットを取得または削除し、リポジトリフォーマットを修復してください。この方法でリポジトリを修復できない場合は、最初にバージョン 8.10.0 以降で取得されたリポジトリ内のすべてのスナップショットを、バージョン 8.10.4 を実行しているクラスターを使用して削除してください。
  • GC JVM 設定変更による高メモリ圧力
    このバージョンの Elasticsearch は JDK 20 とバンドルされています。JDK 20 では Preventive GC がデフォルトで無効になっています。これにより、特定の負荷パターンの下で大きなドキュメントを取得する際に、メモリ圧力が増加し、CircuitBreakerExceptions の数が増加する可能性があります。(問題: #99592
    この変更が Elasticsearch の使用に影響を与える場合は、JVM 引数 -XX:+UnlockDiagnosticVMOptions -XX:+G1UsePreventiveGC を追加して以前の動作を再度有効にすることを検討してください(参照: JDK 20 リリースノート)。この回避策は一時的なものであり、Elasticsearch バージョン 8.10.2 までバンドルされている JDK 20 でのみ機能することに注意してください。以降のバージョンでは JDK 21+ がバンドルされており、この設定は 削除されています。これらの JVM 引数を指定すると、JVM(したがって Elasticsearch ノード)が起動しなくなります。

破壊的変更

  • 分析
    • 事前構成されたキャッシュアナライザーコンポーネントを Version の代わりに IndexVersion を使用するように変更 #97319
  • 地理
    • ベクトルタイルプラグインの未使用のエグゼキュータビルダーを削除 #96577

バグ修正

  • 集計
    • 時系列ドキュメント値の中にあるカーディナリティのバグ #99007
    • MatchNoDocsQuery フィルターのセグメントをスキップ #98295 (問題: #94637
  • 割り当て
    • 無視されたシャードを割り当てない #98265
    • BatchedRerouteService での例外ラッピングを削除 #97224
  • アプリケーション
    • [プロファイリング] 古いインデックスでのインデックス作成を中止 #98864
    • [プロファイリング] ステータスに静的設定を考慮 #97890
    • [プロファイリング] 名前のない実行可能ファイルにマークを付ける #98884
  • CRUD
    • indicesThatCannotBeCreated での同期を追加 #97869
  • クラスター調整
    • 単一ノード発見のためのクラスターブートストラップ警告を修正 #96895 (問題: #96874
    • 発見の中断後の選挙スケジューリングを修正 #98420
    • メッセージ遅延による選挙の信頼性を向上 #98354 (問題: #97909
    • TransportAddVotingConfigExclusionsAction を再試行可能にする #98386
    • タイムアウト時にマスターサービスタスクを解放 #97711
  • データストリーム
    • データストリームライフサイクル使用APIでのライフサイクル NPE を回避 #98260
  • 分散
    • transport_worker スレッドを TransportBroadcastAction で回避 #98001
    • transport_worker スレッドを TransportBroadcastByNodeAction で回避 #97920 (問題: #97914
    • TransportNodesAction での応答読み取りをフォーク #97899
  • ダウンサンプリング
    • ILM 管理インデックスのために「index.lifecycle.name」をコピー #97110 (問題: #96732
    • ダウンサンプリング: _tier_preference 設定をコピー #96982 (問題: #96733
  • EQL
    • 非同期の欠落イベントを修正 #97718 (問題: #97644
  • 地理
    • Maps#flatten がリスト内のマップ値を処理する方法を修正 #98828
    • 部分結果を返すときの mvt エラーを修正 #98765 (問題: #98730
  • 健康
    • _health_report SLM インジケーターはポリシー ID(名前ではなく)を使用する必要があります #99111
  • インデックス API
    • 凍結インデックスが正しいティアの優先度を持つことを確認 #97967
  • インフラ/REST API
    • MainResponse で transportversion が null の場合の可能な NPE を修正 #97203
  • インジェストノード
    • 「エンリッチフィールドのマッピングを追加」を元に戻す #98683
  • 機械学習
    • メモリが制約されているときのデータフィードでの OOM のリスクを回避 #98324 (問題: #89769
    • WordPiece トークナイザーで無限ループを検出 #98206
    • データフレーム分析で "subobjects": false をサポートするために集計可能なサブオブジェクトがマルチフィールドと見なされないように修正 #97705 (問題: #88605
    • すべてのデータ値が同等であるという奇妙な change_point バグを修正 #97588
    • モデル読み込みサービスは同期ブロック内でリスナーに通知しない必要があります #97142
  • マッピング
  • ネットワーク
    • リモートクラスター応答処理をフォーク #97922
  • 検索
    • CCS リモートクラスター応答をフォーク #98124 (問題: #97997
    • CCS 検索シャード処理をフォーク #98209
    • CCS 検索キャンセルのテストカバレッジを改善し、応答バグを修正 #97029
    • terminate_after を早期終了に優しいものにする #97540 (問題: #97269
    • 要求されたときに collapse で max_score を追跡 #97703 (問題: #97653
  • セキュリティ
    • プロファイルインデックスが存在する前にプロファイル uid で GetUser を使用するときの NPE を修正 #98961
  • スナップショット/復元
    • クローン後の大きな読み取りで BlobCacheBufferedIndexInput を修正 #98970
  • TSDB
    • doc values で検索可能なマッピングフィールドタイプ #97724
  • トランスフォーム
    • 古いデータを更新する際に日付バケットを誤って計算するトランスフォームを修正 #97401 (問題: #97101
  • ウォッチャー
    • 共有 http クライアントでクッキーを無効にするようにウォッチャーを変更 #97591

非推奨

  • 認可
    • 将来のメジャーリリースでの削除のために apm_user をマーク #87674

強化

  • 集計
    • 集計がカウンターフィールドをサポートしていない場合のエラーメッセージを改善 #93545
    • TimeSeries のデフォルトインデックスモードを null に設定 #98808 (問題: #97429
  • 割り当て
    • cat allocation API に node.roles を追加 #96994
  • アプリケーション
    • [プロファイリング] アップグレードの初期サポートを追加 #97380
    • [プロファイリング] インデックス移行をサポート #97773
  • 認証
    • ダブル取得を回避 #98067 (問題: #97928
    • .slo-observability.* インデックスへのすべてのアクセスを kibana ユーザーに付与 #97539
    • 検索なしでトークンを更新 #97395
  • 認可
    • 認証応答に「operator」フィールドを追加 #97234
    • 環境設定から有効なオペレータ権限を読み取る #98246
    • [Fleet] kibana_system にデータストリームライフサイクルを追加することを許可 #97732
  • データストリーム
    • Kibana レポート用のデータストリームテンプレートをインストール #97765
  • ダウンサンプリング
    • MetricFieldProducer#metrics フィールドタイプをリストから配列に変更 #97344
    • ダウンサンプリング操作中に多くのフィールドプロデューサーを反復処理する際の改善 #97281
    • 永続タスクを使用してダウンサンプリングを実行 #97557 (問題: #93582
  • EQL
    • EQL が内部 field_caps 呼び出しで必要なフィールドのみを使用するようにする #98987
  • エンジン
    • アイドル時のフラッシュのためのアクティブフラグのエッジケースを修正 #97332 (問題: #97154
  • 健康
    • 検索専用ノードのディスク健康チェックに特別なロジックを追加 #98508
    • 健康 API 定期的なログ記録 #96772
  • ILM+SLM
    • ILM から SLM を分離 #98184
  • インフラ/コア
    • ドキュメント解析に関する報告のためのインフラストラクチャ #97961
  • インフラ/ノードライフサイクル
    • ノード移行が STALLED であることを報告する前に ILM ステータスを確認 #98367 (問題: #89486
  • インフラ/プラグイン
    • ApiFilteringActionFilter を追加 #97985
  • インフラ/REST API
    • サーバーレス API 保護を動的に有効にする #97079
    • RestController をプラグイン可能にする #98187
  • インフラ/設定
    • サーバーレス用の顧客設定をマーク #98051
  • インジェストノード
    • カスタム Geo IP データベースファイルのダウンロードを許可 #97850
  • ネットワーク
    • RCS トランスポート接続のリクエストヘッダーサイズ制限を追加 #98692
  • 検索
    • completion_time 時間フィールドを async_search の取得およびステータス応答に追加 #97700 (問題: #88640
    • 検索の並列性のための設定を追加 #98455
    • サイズがゼロより大きいときの同時コレクションをサポート #98425
    • クロスクラスター検索は各クラスターでの検索の詳細を提供 #97731
    • Dfs フェーズでの並列コレクションを有効にする #97416
    • クロスクラスター検索からクラスターを除外 #97865
    • MatchNoDocsQuery の説明を改善 #96069 (問題: #95741
    • exists クエリの書き換えを改善 #97159
    • match クエリの書き換えを改善 #97208
    • prefix クエリの書き換えを改善 #97209
    • ワイルドカードクエリと terms クエリの書き換えを改善 #97594
    • 同義語および同義語グラフフィルターに使用される同義語管理 API を導入 #97962 (問題: #38523
    • PartialHitCountCollector のためのコレクターマネージャーを導入 #97550
    • QueryPhaseCollector のためのコレクターマネージャーを導入 #97410
    • _terms_enum プレフィックスサイズを制限 #97488 (問題: #96572
    • terms_set クエリのための minimum_should_match フィールドをサポート #96082
    • 単純なクエリ文字列のためのタイプをサポート #96717
    • 同時コードパスでの IOException を解除 #98459
    • DfsPhase Knn 検索でコレクターマネージャーを使用 #96689
    • デフォルトでハイライトのために Weight#matches モードを使用 #96068
    • クエリフェーズに QueryPhaseCollectorManager をワイヤー #97726
    • サイズが 0 のときに同時トップドキュメントコレクターマネージャーをワイヤー #97755
    • 子プロファイルコレクターをサポートするための ProfileCollectorManager #97387
    • NoriTokenizerFactory と KuromojiTokenizerFactory の一部のコードをクリーンアップ #92574
  • セキュリティ
    • セキュリティシステムインデックスの設定を管理するための API を追加 #97630
    • Get API keys API を介してアクティブのみの API キーを取得することをサポート #98259 (問題: #97995
  • スナップショット/復元
    • 共有キャッシュ IO に mmap をオプションで使用するための設定を追加 #97581
    • S3 のための追加のオブジェクトストア統計を収集 #98083
    • HDFS プラグインに replication_factor パラメータを追加 #94132
  • ストア
    • Lucene ディレクトリ実装がサイズを推定できるようにする #97822
    • ByteSizeDirectory がデータセットサイズを公開できるようにする #98085
  • TSDB
    • tsdb メトリクスの組み込みコンポーネントテンプレートを追加 #97602
    • より多くのダウンサンプリングステータス統計を含める #96930 (問題: #96760
    • 提供されたエグゼキュータにオフロードするための TimeSeriesIndexSearcher #98414
  • トランスフォーム
    • トランスフォームでボックスプロット集計をサポート #96515

新機能

  • アプリケーション
    • 技術プレビューとしてクエリルールを有効にする #97466
    • [エンタープライズ検索] コネクタインデックスと ent-search パイプラインを追加 #97463
  • データストリーム
    • データストリームライフサイクルのためのダウンサンプリング構成を導入 #97041
  • 検索
    • 同時検索のためのエグゼキュータを導入 #98204
  • セキュリティ
    • API キーに基づくクロスクラスターアクセスのベータリリース #98307

アップグレード

  • ネットワーク
    • Netty を 4.1.94.Final にアップグレード #97040