Elasticsearch 版本 8.7.1

edit

Elasticsearch 版本 8.7.1

edit

另请参阅 8.7 中的重大变更

已知问题

edit
  • 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 发布说明)重新启用之前的行为。需要注意的是,此解决方法是临时的,仅适用于 JDK 20,该版本与 Elasticsearch 8.10.2 及以下版本捆绑在一起。后续版本将捆绑 JDK 21+,其中此设置 已被移除。指定这些 JVM 参数将阻止 JVM(以及 Elasticsearch 节点)启动。

Bug 修复

edit
Allocation
  • 基于最大分片大小计算负载均衡器阈值 #95090
  • DiskThresholdMonitor 重新路由后使用应用状态 #94916
  • 在协调期间削弱节点替换决策器 #95070
ILM+SLM
  • 下采样ILM操作应跳过非时间序列索引 #94835 (问题: #93123)
Ingest Node
  • 修复异步丰富执行过早释放丰富策略锁 #94702 (问题: #94690)
Network
  • 修复RecyclerBytesStreamOutput中的差一错误 #95036
Recovery
  • 异步创建 IndexShard 实例 #94545
Search
  • 当关闭空的PIT或滚动时返回200 #94708
Stats
  • 修复 _cluster/stats .nodes.fs 去重 #94798 (问题: #24472)
  • 修复 FsInfo 设备去重 #94744

增强功能

edit
Authorization
  • 在角色解析中重用 FieldPermissionsCache #94931

升级

edit
Packaging
  • 将捆绑的JDK升级到Java 20 #94600