Apache Ignite 2.15.0 版本发布,快照、CDC大幅改进


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-12-28

Apache Ignite 发行注记 Apache Ignite 分布式内存数据库 2.16.0 警告 彻底禁止了在事务中操作原子模式缓存,IGNITE_ALLOW_ATOMIC_OPS_IN_TX系统属性已经被删除; 删除了CacheAtomicityMode#TRANSACTIONAL_SNAPSHOT缓存模式; 禁止了混合模式缓存组

2023-01-06

bsp;点亮 ⭐️ Star · 照亮开源之路 https://github.com/apache/incubator-seatunnel 版本发布 今天,Apache SeaTunnel(incubating) 正式推出 2.3.0 正式版本,并正式发布自己的核心同步引擎 Zeta!此外,SeaTunnel 2.3.0 还带来了许多大家期待已

2023-08-30

京站,聊聊 AI 大模型与底层技术 >>> 时隔两个月, Apache SeaTunnel 终于迎来大版本更新。此次发布的 2.3.3 版本在功能和性能上均有较大优化改进,其中大家期待已久的 CDC Schema evolution(DDL 变更同步)、主键 Split 拆分、JDBC Sin

2023-10-10

Apache Hudi 0.14.0 现已发布。公告指出,该版本标志着一个重要的里程碑,具有一系列新功能和增强功能。其中包括引入Record Level Index、自动生成记录键 、用于增量读取的 hudi_table_changes函数等等。 值得注意的是,此版本还

2023-03-30

的监控指标等,具体的使用方式可以参考 https://seatunnel.apache.org/docs/seatunnel-engine/rest-api/ 02 AI Compatible SeaTunnel 2.3.1 当中重构了Http接口和相关API,根据现有xGPT水平能力简化了SaaS Connector相关API和Connector构建流程,让ChatGPT 4.0

2022-04-07

一、背景 Apache Flink 作为新一代的实时计算框架已经被应用到各个行业与领域,虽说应用程度不同,但都会遇到一些使用上的痛点,基础的应用痛点比如 FlinkSQL 作业提交不友好、作业无监控报警等。很大程度上说,FlinkSQL 大大

2024-07-02

接了解详情。 WhaleTunnel WhaleTunnel是基于白鲸开源主导的Apache SeaTunnel之上精心打磨的商业级的数据集成工具,拥有数据传输速度快、准确率高、稳定性强等技术特点,帮助企业完成内部EtLT中数据集成EtL部分,支持百余种连接器

2023-11-07

来了一系列实用的功能改进。 bboss 是一个基于开源协议 Apache License 发布的开源项目,由开源团队 bboss 运维,主要由以下三部分构成: Elasticsearch Highlevel Java Restclient , 一个高性能高兼容性的 Elasticsearch/Opensearch j

2024-08-08

Apache SeaTunnel 2.3.6 版本于近日正式发布,社区期待的 SeaTunnel Zeta Master/Worker 新架构、事件通知机制、支持动态编译的transform等新功能和新能力在这次版本中都有了全面的更新,并添加了首个向量数据库 Milvus。此外,本版本还进

2024-10-16

Apache SeaTunnel 2.3.8 版本现已正式发布!此次版本后,用户将可以使用期待已久的Docker镜像,还可以体验Job级别日志功能,以及其他更新优化的功能。本文将详细介绍 Apache SeaTunnel 2.3.8 版本中的关键更新内容,欢迎更多开发者和

2023-04-05

Apache IoTDB 1.1.0 现已发布,Apache IoTDB 是一个物联网原生数据库,具有高性能的数据管理和分析功能,可部署在边缘和云端。 新功能 [IOTDB-4572] 支持按设备对齐按时间排序 [IOTDB-4816] 支持显示查询命令 [IOTDB-4817] 支持kill查

2024-10-22

TIS的v4.0.1版本终于和大家见面了 v4.0.1着重在以下几方面进行了功能加强和升级。 功能该要 添加Transformer功能 通过在TIS流程中设置Transformer功能逻辑,可实现在ETL数仓功能中,在E(数据抽取)阶段即可高效实现各种字段

2023-12-05

Apache NetBeans 20 现已正式发布。NetBeans 是一个主要面向 Java 的集成开发环境,同时支持 C/C++、PHP、JavaScript 和其他编程语言。 一些更新内容包括: Gradle 返回所有 loaders 的最高质量 #6371 将 Gradle Tooling API 更新到 8.4 

2023-03-25

式开源 开源地址: https://github.com/polardb/polardbx-sql 版本说明 梳理下PolarDB-X 开源脉络: 2021年10月,在云栖大会上,阿里云正式对外开源了云原生分布式数据库PolarDB-X,采用全内核开源的模式,开源内容包含计算引擎、