Elasticsearch 版本 8.10.0

edit

Elasticsearch 版本 8.10.0

edit

另请参阅 8.10 中的重大变更

已知问题

edit
  • 基于快照的降级

    快照存储库格式发生了变化,如果存储库包含从此版本创建的快照,并且上次写入此存储库的集群是在8.10系列中,则较早版本的Elasticsearch将无法读取存储库内容。这将阻止您通过恢复升级前创建的快照来回滚到8.10系列。

    由运行版本8.11.0及更高版本的集群编写的快照存储库与所有早期版本兼容。此外,运行版本8.11.0或更高版本的集群在首次写入存储库以获取或删除快照时,将自动修复存储库格式,使其内容可以再次被所有早期版本读取。

    如果您希望降级到8.9.0之前的版本,请先使用运行版本8.11.0或更高版本的集群进行快照的拍摄或删除,以修复存储库格式。如果您无法以这种方式修复存储库,请首先删除使用版本8.9.0或更高版本拍摄的存储库中的所有快照。为此,您需要使用运行版本8.10.0或更高版本的集群。

    如果您希望降级到8.9系列的版本,您必须使用运行版本8.11.0或更高版本的集群来创建或删除快照以首先修复存储库格式。如果您无法以这种方式修复存储库,请首先使用运行版本8.10.4的集群删除使用版本8.10.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 节点)启动。

重大变更

edit
Analysis
  • 将预配置和缓存的分析器组件更改为使用 IndexVersion 而不是 Version #97319
Geo
  • 移除矢量瓦片插件中未使用的执行器构建器 #96577

Bug 修复

edit
Aggregations
  • 时间序列文档值中的基数嵌套错误 #99007
  • 跳过 MatchNoDocsQuery 过滤器的段 #98295 (问题: #94637)
Allocation
  • 不要分配被忽略的分片 #98265
  • 移除BatchedRerouteService中的异常包装 #97224
Application
  • [分析] 在过时的索引上中止索引创建 #98864
  • [分析] 在状态中考虑静态设置 #97890
  • [分析] 标记没有名称的可执行文件 #98884
CRUD
  • indicesThatCannotBeCreated 上添加缺失的同步 #97869
Cluster Coordination
  • 修复单节点发现时的集群引导警告 #96895 (问题: #96874)
  • 修复发现中断后的选举调度 #98420
  • 提高消息延迟情况下的选举可靠性 #98354 (问题: #97909)
  • 使 TransportAddVotingConfigExclusionsAction 可重试 #98386
  • 在超时时释放主服务任务 #97711
Data streams
  • 避免在数据流生命周期使用API中出现生命周期NPE #98260
Distributed
  • 避免在TransportBroadcastAction中使用transport_worker线程 #98001
  • 避免在TransportBroadcastByNodeAction中使用transport_worker线程 #97920 (问题: #97914)
  • TransportNodesAction中分叉响应读取 #97899
Downsampling
  • 复制“index.lifecycle.name”用于ILM管理的索引 #97110 (问题: #96732)
  • 下采样:复制_tier_preference设置 #96982 (问题: #96733)
EQL
Geo
  • 修复 Maps#flatten 处理列表中的映射值的方式 #98828
  • 修复返回部分结果时的 mvt 错误 #98765 (问题: #98730)
Health
  • _health_report SLM 指标应使用策略 ID(而不是名称)#99111
Indices APIs
  • 确保冻结索引具有正确的层级偏好 #97967
Infra/REST API
  • 修复了当 transportversion 为空时在 MainResponse 中可能出现的 NPE 问题 #97203
Ingest Node
  • 还原“添加用于丰富字段的映射” #98683
Machine Learning
  • 避免在内存受限时数据馈送中的OOM风险 #98324 (问题: #89769)
  • 检测WordPiece分词器中的无限循环 #98206
  • 修复以防止可聚合子对象被视为多字段,以支持数据框分析中的"subobjects": false #97705 (问题: #88605)
  • 修复change_point中的奇怪错误,其中所有数据值都相等 #97588
  • 模型加载服务不应在同步块中通知监听器 #97142
Mapping
  • 修复了使用 subobjects: falsefields API #97092(问题:#96700
Network
  • 分叉远程集群响应处理 #97922
Search
  • Fork CCS 远程集群响应 #98124 (问题: #97997)
  • Fork CCS 搜索分片处理 #98209
  • 提高 CCS 搜索取消的测试覆盖率并修复响应错误 #97029
  • 使 terminate_after 更友好地进行早期终止 #97540 (问题: #97269)
  • 在请求时跟踪 max_score 折叠 #97703 (问题: #97653)
Security
  • 修复在配置索引存在之前使用配置UID调用GetUser时的NPE问题 #98961
Snapshot/Restore
  • 修复 BlobCacheBufferedIndexInput 克隆后的读取问题 #98970
TSDB
  • 映射字段类型可通过doc值进行搜索 #97724
Transform
  • 修复在更新旧数据时错误计算日期桶的转换问题 #97401 (问题: #97101)
Watcher
  • 更改观察者以禁用共享http客户端中的cookie #97591

弃用

edit
Authorization
  • 标记 apm_user 以在未来的主要版本中移除 #87674

增强功能

edit
Aggregations
  • 当聚合不支持计数器字段时,改进错误消息 #93545
  • TimeSeries 的默认索引模式设置为 null #98808 (问题: #97429)
Allocation
  • node.roles 添加到 cat allocation API #96994
Application
  • [分析] 添加对升级的初步支持 #97380
  • [分析] 支持索引迁移 #97773
Authentication
  • 避免双重获取 #98067 (问题: #97928)
  • 为kibana用户提供对.slo-observability.*索引的所有访问权限 #97539
  • 无需搜索即可刷新令牌 #97395
Authorization
  • 在认证响应中添加“operator”字段 #97234
  • 从环境设置中读取操作员权限启用 #98246
  • [Fleet] 允许 kibana_system 设置数据流生命周期 #97732
Data streams
  • 安装用于Kibana报告的数据流模板 #97765
Downsampling
  • MetricFieldProducer#metrics 字段类型从列表更改为数组 #97344
  • 改进在降采样操作期间遍历多个字段生产者 #97281
  • 使用持久任务运行降采样 #97557 (问题: #93582)
EQL
  • EQL 仅在内部 field_caps 调用中使用必要的字段 #98987
Engine
  • 修复了空闲时刷新活动标志的边缘情况 #97332 (问题: #97154)
Health
  • 为仅搜索节点添加磁盘健康检查的特殊逻辑 #98508
  • 健康 API 定期日志记录 #96772
ILM+SLM
Infra/Core
  • 用于报告文档解析的基础设施 #97961
Infra/Node Lifecycle
  • 在报告节点迁移停滞之前检查ILM状态 #98367 (问题: #89486)
Infra/Plugins
  • 添加 ApiFilteringActionFilter #97985
Infra/REST API
  • 动态启用无服务器API保护 #97079
  • 使RestController可插拔 #98187
Infra/Settings
  • 为无服务器设置标记客户设置 #98051
Ingest Node
  • 允许下载自定义的地理IP数据库文件 #97850
Network
  • 为RCS传输连接添加请求头大小限制 #98692
Search
  • Add completion_time time field to async_search get and status response #97700 (issue: #88640)
  • Add setting for search parallelism #98455
  • Add support for concurrent collection when size is greater than zero #98425
  • Cross-cluster search provides details about search on each cluster #97731
  • Enable parallel collection in Dfs phase #97416
  • Exclude clusters from a cross-cluster search #97865
  • Improve MatchNoDocsQuery description #96069 (issue: #95741)
  • Improve exists query rewrite #97159
  • Improve match query rewrite #97208
  • Improve prefix query rewrite #97209
  • Improve wildcard query and terms query rewrite #97594
  • Introduce Synonyms Management API used for synonym and synonym_graph filters #97962 (issue: #38523)
  • Introduce a collector manager for PartialHitCountCollector #97550
  • Introduce a collector manager for QueryPhaseCollector #97410
  • Limit _terms_enum prefix size #97488 (issue: #96572)
  • Support minimum_should_match field for terms_set query #96082
  • Support type for simple query string #96717
  • Unwrap IOException in ContextIndexSearcher concurrent code-path #98459
  • Use a collector manager in DfsPhase Knn Search #96689
  • Use the Weight#matches mode for highlighting by default #96068
  • Wire QueryPhaseCollectorManager into the query phase #97726
  • Wire concurrent top docs collector managers when size is 0 #97755
  • ProfileCollectorManager to support child profile collectors #97387
  • cleanup some code NoriTokenizerFactory and KuromojiTokenizerFactory #92574
Security
  • 添加一个用于管理安全系统索引设置的API #97630
  • 支持通过获取API密钥API获取仅活动的API密钥 #98259 (问题: #97995)
Snapshot/Restore
  • 添加设置以选择性地使用 mmap 进行共享缓存 IO #97581
  • 为 S3 收集额外的对象存储统计信息 #98083
  • HDFS 插件添加 replication_factor 参数 #94132
Store
  • 允许Lucene目录实现估计其大小 #97822
  • 允许ByteSizeDirectory公开其数据集大小 #98085
TSDB
  • 添加 tsdb 指标内置组件模板 #97602
  • 包含更多降采样状态统计信息 #96930 (问题: #96760)
  • TimeSeriesIndexSearcher 卸载到提供的执行器 #98414
Transform
  • 支持在转换中使用箱线图聚合 #96515

新功能

edit
Application
  • 启用查询规则作为技术预览 #97466
  • [企业搜索] 添加连接器索引和ent-search管道 #97463
Data streams
  • 为数据流生命周期引入下采样配置 #97041
Search
  • 引入执行器以进行并发搜索 #98204
Security
  • 基于API密钥的跨集群访问的Beta版本 #98307

升级

edit
Network
  • 将Netty升级到4.1.94.Final #97040