
阅读《2024 中国开源开发者报告》赢大奖,扫码申请享特权

Apache Ignite 版本发布说明
===========================
Apache Ignite 分布式内存数据库 2.17.0
警告:
- 控制脚本现在默认使用瘦客户端协议(在节点中通过
ClientConnectorConfiguration
进行配置),通过Binary-REST
协议进行连接 (通过ConnectorConfiguration
配置)已经被废弃,未来的版本会被删除; - Ignite的源代码升级到Java 11;
- 删除了
SecurityContext
中的已废弃的认证方法; - 删除了
TcpCommunicationSpi
中已废弃的共享内存端口配置。
Ignite:
DumpReaderConfiguration
新增了keepRaw
参数;o.a.i.client.SslProtocol
新增了TLSv1_3
支持;IndexQuery
新增了事件支持;ClientConnectionException
中新增了地址信息;TcpDiscovery
的故障处理中新增了SSL错误检查;- 集群的分布式属性新增了默认值配置项;
caches
系统视图中新增了过期策略信息;OpenCensus
模块新增了相关的依赖库,使Prometheus指标收集直接可用,不再需要引入额外的依赖;- CDC的模式切换新增了日志输出;
putAllConflict
和removeAllConflict
操作新增了操作时间指标;- 新增了默认页面大小的日志输出;
- 日志文件中新增了查询线程池的指标输出;
snapshot
系统视图中新增了快照创建时间字段;- 修复了CDC模块的IgniteToIgnite流处理器在配置了
BinaryConfiguration
之后报错的问题; - 修复了在事务未初始化时,
TransactionsHoldingLockNumber
指标抛出空指针的问题; - 修复了在不稳定的拓扑中可能发生OOM崩溃的问题;
- 修复了在集群拓扑未初始化时,
ClusterPartitionsCountByState
指标报错的问题; - 修复了乐观事务中
IgniteCache.removeAsync(key,val)
调用报错的问题; - 修复了
IgniteCache#get
方法中的一个断言错误; - 修复了从WAL中读取
RotatedIdPartRecord
时的断言错误; - 修复了回环地址的后向连接检查问题;
- 修复了带有
NodeFilter
的缓存导出dump时的检查逻辑不正确的问题; - 修复了当DNS服务不可用时集群拓扑变更失败的问题;
- 修复了
IndexQuery
在服务端反序列化缓存条目不正确的问题; - 修复了导出缓存转储时出现重复数据的问题;
- 修复了纯内存模式中节点关闭/冻结过程中数据清理逻辑不正确的问题;
- 修复了
DataStreamer
更新TTL时的条目和检查点锁顺序不正确的问题; - 修复了
IpFinderCleaner
中的过度和无用的警告; - 修复了瘦客户端复制的过期时间设置不正确的问题;
- 修复了
TcpCommunication
消息中字段计数序列化不正确的问题; - 修复了如果一致性ID不是字符串增量快照恢复时报错的问题;
- 修复了页面退出跟踪器中的整型值过界的问题;
- 修复了
IndexQuery
本地执行时迭代器处理不正确的问题; - 修复了Java 21环境中代码部署时的lambda序列化报错的问题;
- 修复了重连时本地类部署缓存清理逻辑不正确的问题;
- 修复了Ignite的统计信息使用状态变更时的日志记录消息不正确的问题;
- 修复了汇总分布式长时间运行操作的缓存条目时的日志记录不正确的问题;
- 修复了长时间JVM暂停监测器逻辑不正确的问题;
- 修复了存在网络问题时快照恢复被取消时的节点崩溃问题;
- 修复了超时对象交叉时的节点崩溃问题;
- 修复了在快照开始阶段发生运行时异常时的节点崩溃问题;
- 修复了节点加入集群时的安全权限检查可能导致节点故障的问题;
- 修复了在索引的创建过程中并且缓存有相同的
deploymentId
时,节点加入集群可鞥失败的问题; - 修复了条目过期时挂起的树冗余清理的问题;
- 修复了
ClockPageReplacementFlags
中多余的lambda对象分配问题; - 修复了从关联缓存中删除所需关联分配实例的问题;
- 修复了异步事务操作的安全上下文传播不正确的问题;
- 修复了如果任务在映射阶段执行失败时应将异常堆栈返回瘦客户端的问题;
- 修复了当节点的服务过滤器类不存在时可能导致服务端节点故障的问题;
- 修复了当部署失败时服务描述符处理不正确的问题;
- 修复了默认log4j2模式中的起始方括号处理问题;
- 修复了有关关闭的套接字的警告消息处理问题;
- 修复了碎片处理过程中的索引值处理不正确的问题;
- 在事务中禁用了非事务的
IgniteCache#clear()
调用; - 实现了用户自定义指标;
- 实现了SQL和扫描查询的事务感知能力;
- 改进了接收新的服务端连接时对之前的节点的检查;
- Ignite的源代码升级到Java 11;
- 优化了通信消息的UUID序列化处理;
- 优化了持久化缓存的条目过期处理;
- 删除了
TcpCommunicationSpi
中已废弃的共享内存端口配置; - 删除了
SecurityContext
中的已废弃的认证方法; - 更新JTidy依赖版本到 1.0.5;
- 更新Janino依赖版本到 3.1.12;
- 更新Jetty依赖版本到9.4.56.v20240826;
- 更新Log4j2依赖版本到 2.22.0;
- 更新Netty依赖版本到 4.1.101.Final;
- 更新OpenCensus依赖版本到 0.31.1;
- 更新PostgreSQL JDBC驱动依赖版本到 42.7.3;
- 更新Snappy依赖版本到 1.1.10.7;
- 更新Spring依赖版本到 5.3.39;
- 更新ZooKeeper依赖版本 3.8.4;
- 更新commons-io依赖版本到 2.17.0;
- 更新grpc-context依赖版本到1.62.2;
- 更新json-path依赖版本到 2.9.0。
SQL:
- 新增了创建用户定义SQL视图的功能;
- 新增了对DML操作的长期运行跟踪功能;
- 修复了缓存大小越界时的
AssertionError
问题; - 修复了延迟加载的查询长期运行后没有警告输出的问题;
- 修复了H2中
ResultInterface#currentRow
额外列的断言错误问题; - 修复了嵌套子查询的性能问题;
- 修复了表统计数据定期更新的问题。
SQL Calcite引擎:
- 新增了扩展SQL引擎的能力,支持开发新的系统函数/操作符;
- 新增了算术越界处理逻辑;
- 新增了日期类型的格式化/解析函数对自定义格式的支持;
- 新增了关联类型的提示;
- 新增了
Cursor.getAll()
方法的内存配额控制; - 新增了操作认证功能;
- 新增了表级SQL提示;
- 新增了按位聚合函数 (
BIT_AND
,BIT_OR
,BIT_XOR
); - 新增了按位操作符 (
BITAND
,BITOR
,BITXOR
); - 新增了索引扫描时动态参数的OR操作符支持;
- 允许按别名和序号值分组;
- 修复了操作数抛出错误时的
typeof
函数行为; - 修复了当参数对应不同数据类型时
NVL/DECODE
函数报错的问题; - 修复了瘦客户端中执行多行语句时的断言错误问题;
- 修复了二进制对象动态参数处理方面的问题;
- 修复了带精度的数据类型非空检查方面的问题;
- 修复了相关变量的编译表达式缓存键(以避免具有不同数据类型的相关变量的缓存冲突);
- 修复了复杂主键索引扫描(二进制对象比较)方面的问题;
- 修复了关联嵌套循环中左联接报错的问题;
- 修复了默认的
TIMESTAMP
精度处理不正确的问题; - 修复了
CAST
函数关于不支持的FORMAT
错误信息不正确的问题; - 修复了
COUNT
(DISTINCT
)操作报错的问题; - 修复了Calcite引擎中执行的
CREATE TABLE
语句在DEFAULT
子句为空时报错的问题; - 修复了DDL语句隐藏敏感信息报错的问题;
- 修复了某些函数隐式转换为
DECIMAL
的问题。 - 修复了
TIME* WITH TIME ZONE
类型错误处理不正确的问题; - 修复了
IS [NOT] DISTINCT FROM
操作数值结果不正确的问题; - 修复了数值结果类型不同时,UNION操作结果不正确的问题;
- 修复了
DOUBLE
和FLOAT
类型最小限制类型优先级处理方面的问题; - 修复了生成执行计划阶段丢失
LIMIT/OFFSET
的问题; - 修复了动态查询参数情况下丢失精度的问题;
- 修复了索引重建过程中非空值计数计算不正确的问题;
- 修复了内部转换中数值处理不正确的问题;
- 修复了日期字面量解析不正确的问题;
- 修复了
index-count-scan
分区保留处理不正确的问题; - 修复了包含空值的输入的重新刷新问题;
- 修复了数字的舍入处理不正确的问题(现在将所有类型的浮点数字舍入为最接近的整数);
- 修复了JOIN和其他SQL节点的敏感信息删除失败的问题;
- 升级Calcite版本到1.37。
控制脚本:
- 在缓存创建命令中新增了一个忽略现有缓存的标志;
- 新增了以JSON格式查看缓存数据的功能;
- 在
metric
命令输出中新增了直方图边界; idleverify
命令中新增了日志输出信息;- 默认使用瘦客户端协议,废弃了通过
Binary-REST
协议进行连接; - 修复了CDC重新发送复制条目的问题;
- 修复了在未激活的集群上执行
idleverify
命令可能崩溃的问题; - 修复了当日志级别配置为
DEBUG
时执行idleverify
命令会报错的问题; - 修复了
cache distribution
命令执行过程中可能出现NPE的问题; - 修复了
cache distribution
命令的输出中分区列处理不正确的问题; - 修复了一致性修复命令的必要权限处理不正确的问题;
- 缓存操作删除了
ADMIN_OPS
权限检查。
Java瘦客户端:
- 服务感知中新增了对
ClientClusterGroup
的支持; - 新增了客户端启动和停止的事件支持;
- 新增了
invoke
/invokeAll
操作; - 修复了当集群以相同的拓扑版本重启后分区感知处理不正确的问题;
- 修复了启用集群发现但无法访问返回地址(在另一个子网中)时客户端初始化崩溃的问题;
- 修复了事务操作会阻塞
client-connector
线程的问题; - 修复了配置
NodeFilter
后分区感知处理不正确的问题; - 修复了集群重启后客户端的集群组数据过时的问题。
Ignite .NET:
- 新增了对计算任务会话的支持;
- 修复了当缓存ID为负值时平台缓存更新处理不正确的问题;
- 通过直接向部署服务的节点发送请求,提高了瘦客户端服务调用性能。
JDBC:
- 新增了对BLOB类型和流式API的支持。
还没有评论,来说两句吧...