Elasticsearch 版本 8.11.0

edit

Elasticsearch 版本 8.11.0

edit

另请参阅 8.11 中的重大变更

重大变更

edit
Infra/Core
  • 从集群状态API中移除transport_versions #99223

已知问题

edit
  • 由于JDK 21中的GC变化导致的高内存压力

    此版本的Elasticsearch捆绑了JDK 21。在JDK 21中,预防性GC已被移除。 这可能会导致在某些特定负载下检索大文档时,内存压力增加和CircuitBreakerExceptions数量增加。(问题: #99592)

    如果你需要在之前的Elasticsearch版本中显式地为你的工作负载启用预防性GC,我们建议你避免升级到这个版本,因为启用预防性GC的设置已从JDK 21中移除。

Bug 修复

edit
Aggregations
  • 调整 DateHistogram 的桶计数以迭代方式进行 #101012
  • 允许在非字符串路由字段上进行解析 #97729
  • 在合成源中支持运行时字段 #99796 (问题: #98287)
Allocation
  • 考虑在 DataTierAllocationDecider 中关闭节点 #98824 (问题: #97207)
Application
  • 将回溯与客户端缓存对齐 #101264
  • 增加K/V回溯时间间隔 #101205
  • 提供稳定的重采样 #101255
  • [分析] 加强资源创建检查 #99873
Authorization
  • 允许 enrich_user 读取/查看 enrich 索引 #100707
  • 授予编辑者和查看者对分析的访问权限 #100594
CCR
  • CCR: 使用本地集群状态请求 #100323
CRUD
  • GetFromTranslog 更改为索引操作 #99300
  • 在解析索引模板之前等待集群恢复 #99797
Cluster Coordination
  • 在重新路由之前重置GatewayService标志 #98653 (问题: #98606)
Data streams
  • DSL等待tsdb时间边界到期 #100470 (问题: #99696)
  • DataTiersUsageTransportAction中传播取消 #100253
  • [DSL] 跳过删除正在进行下采样操作的索引 #101495
Downsampling
  • 使下采样目标索引副本可配置 #99712
ES|QL
  • "params" 正确解析了包括可选 "type" 的值 #99310 (问题: #99294)
  • 在构建 BytesRefArrayBlock 时处理抛出的异常 #99726 (问题: #99472)
  • 添加算术运算符 #98628
  • 在 Block 相等性中添加身份检查 #100377 (问题: #100374)
  • 将 Enrich 隐式 match_fields 添加到 field_caps 调用中 #101456 (问题: #101328)
  • 更好地管理带有合成源的未存储 TEXT 字段 #99695
  • 继续解析 Eval 的属性 #99601 (问题: #99576)
  • 在需要时为 IN 创建一个 Vector #99382 (问题: #99347)
  • ESQL: 修复 topn 中的未释放块 #101648 (问题: #101588)
  • ESQL: 在转换前检查类型 #101492 (问题: #101489)
  • 修复聚合字面量时的 NPE #99827
  • 修复 LIKE 操作符中反斜杠的转义 #101120 (问题: #101106)
  • 修复对可折叠字面量上的函数求值 #101438 (问题: #101425)
  • 修复 ValueSources 中不支持的数据类型返回非空值的问题 #100656 (问题: #100048)
  • 优雅处理过滤器中的非布尔条件 #100645 (问题: #100049, #100409)
  • 处理带有不存在 enrich 策略且没有字段的查询 #100647 (问题: #100593)
  • 实现 InvalidMappedField 的序列化 #98972 (问题: #98851)
  • 改进不正确聚合声明的验证器错误 #100650 (问题: #100641)
  • 限制 concat() 可以处理的字节数 #100360
  • 使 DISSECT 参数 append_separator 不区分大小写 #101358 (问题: #101138)
  • Page 不应关闭块两次 #100370 (问题: #100356, #100365)
  • 在本地关系中保留中间聚合输出 #100866 (问题: #100807)
  • 正确处理 fold() 和日期数学中的多值 #100766 (问题: #100497)
  • 移除 Eval 内部的别名 #100238 (问题: #100174)
  • 对非索引字段的弹性处理 #99588 (问题: #99506)
  • 在规划物理片段时跳过合成属性 #99188 (问题: #99170)
  • 支持日期和时间间隔作为输入参数 #101001 (问题: #99570)
  • 支持不返回底层字段的查询 #98759 (问题: #98404)
  • 使用精确属性进行数据源提取 #99874 (问题: #99183)
  • mv_expand 下推 limit 和 project 并保持 limit 不变 #100782 (问题: #99971, #100774)
  • 在查询索引模式时支持 metric tsdb 字段 #100351 (问题: #100144)
Geo
  • 使用 NamedWritable 启用 GeoBoundingBox 序列化 #99163 (问题: #99089)
Health
  • 修复 StableMasterHealthIndicatorService 中的NPE #98635
  • 健康报告基础设施不会触发断路器 #101629
  • GetHealthAction 中传播取消 #100273
Highlighting
  • 正确处理 ScriptScoreQuery 在普通高亮器中 #99804 (问题: #99700)
  • 当 kNN 查询存在时禁用 weight_matches #101713
ILM+SLM
  • RepositoryData计算SLM保留 #100092 (问题: #99953)
  • WaitForSnapshotStep 验证索引是否属于该SLM策略的最新快照 #100911
Infra/Core
  • java.net.NetPermission 添加到 APM 模块的权限 #99474
  • 不要在混合集群中更新系统索引映射 #101778 (问题: #101331, #99778)
  • 恢复 "Kibana 系统索引不允许用户模板影响它" #98888
  • 在 8.10 发布后指定正确的当前 IndexVersion #98574 (问题: #98555)
  • 跟踪: 使用 doPriv 处理跨度时,使用 SpanId #100232
Infra/Scripting
Ingest Node
  • 改进 tika 处理 #101486
  • 更新 enrich 执行,仅在支持的字段上设置索引为 false #98038 (问题: #98019)
Machine Learning
  • 避免在内存受限时数据馈送中的OOM风险 #98915 (问题: #89769)
  • 修复推理请求被发送到每个有模型分配的节点的问题。如果节点数量多于原始请求中的项目,则会发送空请求。 #100388 (问题: #100180)
  • 在调用_infer API时保留推理结果的顺序,当模型部署有多个分配时,输出结果的顺序不能保证与输入顺序匹配。修复确保输出顺序与输入顺序匹配。 #100143
  • 移除嘈杂的找不到训练模型消息 #100760
  • 在允许节点关闭之前安全地排空部署请求队列 #98406
  • 在混合版本集群中使用正确的可写名称进行模型分配元数据。防止由于IllegalArgumentException Unknown NamedWriteable [trained_model_assignment]导致的节点故障 #100886
  • 等待优雅停止部署,直到存在替代分配 #99107
Mapping
  • 自动禁用数据流@timestamp字段上的ignore_malformed #99346
  • 修正ContentPath::remove()的行为 #98332 (问题: #98327)
  • 修复带有subobjects: false的可组合索引模板的映射合并 #97317 (问题: #96768)
  • Percolator支持解析带有参数的脚本评分查询 #101051 (问题: #97377)
Network
  • 在建立连接后不要报告失败 #99117
Percolator
  • 修复了针对存储查询的percolator查询,这些查询在通配符字段名称上扩展 #98878
Query Languages
Recovery
Search
  • 多词项SourceConfirmedTestQuery的一致性分数 #100846 (问题: #98712)
  • 修复UnsignedLong字段范围查询gt "0"可以得到等于0的结果 #98843
  • 修复advanceExact对于来自源的doc值 #99685
  • OpenPointInTimeAction中分叉响应发送 #99222
  • [CI] 解决SearchResponseTests#testSerialization失败 #100020 (问题: #100005)
  • 修复模糊查询重写参数不工作 #97642
Security
  • 修复 RotableSecret 中的 NullPointerException #100779 (问题: #99759)
Snapshot/Restore
  • 修复 SnapshotsService 中的竞争条件 #101652
  • 修复快照双重最终化 #101497
  • 修复 getRepositoryData 中的线程上下文 #99627
  • 冻结索引输入克隆复制缓存文件 #98930
  • 使 S3 反争用延迟可配置 #101245
  • 更强大的仓库分析超时 #101184 (问题: #101182)
  • 注册 repository_s3 设置 #101344
  • 恢复 RepositoryData 向后兼容性 #100447
TSDB
  • 不要忽略没有模板定义的空索引模板 #98840 (问题: #98834)
  • 修复painless执行API和tsdb问题 #101212 (问题: #101072)
  • 在Serverless中公开tsdb设置 #99567 (问题: #99563)
Transform
  • 修复获取失败转换的转换统计信息时可能出现的NPE #98061 (问题: #98052)
  • 刷新目标索引时忽略IndexNotFound错误 #101627
  • 使Transform功能重置真正等待所有任务完成 #100624
  • 使计算检查点的任务可取消 #100808
Watcher
  • 将观察者webhook响应头名称视为不区分大小写 #99717

弃用

edit
Rollup

增强功能

edit
Aggregations
  • 通过 ClusterSettings 禁用 FilterByFilterAggregator #99417 (问题: #99335)
  • 将直方图值计数表示为长整型 #99912 (问题: #99820)
  • 在单个过滤聚合上跳过 DisiPriorityQueue #99215 (问题: #99202)
  • FiltersAggregator 中使用竞争迭代器 #98360 (问题: #97544)
Allocation
  • 在 /_cluster/allocation/explain 响应中报告节点的 "roles" 设置 #98550 (问题: #97859)
Application
  • 添加火焰图 API #99091
  • [分析] 允许自定义 ILM 策略 #99909
  • [分析] 允许等待资源创建完成 #99655
Audit
  • 减少批量索引审计日志的冗长性 #98470
Authentication
  • 允许通过设置禁用本地用户/角色 #98654
CAT APIs
  • 数据集大小添加到类别索引和类别分片 #98622 (问题: #95092)
Data streams
  • 允许解释数据流生命周期以接受数据流 #98811
ES|QL
  • 添加 CEIL 函数 #98847
  • 添加执行日期数学运算的能力 #98870 (问题: #98402)
  • 在比较运算符和SORT中添加对TEXT字段的支持 #98528 (问题: #98642)
  • 压缩topn #99316
  • 负数的日期数学运算 #99711
  • 为持续时间和周期启用算术运算 #99432 (问题: #99293)
  • 增强SHOW FUNCTIONS命令 #99736 (问题: #99507)
  • 改进日志消息 #99470
  • 一致地记录执行时间 #99286
  • 记录查询和执行时间 #99058
  • 记录查询的开始和结束 #99746
  • 如果没有用户提供的隐式限制,则降低隐式限制 #99816 (问题: #99458)
  • 使设置动态化 #101516
  • 将计数器字段标记为不支持 #99054
  • 移除date_xxx()的交换参数检查 #101362 (问题: #99562)
  • 在表达式中序列化源 #99956
  • 简单检查所有块是否被释放 #100199
  • 在sqrt和log10中支持无符号长整型 #98711
  • 使用DEBUG日志级别报告执行步骤 #99303
Engine
  • 使用 IndexWriter.flushNextBuffer() 从索引缓冲区回收内存 #94607
Health
  • 在计算主节点稳定性时,避免使用不再集群中的节点 #98809 (问题: #98636)
  • 当主分片处于非活动状态但这是预期行为时,同样适用于该分片的副本。 #99995 (问题: #99951)
Infra/Core
  • APM计量API #99832
  • 更新elastic-apm-agent版本 #100064
  • 使用映射版本在创建时检索系统索引映射 #99555
Infra/Node Lifecycle
  • 从失败的引导检查中添加链接到文档 #99644 (问题: #99614)
  • 分块 SingleNodeShutdownStatusShutdownShardMigrationStatus (及相关操作) 响应 #99798 (问题: #99678)
Infra/REST API
  • IndexVersion 添加到节点信息 #99515
  • 以可插拔的方式将组件信息版本添加到节点信息中 #99631
  • 为不可用的 API 端点返回 410 (Gone) 状态码 #97397
Machine Learning
  • 添加新的 _inference API #99224
  • 为训练模型添加平台特定选项 #99584
  • 长时间未分配作业的日志警告 #100154
  • 简化 Inference Ingest Processor 配置 #100205
Mapping
  • 当子对象为false时自动展平对象 #97972 (问题: #88934)
  • 明确解析FieldMappers的对象能力 #98684 (问题: #98537)
  • 重新引入sparse_vector映射 #98996
Network
Recovery
  • 等待集群状态恢复 #99193
Search
  • 为所有集群搜索状态的 _clusters 响应添加额外的计数器 #99566 (问题: #98927)
  • sparse_vector 字段添加对存在查询的支持 #99775 (问题: #99319)
  • 使 _index 对于固定的查询文档可选 #97450
  • 减少创建滚动/PIT ID时的复制操作 #99219
  • 重构 SearchResponseClusters 以使用CHM #100129 (问题: #99101)
  • 支持CCS minimize_roundtrips=false的集群/详细信息 #98457
Security
  • 支持旋转JWT共享密钥 #99278
Snapshot/Restore
  • 当分片数据文件因快照写入失败时,移除这些文件 #99694
Stats
  • 从TransportNodesInfoAction.NodeInfoRequest中修剪不必要的信息 #99938 (问题: #99744)
TSDB
  • 为tsdb数据流添加index.look_back_time设置 #98518 (问题: #98463)
  • 改进时间序列错误和文档 #100018
  • 修剪tsdb中_id字段的存储字段 #97409
Transform
  • 添加必要的访问器以从字段重新创建 TransformStats 对象 #98844
Vector Search
  • 添加新的 max_inner_product 向量相似度函数 #99527
  • 为索引的 dense_vector 字段添加 nested 支持 #99763
  • 密集向量字段类型默认被索引 #98268
  • 将最大向量维度增加到 4096 #99682

新功能

edit
Analysis
  • 添加对波斯语语言词干提取器的支持 #99106 (问题: #98911)
Application
  • 自动将长度为128 - 2048的浮点数组映射为dense_vector #98512 (问题: #97532)
Data streams
  • GA 数据流生命周期 #100187
  • GET _data_stream 显示 ILM 和 DSL 信息 #99947
ES|QL
  • 集成 Elasticsearch 查询语言,ES|QL #98309
  • LEAST 和 GREATEST 函数 #98630
  • LEFT 函数 #98942
  • LTRIM, RTRIM 和修复 Unicode 空白 #98590
  • RIGHT 函数 #98974
  • 多值字段使用 min 和 max 进行 TopN 排序 #98337

升级

edit
Packaging
  • 将捆绑的JDK更新到21.0.1 #101133
Search
  • 将主版本升级到 Lucene 9.8.0 #100138