Apache Ignite 2.10.0 版本发布,分布式内存数据库

来源: 投稿
作者: 李玉珏
2021-03-16
Apache Ignite 分布式内存数据库 2.10.0
-----------------------------------------------------------
 
**警告:**
 
- MVCC API在未来的版本中将被废弃;
- 在不稳定的集群上启用/禁用WAL可能出现故障,该问题将很快修复;
- Spring Data迁移至ignite-extension仓库,后续将单独发布;
- Node.js、Python、PHP瘦客户端迁移到单独的仓库。
 
**Ignite核心层:**
 
- 新增了在集群所有节点间检查网络连通性的API;
- 新增了获取段大小的API;
- DataRegion指标中新增了InitialSize和MaxSize;
- 新增了RebalancingPartitionsTotal指标;
- 新增了TDE命令行管理工具;
- 新增了TDE缓存键轮换;
- 新增了重建索引时已处理键的相关指标;
- 在Cassandra存储中新增了检查驱动指标的功能;
- 新增了集群性能分析功能;
- 新增了集群快照安全权限功能;
- 控制脚本中新增了用于获取任意指标的命令;
- 控制脚本中新增了用于获取任意系统视图的命令;
- 控制脚本中新增了调度和取消的API;
- 控制脚本中新增了查看状态的API;
- 核心层新增了了碎片整理的功能;
- 新增了缓存条目重入锁的死锁检测功能;
- 碎片整理新增了用于调度/取消/状态的JMX API;
- 新增了碎片整理的并行实现;
- 新增了用于快照操作状态的事件;
- 新增了用于开启试验性功能的命令行选项;
- 新增了一个扩展,用于追踪具有多个已发送字节的通信套接字写入;
- 新增了维护模式;
- 新增了用于就绪探测的REST端点实现;
- 新增了一个新的启发式高级历史再平衡功能;
- 新增了新的检查点指标;
- 新增了查询执行前触发的新事件;
- 新增了节点加入验证失败触发的新事件;
- 控制脚本新增了索引维护命令;
- ZookeeperDiscovery新增了指标框架;
- 新增了WAL记录类型,用于追踪备份节点的原子更新;
- 新增了非标记的检查点实现;
- 控制脚本中新增了IgniteSystemProperties输出;
- 新增了用于维护Ignite节点的特殊模式,通过该模式可清除损坏的PDS文件;
- 控制脚本新增了停止预热的功能;
- ZookeeperDiscoverySpi中新增了对正常关机的支持;
- 新增了二进制元数据的系统视图;
- 新增了元存储的系统视图;
- 新增了Spring事务的瘦客户端支持;
- 默认启用故障处理器调用时的线程堆栈;
- 新增了预热策略;
- 修复了当主体为IgniteClient时AuthenticationContext不包含主体地址的问题;
- 修复了启用sqlOnHeapCache时达到的BPlus树锁重试限制;
- 修复了BinaryMarshaller需要使用上下文类加载器用于反序列化的问题;
- 修复了ComputeScheduleExample;
- 修复了持续查询缓冲区的使用,用于减少堆空间占用;
- 修复了可能放弃未完成任务的DurableBackgroundTask;
- 修复了FileWriteAheadLogManager可能创建0长度的WAL段然后无法启动的问题;
- 修复了GridCacheOffheapManager会忽略索引分区候选页面计数的问题;
- 修复了IgniteCache#isClosed()方法即使缓存已关闭,也可能在服务端节点上返回false的问题;
- 修复了IgniteScheduler必须在具有适当安全上下文的Ignite沙盒中运行的问题;
- 修复了转储长时间运行的操作时的空指针问题;
- 修复了缓存停止和事务提交时由于争用而导致的空指针问题;
- 修复了Cassandra存储以PRIMITIVE策略启动时的空指针问题;
- 修复了IgniteServiceProcessor在销毁缓存期间的空指针问题;
- 修复了logSupplierDone(UUID nodeId)中的空指针问题;
- 修复了客户端启动过程中的空指针问题;
- 修复了事务恢复过程中的空指针问题;
- 修复了处理空的持久化数据区时可能出现的空指针问题;
- 修复了当再平衡缓存存在大型值对象时创建再平衡迭代器可能出现的OOM问题;
- 修复了OpenCensus模块缺少运行时依赖的问题;
- 修复了本地延迟查询中出现的查询取消冻结问题;
- 修复了停止集群时可能出现UnsupportedOperationException异常的问题;
- 修复了在二进制恢复阶段WAL压缩无法工作的问题;
- 修复了WAL迭代器需要WRITE权限的问题;
- 修复了releaseHistoryForPreloading()方法中WAL段不释放的问题;
- 修复了与持久化集群中的非持久化数据区有关的过期缓存条目的断言错误;
- 修复了GridNioWorker和GridNioClientWorker中的阻塞部分,这会导致错误的阻塞线程检测;
- 修复了客户端节点的缓存拦截器反序列化问题;
- 修复了在停止节点期间,检查点在写入锁定下读锁失败的问题;
- 修复了快照操作期间检查点写入锁缺失的问题;
- 修复了连接恢复超时的问题;
- 修复了控制脚本基线命令输出节点IP地址的问题;
- 修复了控制脚本不将结果输出到标准输出的问题;
- 修复了如果配置了JMX端口控制脚本无法启动的问题;
- 修复了控制脚本在输出中显示密码的问题;
- 修复了控制脚本的validate_indexes命令会抛出CorruptedTreeException异常并导致检查期间服务端节点故障的问题;
- 修复了注销一个JMX Bean时出现严重系统错误的问题;
- 修复了grid-timeout-worker和打开一个通信连接线程时的死锁问题;
- 修复了GridEncryptionManager的死锁问题;
- 修复了IgniteServiceProcessor的死锁问题;
- 修复了Cache.putAll(Map<KV>)的死锁问题;
- 修复了删除多个缓存过程中的死锁问题;
- 修复了IgniteClient中收到ComputeTask结果时的死锁问题;
- 修复了deb包对一个debian10上不存在的包依赖的问题;
- 修复了当IBinaryObject包含IBinaryObject字段时反序列化失败的问题;
- 修复了开启WAL压缩后禁用归档过程时,可能导致服务端节点无法从WAL中读取数据的问题;
- 修复了disco-notifier-worker处理IgniteInterruptedCheckedException异常不正确的问题;
- 修复了没有备份的缓存在分区退出期间SELECT查询的重复问题;
- 修复了过期删除期间出现Unknown page type错误的问题;
- 修复了GridCacheProcessor中异常被丢弃的问题;
- 修复了交换工作进程等待队列中的新任务会被认为阻塞的问题;
- 修复了通过控制脚本进行预热中的若干问题;
- 修复了禁用WAL之后再平衡处理的问题;
- 修复了控制脚本property help命令的帮助信息输出问题;
- 修复了GridCachePartitionExchangeManager.ExchangeFutureSet#values中的高争用问题;
- 修复了原子组历史迭代器传输额外行的问题;
- 修复了WAL段的不正确计算导致可能从WAL存档中删除的问题;
- 修复了协调器变更期间不正确的拓扑快照输出问题;
- 修复了SystemViewLocal和SystemViewMBean类中Class.isAssignableFrom方法的不正确使用问题;
- 修复了带有复合主键的WHERE子句中谓词(<和>)处理错误的问题;
- 修复了存在未编组值时本地元存储系统视图失败的问题;
- 修复了在节点停止期间可能留下未完成的写入Future的元存储问题;
- 修复了如果使用对等类加载加载作业时需要模型类需要手动反序列化的问题;
- 修复了客户端发起的操作无法追踪的问题;
- 修复了加索引的缓存包含不同数据类型时部分索引重建失败的问题;
- 修复了一个动态缓存未在客户端启动时分区丢失检测无法正常工作的问题;
- 修复了服务端有很多瘦客户端时性能会下降的问题;
- 修复了如果地址无法解析时pingNode()方法失败的问题;
- 修复了在原子缓存上使用无序映射进行批量更新操作时出现的警告输出问题;
- 修复了再平衡过程尽管所有分区都处于拥有态但未处于最终状态时的挂起问题;
- 修复了如果段在FileWriteAheadLogManager#reserve中不存在时将其释放的问题;
- 修复了过期缓存条目删除过程中的问题;
- 修复了在节点启动过程中restorePartitionStates会触发FailureHandler的问题;
- 修复了通过在简单单向汇总中汇总索引来优化行缓存使用的问题;
- 修复了Unexpected row key断言错误导致的扫描查询失败的问题;
- 修复了JMX配置中的安全问题;
- 修复了基于速度的限流意外降为0的问题;
- 修复了spring data集成中没有内省键对象字段的问题;
- 修复了由于MetadataTask的执行导致mgmt线程池饥饿的问题;
- 修复了不同的类加载器用于部署同一个类时的同步问题;
- 修复了在事务提交阶段出现分区丢失时事务提交成功的问题;
- 修复了控制脚本中断后索引验证未停止的问题;
- 修复了当QueryEntity.fields未配置时validateKeyAndValue会尝试反序列化键和值的问题;
- 修复了在缓存停止前会等待索引上的操作完成的问题;
- 将ClusterMetrics迁移到新的指标框架;
- 将TcpDiscoveryStatistics迁移到新指标框架;
- 将spring-data模块迁移到ignite-extensions代码库;
- 从REST API中删除'default'缓存的使用;
- 删除WALPointer接口,用FileWALPointer替代;
- 删除在WAL存档期间删除段的功能;
- ZookeeperDiscoverySpi中删除对curator-client的不必要依赖;
- ZookeeperDiscovery中删除不必要的ZkPinger。
 
**SQL:**
 
- 在DML查询的第一步使用的合成SELECT中添加了lazy标志;
- 新增了SQL查询的追踪功能;
- 根据Java标准为SSL配置添加了统一的回退属性;
- 修复了复制缓存无法与分区缓存左联接的问题;
- 修复了SQL结果集中的数值型列时精度和标度无效的问题;
- 修复了客户端重连时SQL出现的异常问题;
- 修复了由不正确的跨度继承导致的SELECT查询追踪问题;
- 修复了尽可能将子查询转换为联接的问题。
 
**JDBC/ODBC:**
 
- ODBC中为预编译语句新增了SQLNumResultCols;
- ODBC驱动中为DATE字段分配了SQL_BINARY类型;
- ODBC中为SELECT查询新增了SQLRowCount实现;
- ODBC中新增对SQL_ATTR_ROW_ARRAY_SIZE值大于1的支持;
- 修复了瘦模式驱动报告不正确属性名的问题。
 
**Java瘦客户端:**
 
- 新增了使用非阻塞的套接字IO;
- 新增了对IPv6地址的支持;
- 新增了瘦客户端持续查询的功能;
- 新增了瘦客户端的异步API;
- 新增了瘦客户端的Kubernetes发现;
- 修复了每个服务端请求中不必要的CHM get/remove操作;
- 修复了拓扑更新期间连接/断开连接可能导致ignite-sys-cache中分区分歧的问题;
- 修复了异常重新抛出时类型丢失的问题;
- 修复了在发生SECURITY_VIOLATION错误后客户端读取消息不完整的问题;
- 修复了瘦客户端在不活动后静默关闭通道的问题;
- 修复了瘦客户端无法访问通过UriDeploymentSpi部署的Ignite服务的问题;
- 修复了获取缓存配置时出现不支持的协议版本的异常问题。
 
**瘦客户端:**
 
- 将Node.js瘦客户端迁移至单独的Git仓库;
- 将PHP瘦客户端迁移至单独的Git仓库;
- 将Python瘦客户端迁移至单独的Git仓库。
 
**Ignite .NET:**
 
- 新增了CacheConfiguration.NodeFilter;
- SqlFieldsQuery中新增了Partitions和UpdateBatchSize;
- 新增了RendezvousAffinityFunction.BackupFilter;
- ContinuousQuery中新增了includeExpired;
- 新增了瘦客户端服务调用功能;
- 新增了瘦客户端事务;
- 修复了CachePartialUpdateException: failed to update keys (using Cache.PutAsync);
- 修复了将DateTime用作缓存键和值的问题;
- 修复了客户端节点GetAffinity方法失败,抛出空指针异常的问题;
- 修复了LINQ提供者为合并JOIN和GROUP BY的查询发出不正确的表别名的问题;
- 修复了服务无法为传递的数组参数分配正确的类型的问题 (.Net -> .Net call);
- 修复了服务丢失返回的数组类型信息的问题;
- 修复了Compute API调用中的二进制配置问题;
- 修复了从Ignite.NET调用Java端服务参数和结果的二进制配置的问题;
- 修复了在Linux中持久化使用直接IO时可能导致子进程变为僵尸的问题;
- 修复了客户端的IgniteConfiguration中需要peerClassLoading属性的问题;
- 修复了.NET Core 3.x上持续查询处于活动状态时dispose挂起的问题;
- 修复了Docker中GetTotalPhysicalMemory结果不正确的问题;
- 修复了互操作DateTime类型的问题;
- 修复了无法翻译表达式时的误导性LINQ异常;
- 修复了服务在传递数组参数时无法分配正确类型的问题;
- 修复了枚举序列化速度慢的问题;
- 修复了使用AffinityKeyMapped属性关联键注册错误的问题。
 
**Ignite C++:**
 
- 新增了Windows上对CMake构建系统的支持;
- 新增了Cluster API实现;
- 新增了SQL API实现;
- 新增了瘦客户端事务支持;
- 修复了使用msvc 14.1进行编译的问题;
- 修复了如果使用多余1个节点执行odbc-example时可能丢失部分值的问题。
 
**ML:**
 
- 新增了catboost推理集成;
- 新增了对所有模型的初始JSON导出/导入支持;
- 新增了两个向量之间的距离;
- 新增了目标编码预处理器;
- 修复了不正确的向量::奇数幂的kNorm求值问题。
展开阅读全文
9 收藏
分享
加载中
最新评论 (1)
沙发,收纳了
2021-03-17 18:15
0
回复
举报
更多评论
1 评论
9 收藏
分享
返回顶部
顶部