Elasticsearch 版本 8.4.0

edit

Elasticsearch 版本 8.4.0

edit

另请参阅 8.4 中的重大变更

已知问题

edit
  • 如果自版本6.x以来未进行任何修改,则无法列出机器学习数据馈送

    如果您有一个在5.x或6.x版本中创建的数据馈送,并且自7.0版本以来未进行更新,则在8.4和8.5中无法列出数据馈送。这意味着无法使用Kibana管理异常检测作业。此问题已在8.6.0中修复。

    如果您使用这样的数据源升级到8.4或8.5,您需要通过使用这些步骤更新每个数据源的授权信息来解决问题。

  • 使用 settings.json 文件配置 Elasticsearch 的编排器在主节点选举期间可能会遇到死锁(问题:#92812

    要解决死锁问题,请删除settings.json文件并重启受影响的节点。

  • 解析请求时,当数组中的最后一个元素被过滤掉(例如使用 _source_includes)时会失败。这是由于 Jackson 解析器中的一个错误。已在 Elasticsearch 8.6.1 中修复(#91456
  • 当使用ingest attachment processor时,Tika与log4j 2.18.0及更高版本(在Elasticsearch 8.4.0中引入)的交互会导致过多的日志记录。这种日志记录非常过多,以至于可能导致集群不稳定,甚至使集群无法使用,节点必须重新启动。(问题:#91964)。此问题已在Elasticsearch 8.7.0中修复(#93878

    要解决此问题,请升级到 8.7.0 或更高版本。

Bug 修复

edit
Aggregations
  • 修复复合聚合中的多值处理 #88638
  • 修复:使用 bucket_selector buckets_path 提取矩阵统计信息 #88271 (问题: #87454)
  • 使 buckets_path 参数中的度量可选 #87220 (问题: #72983)
  • 将别名过滤器传播到显著性聚合过滤器 #88221 (问题: #81585)
Allocation
  • 将自动扩展副本夹紧到最接近的值 #87505 (问题: #84788)
  • 在某些情况下防止使用过时的节点权重进行重新平衡 #88385 (问题: #88384)
  • cluster.routing.allocation.disk.threshold_enabled 设置为 false 时,移除任何现有的 read_only_allow_delete 索引块 #87841 (问题: #86383)
  • 用状态观察器替换健康请求 #88641
Authentication
  • 修复唯一领域名称检查以覆盖默认领域 #87999
Authorization
  • remote_monitoring_agent 添加滚动权限 #87717 (问题: #84161)
Autoscaling
  • 收缩期间的自动扩展 #88292 (问题: #85480)
  • 不要在快照中包含所需节点 #87695
Cluster Coordination
  • 改进对模糊投票配置名称的拒绝 #89239
Data streams
  • 修复使用CCR复制重命名数据流的问题 #88875 (问题: #81751)
Distributed
  • 修复了批量请求中的空指针异常 #88385
EQL
  • 避免在PIT打开失败时尝试PIT关闭 #87498
  • 提高EQL序列断路器的精度 #88538 (问题: #88300)
Geo
  • 当结果线只有一个点时,地理线聚合返回一个geojson点 #89199 (问题: #85748)
  • geo_distance聚合中对范围进行排序 #89154 (问题: #89147)
Health
  • 修复检查最后一个快照是否成功时的NPE问题 #88811
  • 修复主节点稳定性功能的版本检查 #89322
  • 修复内部操作名称 #89182
  • 使用正确的连接获取远程主节点历史记录 #87299
Highlighting
  • 处理多个输入在普通高亮器中的排序 #87414 (问题: #87210)
ILM+SLM
  • Batch ILM move to retry step task update #86759
Infra/CLI
  • 在Windows服务CLI中引用带有空格的路径 #89072 (问题: #89043)
Infra/Core
  • Always close directory streams #88560
  • Delete invalid settings for system indices #88903 (issue: #88324)
  • Disallow three-digit minor and revision versions #87338
  • Handle snapshot restore in file settings #89321 (issue: #89183)
  • System indices ignore all user templates #87260 (issues: #42508, #74271)
Infra/Node Lifecycle
  • 修复停滞关闭的消息 #89254
Infra/Plugins
  • 在SPIClassIterator中禁用URL连接缓存 #88586 (问题: #88275)
Infra/Scripting
  • 脚本: UpdateByQuery 可以在请求时读取文档版本 #88740
Machine Learning
  • 解决训练模型在分配到节点后卡在启动状态的潜在问题 #88945
  • 修复BERT和MPNet在处理unicode重音时的分词错误 #88907 (问题: #88900)
  • 修复NLP question_answering 任务在最佳答案仅为一个token时的错误 #88347
  • 在未启动的模型部署中包含启动参数 _stats #89091
  • 修复使用roberta分词器进行fill_mask任务时的轻微分词错误 #88825
  • 修复分类和回归任务失败的潜在原因 #2385
Mapping
  • 在解析映射时,为合并的对象分配正确的路径 #89389 (问题: #88573)
  • 解析复合运行时字段时不要修改源映射 #89114
Network
  • 确保扩展的套接字选项 TCP_KEEPXXX 可用 #88935 (问题: #88897)
SQL
  • 修复 SqlSearchIT testAllTypesWithRequestToOldNodes #88883 (问题: #88866)
  • 修复日期范围检查 #87151 (问题: #77179)
  • 修复对象相等性 #87887
Search
  • 修复:如果没有任何分片失败,使用状态码500表示聚合减少阶段错误 #88551 (问题: #20004)
  • 覆盖可退出点访问者的批量访问方法 #82120
Security
  • 确保在重新加载安全设置时secureString保持打开状态 #88922
Snapshot/Restore
  • 修复部分快照失败后删除导致的队列快照分配问题 #88470 (问题: #86724)
Transform
  • Handle update error correctly #88619

弃用

edit
Vector Search
  • 弃用 _knn_search 端点 #88828

增强功能

edit
Aggregations
  • random_sampler 聚合添加基数支持 #86838
  • RangeAgg 进行小幅优化 #86935 (问题: #84262)
  • 加速计数过滤器/范围/日期直方图聚合 #81322
  • 更新桶度量管道聚合路径以允许中间单桶和符合多桶的桶聚合 #85729
Allocation
  • ReactiveReason 添加关于已分配和未分配分片的调试信息 #86132 (问题: #85243)
  • 优化日志集群健康性能。 #87723
  • 在数据层分配决策期间使用所需节点 #87735
Audit
  • 在创建或授予API密钥时审核API密钥ID #88456
  • 在创建、授予或更新API密钥时在审计日志中包含API密钥元数据 #88642
  • 可更新的API密钥 - 记录审计跟踪事件 #88276
  • 用户配置文件 - 安全域的审计支持 #87097
Authentication
  • 如果签名验证失败,重新加载JWKs并在找到新的JWKs时重试 #88023
Authorization
  • 具有操作模式的App权限不检索权限 #85455
  • 可取消的Profile Has Privilege检查 #87224
  • 当权限不足的用户(manage_own_api_key)尝试授予API密钥请求时返回操作被拒绝的错误 #87461 (问题: #87438)
  • 更新索引权限到企业搜索服务账户 #88703
Autoscaling
  • 添加处理器到自动扩展容量响应 #87895
  • 在集群状态中跟踪所需节点的状态 #87474
Cluster Coordination
  • 在持久化的集群状态中去除重复的映射 #88479
  • 在PCSS调试日志中暴露段详情 #87412
  • 针对具有种子主机的单节点集群的定期警告 #88013 (问题: #85222)
  • 在集群统计信息中报告总体映射大小 #87556
Data streams
  • 在指标模板上的数值字段上提供仅文档值的映射 #87100
Distributed
  • 添加将 PeerFinderListener 注册到协调器的能力 #88626
  • 使所需节点 API 仅限操作员使用 #87778 (问题: #87777)
  • 支持更新所需节点的“试运行”模式 #88305
FIPS
  • 当缓存使用的哈希函数在FIPS模式下不被推荐时记录警告 #86740
  • 当存储的API密钥或服务令牌的哈希器不符合FIPS时记录警告 #87363
Geo
  • 优化单例点的地理网格聚合 #87439
  • 支持带有文档值的笛卡尔形状 #88487
  • 使用更快但不太准确的日志算法来计算Geotile Y坐标 #87515
  • 使用更快的数学方法将WGS84投影到墨卡托 #88231
Health
  • 为不健康的SLM策略失败计数添加健康用户操作 #88523
  • 添加一个传输操作以获取集群形成信息 #87306
  • master_is_stable健康指示器服务添加额外功能 #87482
  • CoordinationDiagnosticsService创建一个传输操作 #87984
  • 将主节点稳定性逻辑移至其自己的服务中,与HealthIndicatorService分开 #87672
  • 为主节点稳定性健康指示器轮询集群形成状态 #88397
  • 从健康API中移除集群块预检检查 #87520 (问题: #87464)
ILM+SLM
  • 添加 min_* 条件到滚动更新 #83345
  • 跟踪自上次成功策略快照以来的失败调用次数 #88398
Infra/Core
  • 改进控制台异常消息 #87942
  • 在控制台非交互时打印完整的异常信息 #88297
  • 在执行强制合并索引生命周期管理操作时停止将索引设为只读 #81162 (问题: #81162)
  • 可选集合的流输入和输出支持 #88127
  • 更新内部http客户端的版本 #87491
Infra/Logging
  • 当格式化字符串失败时捕获异常 #87132
Infra/Scripting
  • 脚本:向摄取上下文添加元数据 #87309
  • 脚本:更新上下文的元数据 #88333
Infra/Settings
  • 将磁盘水印转换为RelativeByteSizeValues #88719
Ingest
  • 允许管道处理器忽略缺失的管道 #87354
  • 将摄取附件处理器移动到默认分发 #87989
  • 仅在需要时执行ensureNoSelfReferences检查 #87352 (问题: #87335)
  • 从摄取附件插件中移除BouncyCastle依赖 #88031
Machine Learning
  • 向ML配置列表添加授权信息 #87884
  • 在训练模型统计响应中添加已部署的本地模型到inference_stats #88187
  • 向推理节点统计信息添加推理缓存命中计数 #88807
  • trained_model部署API添加新的cache_size参数 #88450
  • 扩展允许的NER标签为任何I-O-B标记的标签 #87091
  • 提高NLP模型的可扩展性 #87366
  • 如果所有节点路由都失败,则指示整体部署失败 #88378
  • 新的frequent_items聚合 #83055
  • 更公平地应用大小惩罚以选择用于训练分类和回归模型的模型 #2291
  • 通过跳过不必要的精细参数调整来加速数据框分析的训练 #2298
  • 解决一些导致在高特征数量的大数据集上训练回归和分类模型时运行时间较长的原因 #2332
  • 为PyTorch推理添加缓存 #2305
  • 提高异常检测中位数估计的准确性 #2367 (问题: #2364)
Mapping
  • 在常量关键词字段上启用合成源支持 #88603
  • 加速 NumberFieldMapper #85688
Monitoring
  • JvmService 使用 SingleObjectCache #87236
Network
  • 允许在远程集群不可达的情况下启动集群 #87298
  • http.max_header_size 默认值增加到 16kb #88725 (问题: #88501)
Query Languages
  • 在SQL和EQL中添加对VERSION字段类型的支持 #87590 (问题: #83375)
Rollup
  • [TSDB] 在降采样求和中添加Kahan支持 #87554
SQL
  • Implement support for partial search results in SQL CLI #86982 (issue: #86082)
  • Update Tableau connector to use connection dialog v2 #88462
Search
  • 为索引的 dense_vectors 添加映射统计信息 #86859
  • 改进排序时遇到不兼容类型时的错误提示 #88399 (问题: #73146)
  • 在磁盘使用操作中支持kNN向量 #88785 (问题: #84801)
Security
  • Add setting for tcp_keepalive for oidc back-channel #87868
  • Support run_as another user when granting API keys #88335
  • Support exists query for API key query #87229
  • Updatable API keys - REST API spec and tests #88270
  • Updatable API keys - noop check #88346
Snapshot/Restore
  • INFO logging of snapshot restore and completion #88257 (issue: #86610)
  • Make snapshot deletes not block the repository during data blob deletes #86514
  • Retry after all S3 get failures that made progress #88015 (issue: #87243)
  • Speed up creating new IndexMetaDataGenerations without removed snapshots #88344
  • Update HDFS Repository to HDFS 3.3.3 #88039
Stats
  • 按使用情况排序摄取管道统计信息 #88035
TLS
  • 将颁发者添加到 GET _ssl/certificates #88445
Transform
  • 将授权信息添加到转换配置列表中 #87570
  • 实现每个转换的num_failure_retries设置 #87361

新功能

edit
Authentication
  • 支持更新API密钥属性(单操作路由) #88186
Health
  • Master stability health indicator part 1 (when a master has been seen recently) #86524
  • Remove help_url,rename summary to symptom, and user_actions to diagnosis #88553 (issue: #88474)
Infra/Core
Infra/Logging
  • 稳定的日志记录API - 基本用例 #86612
Machine Learning
  • 在数据馈送中使复合聚合功能普遍可用 #88589
Search
  • _source 字段映射器添加 mode 选项 #88211
TSDB
  • TSDB: 为时间序列索引实现降采样ILM操作 #87269 (问题: #68609)
Vector Search

升级

edit
Infra/Core
  • 升级到 Log4J 2.18.0 #88237
Network
  • 升级到 Netty 4.1.77 #86630