Elasticsearch 8.16 和 JDK 23 的区域设置变更

Elasticsearch 8.16 和 JDK 23 的区域设置变更

💡 原文英文,约500词,阅读约需2分钟。
📝

内容提要

Elasticsearch用户注意:使用自定义日期格式或周日期字段时,升级到JDK 23可能影响日期处理。自v8.15.2起,Kibana会记录弃用警告。v8.16.0默认使用JDK 23和CLDR数据库,可能导致日期字符串变化,日期字段默认语言将改为英语。Elasticsearch v9将始终使用CLDR数据库。JDK 22不再支持,建议使用JDK 21。

🎯

关键要点

  • 使用自定义日期格式或周日期字段的Elasticsearch用户在升级到JDK 23时可能会受到影响。
  • 从v8.15.2开始,Kibana会记录弃用警告,提示用户可能会在升级到JDK 23时遇到日期格式变化。
  • Elasticsearch将继续使用JDK 22,所有v7.17.x和v8.15.x版本将使用COMPAT区域数据库。
  • v7.17.25和v8.15.2版本支持在JDK 23上运行,并将使用CLDR数据库。
  • 如果在JDK 23或更高版本上运行v7.17.24或v8.15.1及更早版本,将没有区域信息,默认使用基本英语。
  • 从v8.16.0开始,Elasticsearch将使用JDK 23并默认使用CLDR区域数据库,可能导致日期字符串和周日期的变化。
  • 为了减少根区域变化的影响,v8.16.0中日期字段和日期处理器的默认区域将从根区域改为英语(en)。
  • 如果不想立即适应这一变化,可以继续在JDK 22或更低版本上运行Elasticsearch v7或v8,使用COMPAT区域数据库。
  • 从Elasticsearch v9开始,无论运行的JDK版本如何,都会使用CLDR区域数据库。
  • JDK 22在JDK 23发布后将不再受到Oracle支持,未来的错误和安全漏洞将不会修复。
  • JDK 21是当前的长期支持版本,所有v7和v8版本的Elasticsearch在JDK 21上运行时将使用COMPAT数据库。
  • 使用自定义JDK与Elasticsearch时,请遵循相关说明,但在预构建的docker镜像或Elastic Cloud上无法实现。
➡️

继续阅读