8.15への移行
このセクションでは、アプリケーションをElasticsearch 8.15に移行する際に注意すべき変更点について説明します。
詳細は、8.15の新機能およびリリースノートを参照してください。
8.15.0での変更が予定されています。
破壊的変更
Elasticsearch 8.15の以下の変更は、アプリケーションに影響を与え、正常に動作しなくなる可能性があります。8.15にアップグレードする前に、これらの変更を確認し、影響を軽減するために説明された手順を実行してください。
クラスタとノード設定の変更
skip_unavailable
リモートクラスタ設定のデフォルト値をtrueに変更
詳細
skip_unavailable
設定のデフォルト値は現在trueに設定されています。この設定を定義していないすべての既存および将来のリモートクラスタは、新しいデフォルトを使用します。この設定は、_searchまたは_async_search APIを使用したクロスクラスタ検索にのみ影響します。
影響
クロスクラスタ検索で利用できないリモートクラスタは、elasticsearch.ymlでskip_unavailableがfalse
に設定されているか、_cluster/settings
APIを介して設定されていない限り、検索の失敗を引き起こさなくなります。skip_unavailable
=true
(明示的にまたは新しいデフォルトを使用して)を持つ利用できないクラスタは、検索応答のメタデータセクションでSKIPPEDとしてマークされ、検索全体を失敗させません。特定のリモートクラスタが利用できない場合に検索が失敗することを保証したい場合は、skip_unavailable
を明示的に設定する必要があります。
ロールアップの変更
ロールアップの使用がないクラスタでの新しいロールアップジョブを禁止
詳細
ロールアップの使用がないクラスタでロールアップジョブが作成されると、put rollup APIはエラーで失敗します。
影響
ロールアップの使用がないクラスタ(ロールアップジョブまたはインデックスがない)は、新しいロールアップジョブを作成できません。
REST APIの変更
?timeout=-1
を無限のackタイムアウトとして解釈
詳細
現在、Elasticsearchは多くのAPIで?timeout=-1
パラメータを受け入れていますが、これを?timeout=0
と同じ意味として解釈しています。8.15以降、?timeout=-1
は無限に待機することを意味し、このパラメータの動作を?master_timeout
などの他の類似のパラメータと一致させます。
影響
?timeout=0
を使用して、?timeout=-1
の代わりに関連する操作を即座にタイムアウトさせることができます。
GET推論APIでmodel_id
をinference_id
に置き換え
詳細
8.15以降、Get推論APIの応答はinference_id
フィールドを返し、model_id
は返しません。
影響
アプリケーションがGET推論APIの応答でmodel_id
を使用している場合は、inference_id
を使用するように切り替えてください。
非推奨機能
以下の機能はElasticsearch 8.15で非推奨となり、将来のバージョンで削除されます。これにより、アプリケーションに即座の影響はありませんが、8.15にアップグレードした後にコードを更新するために説明された手順を実行することを強くお勧めします。
非推奨機能を使用しているかどうかを確認するには、非推奨ログ記録を有効にしてください。
クラスタとノード設定の非推奨
indices.breaker.total.limit
設定の絶対サイズ値を非推奨
詳細
以前は、indices.breaker.total.limit
の値をバイト単位の絶対サイズとして指定できました。この設定は、サーバーが修正アクションを取る前に許可されるメモリの全体量を制御します。特定のバイト数に設定すると、ノードの最大ヒープサイズが変更されたときに奇妙な動作が発生しました。サーキットブレーカの制限は変更されないため、値が低すぎてヒープの一部が未使用のままになるか、値が高すぎてサーキットブレーカがOOMエラーを防ぐのに効果的でなくなる可能性があります。この設定の唯一の合理的な動作は、ヒープのサイズに応じてスケールすることであり、したがって絶対バイト制限は現在非推奨です。
影響
ユーザーは、indices.breaker.total.limit
のために絶対バイト数の代わりにパーセンテージを指定するように構成を変更する必要があります。さもなければ、すでにパーセンテージとして指定されているデフォルトを受け入れる必要があります。
REST APIの非推奨
text_expansion
およびweighted_tokens
クエリを非推奨
詳細
text_expansion
およびweighted_tokens
クエリはsparse_vector
に置き換えられました。
影響
既存のtext_expansion
およびweighted_tokens
クエリをsparse_vector.
を使用するように更新してください。
slm権限を使用してilmにアクセスすることを非推奨
詳細
read_slm
権限はILMのステータスを取得でき、manage_slm
権限はILMを開始および停止できます。これらのAPIへのアクセスは、read_ilm
およびmanage_ilm
権限を使用して付与する必要があります。ILM APIへのアクセスは、将来のメジャーリリースでSLM権限から削除され、現在非推奨です。
影響
ILMステータスAPIへのアクセスが必要なユーザーは、read_ilm
権限を使用する必要があります。ILMを開始および停止する必要があるユーザーは、manage_ilm
権限を使用する必要があります。