Elasticsearch バージョン 8.7.1
8.7 の 破壊的変更 も参照してください。
既知の問題
ArrayIndexOutOfBoundsException
は、トランスポートメッセージを作成する際にスローされる可能性があります。
トランスポートメッセージを作成するために使用されるバッファへの書き込みとシークの特定のシーケンスは、アライメントバグに遭遇する可能性があり、ArrayIndexOutOfBoundsException
が発生し、トランスポートメッセージの送信が妨げられます。
この問題は 8.8.0 で修正されました。シャードの再バランスがクラスタを一時的に不均衡にする可能性があります。
8.6.0 以降、デフォルトのシャード再バランスアルゴリズムは、最終的な望ましいバランスを計算し、現在のクラスタの状態を望ましい状態と調整するためにシャードの移動を行います。ただし、シャードの移動が行われる順序は特定のノードに偏る可能性があり、調整が進行中の間、クラスタが一時的に不均衡になる原因となります。常に、ノードがディスクのウォーターマークに達すると、追加のシャードを受け入れなくなりますが、この偏りにより、ノードが通常の操作で予想以上に頻繁にディスクのウォーターマークに達する可能性があります。調整プロセスが完了すると、クラスタは再びバランスが取れます。
この問題を回避するには、8.8.0 以降にアップグレードしてください。GC JVM 設定変更による高メモリ圧力
このバージョンの Elasticsearch は JDK 20 とバンドルされています。JDK 20 では 予防的 GC はデフォルトで無効 です。このため、特定の負荷パターンの下で大きなドキュメントを取得する際に、メモリ圧力が増加し、CircuitBreakerExceptions の数が増加する可能性があります。(問題: #99592)
この変更が Elasticsearch の使用に影響を与える場合は、JVM 引数-XX:+UnlockDiagnosticVMOptions -XX:+G1UsePreventiveGC
を追加して以前の動作を再度有効にすることを検討してください(参照: JDK 20 リリースノート)。この回避策は一時的なものであり、Elasticsearch のバージョン 8.10.2 までバンドルされている JDK 20 のみで機能することに注意することが重要です。以降のバージョンは JDK 21+ をバンドルしており、この設定は 削除されています。これらの JVM 引数を指定すると、JVM(したがって Elasticsearch ノード)が起動しなくなります。
バグ修正
- 割り当て
- ILM+SLM
- インジェストノード
- ネットワーク
RecyclerBytesStreamOutput
のオフバイワンバグを修正 #95036
- 回復
IndexShard
インスタンスの非同期作成 #94545
- 検索
- 空の PIT またはスクロールを閉じるときに 200 を返す #94708
- スタッツ
強化
- 認可
- 役割解析で
FieldPermissionsCache
を再利用 #94931
- 役割解析で
アップグレード
- パッケージング
- バンドルされた JDK を Java 20 にアップグレード #94600