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_idinference_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権限を使用する必要があります。