Apache Ignite 版本发布说明

Apache Ignite 分布式内存数据库 2.15.0

(!) 警告:

  • 删除了Ignite节点的Daemon模式;
  • 删除了废弃了的ignitevisorcmd工具;
  • 删除了遗留的JMX Beans(ThreadPoolMXBeanCacheGroupMetricsMXBeanCacheMetricsMXBeanPersistenceMetricsMXBeanDataStorageMetricsMXBeanDataRegionMetricsMXBean);
  • 删除了多余的ignite-spring模块的ignite-indexing模块依赖,如果需要在Ignite中执行SQL,并且使用了Maven,需要明确指定使用哪个SQL引擎:ignite-indexing或者ignite-calcite
  • ignite-ssh模块迁移到扩展库;
  • 废弃了SqlFieldsQuerylazy标志,该标志的默认值改为true
  • 事务内操作院子缓存默认会被禁止,如果要允许这样的操作,需要将系统属性IGNITE_ALLOW_ATOMIC_OPS_IN_TX配置为true

Ignite:

  • 新增增量快照功能;
  • 新增缓存对象转换功能(可用于加密、压缩或者数据过滤);
  • 快照支持开启磁盘页面压缩的缓存;
  • 快照支持只复制主分区数据的功能;
  • 快照恢复过程新增忽略快照检查的选项;
  • 当数据流正在进行数据加载时执行快照会抛出异常,无法保证一致性;
  • 将快照操作的警告写入元数据存储;
  • 新增快照增量页面排序;
  • 创建快照时新增分区大小和计数器检查;
  • 新增CONFIGURATION系统视图;
  • PAGE_LISTS系统视图新增页面空闲空间列;
  • 新增杀死客户端连接的API(瘦客户端、JDBC、ODBC);
  • 新增页面读时间和页面替换时间的指标;
  • 新增瘦客户端分区感知的相关指标;
  • 新增禁用CDC的全局属性;
  • 新增最大CDC目录大小的配置属性;
  • CDC支持过期策略;
  • CDC冲突解决期间支持过期时间配置;
  • CacheJdbcPojoStore新增对CLOBBLOB类型的支持;
  • 在Java 15+的环境中,添加了缺失的--add-opens
  • PlatformDotNetSessionLockResult新增了默认的构造器以避免在部分应用服务器上中ReflectionFactory的某些问题;
  • 网络分区处理支持使用已配置的FailureHandler
  • .NET和C++计算任务支持授权;
  • 集群节点的停止/启动/重启操作支持授权;
  • SQL的用户管理操作支持授权;
  • 新增ADMIN_CLUSTER_STATE权限(这是修改集群状态唯一需要的权限);
  • 通过FQN授予系统计算任务的权限已被预定义的系统权限所取代;
  • 改进了再平衡和PME过程的日志;
  • JMX导出器现在是默认的指标导出器;
  • 优化了索引的重建过程(索引重建过程中禁用了WAL);
  • 优化了开启了持久化的大内存区的冻结过程;
  • 优化了内存页面的归零处理;
  • 修复了JDK17环境下的lambda序列化问题;
  • 修复了Windows环境下的磁盘碎片化问题;
  • 修复了开启后写的缓存执行cache.invoke()方法时的JDBC连接内存泄漏问题;
  • 修复了当数据条目大于WAL缓冲区大小时原子缓存的数据损坏问题;
  • 修复了在非基线节点创建快照方面的一个问题;
  • 修复了缓存正在更新数据时的快照不一致问题;
  • 修复了多节点配置同一个路径时快照取消方面的一个问题;
  • 修复了如果预处理阶段失败导致快照无法恢复的问题;
  • 修复了客户端节点崩溃时ignite-cdc停止的问题;
  • 修复了ignite-cdc.sh在非默认工作目录中启动失败的问题;
  • 修复了索引重建过程中CdcMain的状态提交不正确的问题;
  • 修复了ignite-cdc.sh停止时CdcConsumer停止的问题;
  • 修复了在线客户端会话数相关指标不正确的问题;
  • 修复了缓存组存储大小相关指标计算不正确的问题(PagesFillFactorTotalUsedPagesTotalAllocatedPages);
  • 修复了currentTimeMillis减少时直方图更新断言处理不正确的问题;
  • 修复了请求失败时REST状态码不正确的问题;
  • 修复了执行REST API的GET操作时可能会略过第三方存储的问题;
  • 修复了计算任务中某些参数传递方面的问题;
  • 修复了配置成对连接时通信SPI可能断言处理不正确的问题;
  • 修复了水平再平衡场景的潜在数据丢失问题;
  • 修复了启用磁盘页面压缩时CRC计算断言处理不正确的问题;
  • 修复了当cpMapSnapshot.bin文件损坏时节点启动失败的问题;
  • 修复了冻结集群后执行检查点会导致存储损坏的问题;
  • 修复了冻结集群后条目过期处理会导致存储损坏的问题;
  • 修复了缓存停止时执行再平衡操作导致节点故障的问题;
  • 修复了同时销毁缓存和回滚事务时的空指针异常;
  • 修复了ClusterGroup.forNodeId中ID检查不正确的问题;
  • 修复了瘦客户端重连后关联关系处理不正确的问题;
  • 修复了在非并置节点上近缓存创建处理不正确的问题;
  • 修复了由于压缩缓冲区大小不足而可能导致的内存损坏问题;
  • 修复了在快照验证过程中跳过索引和元存储分区验证的问题;
  • 修复了IndexQuery中会忽略第一个IN子句后面的条件的问题;
  • 修复了LOG_ONLYBACKGROUND模式下WalWritingRate指标计算不正确的问题;
  • 将log4j2依赖更新至2.20.0;
  • 将Jetty依赖更新至9.4.49.v20220914;
  • 将Jackson Databind依赖更新至2.14.0;
  • 将postgresql依赖更新至42.5.0;
  • 将Netty依赖更新至4.1.89.Final;
  • 将Ant依赖更新至1.10.13;
  • 将Apache Calcite依赖更新至1.32.0。

控制脚本:

  • 新增缓存清理的命令;
  • 新增缓存扫描命令;
  • 新增一致性修复命令的多分区支持;
  • idle-verify命令支持输出损坏的分区列表;
  • idle-verify命令支持将结果保存到日志文件;
  • idle-verify命令改进了数据条目的检查;
  • 新增了配置直方图和命中率指标的命令;
  • 新增了强制重新发送CDC数据的命令;
  • 新增了删除删除最后断档的CDC段链接的命令;
  • 新增了开始和取消快照操作的统一语法;
  • 新增从多节点获取视图数据的功能;
  • 将日志机制迁移至IgniteLogger

Java瘦客户端:

  • 新增了服务端发现功能;
  • 新增了ClientConfiguration.clusterDiscoveryEnabled配置参数;
  • 新增了事件监听功能;
  • 新增了连接的负载平衡能力(请求时随机打开连接而不是使用默认值);
  • 新增了可配置的日志;
  • 修复了关闭时挂起的请求竞争问题。

Ignite .NET:

  • 新增了服务的默认接口方法支持;
  • 新增了原生AOT支持;
  • 新增了IgniteClientConfiguration.EnableClusterDiscovery配置属性,用于开启和禁用服务端发现;
  • 修复了使用不同模式对嵌套的可二进制化结构进行编组的问题;
  • 修复了Java 15+环境的启动问题;
  • 修复了具有近缓存的客户端节点上的平台缓存无效问题;
  • 修复了二进制包缺失DLL的问题。

Ignite C++:

  • 新增了C++瘦客户端可以使用Java端的持续查询远程过滤器的功能;
  • 修复了瘦客户端连接关闭时的SIGSEGV问题。

ODBC:

  • 修复了单引号处理方面的问题。

SQL:

  • 修复了注释行的冗余查询结果问题;
  • 修复了索引扫描的不正确类型转换(例如,当索引字段具有字符串数据类型而搜索行具有数字数据类型时);
  • 修复了更新SQL统计信息时发现线程中可能出现死锁的问题。

基于Calcite的SQL引擎:

  • 新增了配置全局堆内存配额和查询级堆内存配额的功能;
  • 新增了扫描索引的内联键的功能,而无需对数据页进行额外请求;
  • 新增了对SEARCH/SARG操作的原生支持(这使得包括IN在内的一些条件可以使用索引扫描);
  • 新增了对LocalDate/LocalTime数据类型的支持;
  • 新增了对布尔类型字段的索引扫描功能;
  • 新增了EVERY/SOME聚合函数;
  • 新增了Calcite解析器异常的细节输出;
  • 新增了新的的分布类型(部分关联的并置优化);
  • 新增了COUNT(column)优化(column加上了索引);
  • 新增了同一字段的合并索引条件优化;
  • 新增了min()/max()聚合函数的优化(使用起始/最后索引值);
  • 新增了将不相关的筛选器部分推送到表扫描的优化;
  • 实现了ODBC/JDBC需要的元数据查询功能;
  • 优化了空值的索引扫描;
  • 修复了排除过期条目的扫描问题;
  • 修复了带偏移量限制的行数统计问题;
  • 修复了将数值型转成布尔型的CAST错误问题;
  • 修复了在不存在的表上执行DML的空指针问题。
最后修改于 2023-05-04 17:27:34
上一篇