Elasticsearch バージョン 8.12.0

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

既知の問題

  • int8_hnsw ベクトルインデックス形式はセグメントのマージに失敗し、ドキュメントのインデックス作成を妨げる可能性があります (問題: #104617)
    int8_hnsw とデフォルトの confidence_interval (または confidence_interval1.0 より小さい場合) を使用しているときに、セグメントに削除されたドキュメントがあると、分位数の構築に失敗し、マージを妨げる可能性があります。

この問題は 8.12.1 で修正されました。

  • バージョン 8.11.4 以前からクラスターをアップグレードする際、クラスターにマスター候補でないノードが含まれている場合、これらのアップグレードされたノードの新機能に関する情報がマスターノードに正しく登録されない可能性があります。これにより、8.12.0 以降に追加された新機能がアップグレードされたクラスターで利用できなくなる可能性があります。クラスターが ECK 2.12.1 以上で実行されている場合、アップグレードの最終化に問題が生じる可能性があります。この問題を解決するには、すべての Elasticsearch ノードがアップグレードされた後、マスター候補でないノードでローリング再起動を実行してください。この問題は 8.15.0 で修正されました。

破壊的変更

8.12 には破壊的変更はありません。

注目すべき変更

8.12 には注意すべき注目すべき変更がありますが、破壊的とは見なしていません。注目すべき変更として考えられる項目は以下の通りです。

  • テクニカルプレビューにある機能の変更。
  • ログ形式の変更。
  • 非公開 API の変更。
  • 重大なバグを修正する動作の変更。
    • 認可
  • クレームからの JWT プリンシパルを修正 #101333
    • ES|QL
  • [ES|QL] pow 関数は常に double を返します #102183 (問題: #99055)
    • インフラ/プラグイン
  • Plugin.createComponents メソッドを PluginServices オブジェクトを使用するオーバーロードに置き換えました #101457

バグ修正

  • 集計
    • ヒストグラムのバケット計算を反復的に調整 #102172
    • Aggs エラーコード パート 1 #99963
    • クエリが再書き込み後に一致しない場合、グローバルオーディナルの読み込みをスキップ #102844
    • フィルター集計でスコアラーを構築する際に親サーキットブレーカーをトリガー #102511
    • ExecutionException からキャッシュ読み込み時にアンラップ #102476
  • アプリケーション
    • [コネクタ API] パーサーでの nullable ツールチップフィールドのバグを修正 #103427
    • [コネクタ API] 新しい同期ジョブを作成する際の ClassCastException を修正 #103508
    • [コネクタ API] 欠落している TEXT DisplayType 列挙のバグを修正 #103430
    • [コネクタ API] ConnectorSyncJob パーサーで nullable フィールドを正しく処理 #103183
    • [プロファイリング] 有益な場合のみ並行してクエリ #103061
    • [検索アプリケーション] テンプレートレンダリングが無効な JSON を生成した場合、400 応答を返す #101474
  • 認証
    • 形式が不正な JWT をチェーン内の後続の領域にフォールスルー #101660 (問題: #101367)
  • 認可
    • 権限の変更時にキャッシュの無効化を修正 #102193
  • データストリーム
    • データストリーム統計のためにディスク上のサイズではなくデータセットサイズを使用 #103342
  • 分散
    • 検索シャードのためのアクティブシャードメッセージを修正 #102808 (問題: #101896)
    • ClusterStateAction#buildResponse をエグゼキュータに送信 #103435
    • SharedBlobCacheService.readMultiRegions でリスナーを修正 #101727
  • ダウンサンプリング
    • ダウンサンプルされたインデックスにカウンタフィールドのプロパティをコピー #103580 (問題: #103569)
    • 1 つ以上のダウンサンプル永続タスクが失敗した場合、失敗を返すことでダウンサンプル API を修正 #103615
  • EQL
    • ヘッド/テールコマンドのエッジケースとデータ型のカバレッジをカバー #101859 (問題: #101724)
    • 欠落したイベントクエリでの NPE を修正 #103611 (問題: #103608)
    • サンプルは集計結果が空または null であるかどうかを確認する必要があります #103574
  • ES|QL
    • ESQL: 無限を返す to_degrees() を修正 #103209 (問題: #102987)
    • ESQL: 折りたたみ可能な式を持つ MV_EXPAND の計画を修正 #101385 (問題: #101118)
    • ESQL: 空の文字列に関する稀なバグを修正 #102350 (問題: #101969)
    • ESQL: KEEP * の後の MV_EXPAND の解決を修正 #103339 (問題: #103331)
    • ESQL: 単一値クエリを修正 #102317 (問題: #102298)
    • ESQL: 集計のローカル折りたたみを改善 #103670
    • ESQL: 特定のフィルターのプッシュダウンを改善 #103671
    • ESQL: 変換関数でのキャッチを狭める #101788 (問題: #100820)
    • ESQL: 一部のユーザーによって引き起こされた例外の使用を更新 #104046
    • ESQL: time_zone リクエストパラメータを削除 #102767 (問題: #102159)
    • ES|QL: 単一値検出での NPE を修正 #103150 (問題: #103141)
    • ES|QL: mv_expand での解決エラー管理を改善 #102967 (問題: #102964)
    • MV_EXPAND のレイアウトを修正 #102916 (問題: #102912)
    • ESQL 検索コンテキストのミリ秒での現在時刻を修正 #103474 (問題: #103455)
    • 重複した集計の計画を修正 #102165 (問題: #102083)
    • PlanStreamOutput のトランスポートバージョンを修正 #103758
    • AsyncOperator#isFinished は失敗時に決して true を返してはいけません #104029
  • エンジン
    • リアルタイム取得のための lastUnsafeSegmentGenerationForGets を修正 #101700
  • 地理
    • 算術メソッドと一貫性のあるジオタイルの境界ボックスを修正 #100826 (問題: #92611, #95574)
  • ILM+SLM
    • データティアの使用統計をより効率的に収集 #102140 (問題: #100230)
  • インデックス API
    • テンプレートシミュレート設定のアプリケーション順序を修正 #103024 (問題: #103008)
  • インフラ/コア
    • コンポーネントバージョンをキャッシュ #103408 (問題: #102103)
    • メトリックゲージ作成モデルを修正 #100609
  • インフラ/ノードライフサイクル
    • acking put-shutdown の前に reroute を待つ #103251
  • インフラ/プラグイン
    • トランスポートプロトコルでクラス名をオプションにする #99702 (問題: #98584)
  • インフラ/スクリプティング
  • インフラ/設定
    • 非状態ファイル設定変換のために完全なスタックトレースを報告 #101346
  • インジェストノード
    • 決して null でない DocumentParsingObserver にインデックス名を送信 #100862
  • ライセンス
    • ライセンス検証がローカルで失敗した場合のエラーログ #102919
  • 機械学習
    • pytorch_inference の起動中に例外をキャッチ #103873
    • 可能な限りモデルスナップショットを取得する際に分位数を除外 #103530
    • 空のインデックスでの frequent_item_sets 集計を修正 #103116 (問題: #103067)
    • 学習済みモデルのダウンロードタスクが進行中の場合、学習済みモデルのデプロイを開始する前に完了を待つ #102944
    • 結果インデックスのリフレッシュ前にジョブクローズ時のデータカウントを保持 #101147
    • データフィードプレビューでの応答ヘッダーを保持 #103923
    • 再バランス中に存在しないノード情報にアクセスしようとするのを防ぐ #103361
    • モデル割り当てプランナーでのリソースの過剰割り当てを防ぐ #100392
    • 学習済みモデルを読み込む前に新しいトレースコンテキストを開始 #103124
    • 優雅なシャットダウン時にモデル結果を待つ #103591 (問題: #103414)
  • マッピング
  • モニタリング
    • [モニタリング] 回復までクラスター状態を取得しない #100565
  • ネットワーク
    • threadContext の正確性を保証する RemoteClusterNodesAction #101050
  • ランキング
    • RRF に追加のタイブレイカーを追加 #101847 (問題: #101232)
  • 再インデックス
    • リモートから再インデックスする際にプレフィックスインデックス名を許可 #96968 (問題: #89120)
  • 検索
    • computeCommonPrefixLengthAndBuildHistogram の JIT コンパイラ除外を追加 #103112
    • テンプレートアクションのレンダリングでスクリプトが正しい JSON を生成することを確認 #101518 (問題: #101477)
    • CountOnlyQueryPhaseResultConsumer での NPE と空の結果処理を修正 #103203
    • OldLuceneVersions でのフォーマット文字列を修正 #103185
    • スタンドアロンの再書き込み呼び出しでのタイムアウトを処理 #103546
    • PFOR を使用した Lucene 90 ポジション形式に基づく Elasticsearch PostingFormat を導入 #103601 (問題: #103002)
    • 合成ソースが有効な場合のセグメント間検索の同時実行性を復元 #103690
    • インデックスおよびインデックスエイリアス名で複雑な日付数学式をサポート #100646
  • スナップショット/復元
    • 読み取りが完了した後に SharedBytes.IO の参照カウントを減らす #102848
    • スナップショット削除のためのより一貫したログメッセージ #101024
    • シャードスナップショットの完了時に再ルート #101585 (問題: #101514)
    • 読み取りおよび書き込み時の SharedBytes.IO の参照カウントを復元 #102843
  • TSDB
    • DeferableBucketAggregator でのレート集計をラップする際にスロー #101032
  • トランスフォーム
    • testTransformFeatureReset テストケースにアサーションを追加 #100287
    • 検索コンテキストの欠落例外を回復可能と見なす #102602
    • タスクキャンセル例外を回復可能と見なす #100828
    • _update API によってスローされる NPE を修正 #104051 (問題: #104048)
    • デバッグを助けるためにログメッセージと共にスタックトレースをログ #101607
    • カンマ区切りのソースインデックス文字列を別々のインデックスに分割 #102811 (問題: #99564)
  • ベクトル検索
    • 浮動小数点に収まらない大きさのベクトルを許可しない #100519
  • ウォッチャー
    • ウォッチャー履歴の書き込み失敗を正しくログ #101802
    • 修正: ウォッチャー REST API GET /_watcher/settings は現在製品ヘッダーを含みます #103003 (問題: #102928)

強化

  • 集約
    • グローバルオーディナルを構築する際に実メモリ回路ブレーカーをチェックする #102462
    • サンプラーおよび多様なサンプラーの同時実行を無効にする #102832
    • 高カーディナリティフィールドに対する複合集約の並列性を無効にする #102644
    • マルチターム集約の同時実行を有効にする #102710
    • スクリプトメトリック集約の同時実行を有効にする #102461
    • ターム集約のセグメント間同時実行を有効にする #101390
    • 回路ブレーカーのトリップカウントをカウンタメトリックとしてエクスポートする #101423
    • フィールドデータキャッシュのTTLを導入する #102682
    • 集約エラーのステータスコード、パート2 #100368
    • キー付きヒストグラムをサポートする #101826 (issue: #100242)
  • 割り当て
    • より多くの望ましいバランス統計を追加する #102065
    • 不要なシャード数を追加する #101426
    • APMを介して調整メトリックを公開する #102244
  • アプリケーション
    • CO2および排出量とコストを計算する #101979
    • カスタムインデックス内の重複スタックトレースを考慮する #102292
    • ユニバーサルプロファイリングをエンタープライズ機能として有効にする #100333
    • フレームグラフ応答に合計を含める #101126
    • カスタムインデックスからスタックトレースイベントを取得する #102020
    • [プロファイリング] タスクキャンセルについて早期に通知する #102740
    • [プロファイリング] ドキュメントが存在する場合にステータスAPIで報告する #102735
  • 認証
    • フルネームとメールのためのLDAPユーザーメタデータマッピングを追加する #102925
    • kibana_systemロールにmanage_enrichクラスタ特権を追加する #101682
  • 認証
    • プロファイリングのためのauto_configure特権を削除する #101026
    • アプリケーション特権を保存するためにBulkRequestを使用する #102056
    • SAMLスモークテストで非推奨のSAMLコールバックURLを使用する #99983 (issue: #99986)
    • テストで非推奨のSAMLコールバックURLを使用する #99983 (issue: #99985)
  • CAT API
    • cat allocation APIでデフォルトでロールを公開する #101753
  • CRUD
    • mgetsのために解決されたインデックスをキャッシュする #101311
  • データストリーム
    • データストリームライフサイクル統計を公開する新しいエンドポイントを導入する #101845
    • ログデータストリームをデフォルトで全フィールドを検索するように切り替える #102456 (issue: #99872)
  • 分散
    • S3クライアント設定およびEC2発見プラグインでプロキシスキームを構成するサポートを追加する #102495 (issue: #101873)
    • ストリームに書き込まれたバイト数をカウントするStreamOutputを導入する #102906
    • メトリクスAPIを介してs3リクエスト数をプッシュする #100383
    • s3統計収集のための操作目的を記録する #100236
  • EQL
    • *QLのエラーロギングを追加する #101057
    • オープンピットリクエストのためにeqlクエリフィルターを使用する #103212
  • ES|QL
    • ESQL: profileオプションを追加する #102713
    • ESQL: 統計内の重複集約にエイリアスを追加する #100642 (issue: #100544)
    • ESQL: 一度に複数のフィールドをロードする #102192
    • ESQL: 保存されたフィールドを順次ロードする #102727
    • ESQL: 親キーワードフィールドからテキストフィールドをロードする #102490 (issue: #102473)
    • ESQL: ブロックを参照カウントする #100408
    • ESQL: fieldcaps呼び出しを軽量化する #102510 (issues: #101763, #102393)
    • ESQL: BlockHash実装でのトラッキングを増やす #101488
    • ESQL: 新しいテレメトリーコマンド #102937
    • ESQL: 定数nullブロックを共有する #102673
    • ESQL: 空のドキュメント値の読み込みを短絡する #102434
    • ESQL: _sourceメタデータフィールドをサポートする #102391
    • ESQL: luceneから発生したブロックを追跡する #101396
    • ESQL: luceneから読み込まれた値のメモリを追跡する #101383
    • オーディナルを持つ単一ドキュメントの読み取りのためのファストパス #102902
    • ローカルブロックファクトリを導入する #102901
    • 異なる方法でロードする #101235
    • ESQLの強化メモリを追跡する #102184
    • AsyncOperatorでのブロックを追跡する #102188
    • 集約の中間状態のブロックを追跡する #102562
    • 単一の多値フィールドをハッシュ化する際のブロックを追跡する #102612
    • ESQLの強化リクエスト/応答でページを追跡する #102190
  • エンジン
    • マージされたセグメントサイズの最大値のデフォルト値を設定するための静的ノード設定を追加する #102208
  • 地理
    • geo_shape型のランタイムフィールドを追加する #100492 (issue: #61299)
  • 健康
    • HealthPeriodicLoggerおよびS3RequestRetryStatsにメッセージフィールドを追加する #101989
    • HealthPeriodicLoggerメッセージに非緑色インジケーター名を追加する #102245
  • ILM+SLM
    • ヘルスレポートAPIは、データが利用可能な場合に未割り当てのコールド/フローズンシャードに対してREDを返すべきではない #100776
    • フリートの組み込みILMポリシーを使用して.actions.rollover.max_primary_shard_sizeに切り替える #99984 (issue: #99983)
  • インデックス API
    • バルクAPI応答に実行されたパイプラインを追加する #100031
    • コンポーネントテンプレートを非推奨としてマークするサポートを追加する #101148 (issue: #100992)
    • 自動的にシャードを未割り当てにすることで非動的インデックス設定を更新できるようにする #101723
    • 新しい命名規則に従ってコンポーネントテンプレートとパイプラインの名前を変更する #99975
    • TransportGetAliasesActionをローカルノードで実行する #101815
  • インフラ/CLI
    • ActiveProcessorCountが設定されている場合にnode.processorsを設定する #101846
  • Infra/Core
    • 非同期カウンターのためのapm APIを追加する(常に増加) #102598
    • error_traceパラメータに関係なくRestResponseでエラーをログする #101066 (issue: #100884)
  • インフラ/ロギング
    • rest.suppressedログ出力にステータスコードを追加する #100990
  • Ingest Node
    • 未使用のelasticsearch_versionフィールドを非推奨にする #103013
    • MurmurHash3を最適化する #101202
  • 機械学習
    • _inferenceに単一または複数の入力を受け入れる #102075
    • 推論機能の基本的なテレメトリーを追加する #102877
    • MLモデルとサービスのための内部推論アクションを追加する #102731
    • トレーニングされたモデルにプレフィックス文字列オプションを追加する #102089
    • トレーニングされたモデルをデプロイするために必要なメモリをより正確に推定する #98874
    • 変化点集約のスパイクとディップ検出の安定性を向上させる #102637
    • _ml/info応答にMLプロセッサ制限を含める #101392
    • XLM Robertaトークナイザーのダウンロードされた語彙からスコアを読み取る #101868
    • _inference APIで全モデルおよびタスクタイプによるGETをサポートする #102806
  • マッピング
    • アナライザーのリロードログメッセージを改善する #102273
  • モニタリング
    • 監視インデックステンプレートにメモリ使用量Kibanaメトリックを追加する #102810
    • beat.stats.libbeat.pipeline.queue.max_eventsを追加する #102570
  • ネットワーク
    • より詳細なHTTP統計を記録する #99852
  • 検索
    • 共有ブロブキャッシュにメトリクスを追加する #101577
    • セルビア語アナライザーのサポートを追加する #100921
    • オープンピットにindex_filterのサポートを追加する #102388 (issue: #99740)
    • 非ゼロ頻度のエントリのキャッシュ排除のためのメトリックを追加する #100570
    • フィールドでソートする際にセグメント間の同時実行を無効にする #101535
    • 単一シャード内でのクエリフェーズの並列性を有効にする #101230 (issue: #80693)
    • メトリックとしてのノード統計 #102248
    • _countタイプAPIリクエストを最適化する #102888
  • セキュリティ
    • Get/Query ApiKey APIでinvalidationフィールドを公開する #102472
    • api_key.delete.intervalを動的設定にする #102680
  • スナップショット/復元
    • 部分読み取りでS3リポジトリ分析を失敗させる #102840
    • 古いインデックス削除を並列化する #100316 (issue: #61513)
    • 競合のないレジスタの動作のリポ分析 #101185
    • レジスタ操作の構成を許可するリポ分析 #102051
    • 空のレジスタを検証するリポ分析 #102048
  • 統計
    • 要約のみを取得することを示すためにstatsリクエストにincludeShardsStatsを導入する #100466 (issue: #99744)
    • シャードレベルの統計を使用しない呼び出し元でNodesStatsRequestのincludeShardsStatsをfalseに設定する #100938
  • ストア
    • プライマリタームを持つ世代リスナーを追加するためのメソッドを追加する #100899
    • 耐久性を持たせる間に複数の定期的フラッシュを実行できるようにする #102571
    • シャードのプライマリタームをEngine#addSegmentGenerationListenerに渡す #99752
  • トランスフォーム
    • 変換状態の永続化再試行のための指数バックオフを実装する #102512 (issue: #102528)
    • チェックポイントを計算するタスクをタイムアウトさせる #101055
    • より良いパフォーマンスのために宛先インデックスマッピングを推測する際に_field_capsにソースクエリを渡す(index_filterとして) #102379
    • 変換ソースクエリをindex_filterとしてopen_point_in_timeリクエストに渡す #102447 (issue: #101049)
    • チェックポイント中にソースクエリに一致しないシャードをスキップする #102138
  • ベクトル検索
    • knn検索のプロファイル出力にvector_operation_countを追加する #102032
    • 大きさを保存し、ベクトルを正規化することでコサイン類似度を高速化する #99445

新機能

  • アプリケーション
    • コネクタAPIを技術プレビューとして有効にする #102994
    • [行動分析] 分析コレクションはデータ保持管理のためにインデックスライフサイクル管理(ILM)の代わりにデータストリームライフサイクル(DSL)を使用します。行動分析は従来、データ保持を管理するためにILMを使用していました。8.12.0からは、これが変更されます。8.12.0以前に作成された分析コレクションは既存のILMポリシーを引き続き使用しますが、新しい分析コレクションはDSLを使用して管理されます。 #100033
  • 認証
    • JWTレルムによって許可された主題のパターンをサポートする #102426
  • クラスター調整
    • ノード機能の参加障壁を追加します。これにより、クラスタにすでに存在するすべての機能を持たないクラスタにノードが参加するのを防ぎます。これにより、クラスタ内のすべてのノードが機能をサポートするようになると、その機能は将来的にサポートされなくなることはありません。これは、バージョン参加障壁に対応する機能です #101609
  • データストリーム
    • データストリームの失敗ストアを作成する機能を追加する #99134
  • ES|QL
    • ESQL: 複数値を処理する単一値関数から警告を発する #102417 (issue: #98743)
    • GEO_POINTおよびCARTESIAN_POINTタイプのサポート #102177
  • Infra/Core
    • クラスタに存在する機能を照会するための新しいクラスタ状態APIを作成する #100974
  • Ingest Node
    • シミュレートインジェストAPIを追加する #101409
  • セキュリティ
    • アクセストークンとしてJWTを使用してAPIキーを付与することを許可する #101904
  • ベクトル検索
    • HNSWの浮動小数点ベクトルのバイト量子化を追加する #102093
    • knn検索をクエリにする #98916

回帰

  • Infra/Core
    • 非セマンティックNodeInfoを元に戻す #102636

アップグレード

  • 検索
    • Lucene 9.9.1にアップグレードする #103549