3.21.06.0 版本
DBLE Release Notes
以下对 DBLE 3.21.06.0 版本的 Release Notes 进行详细解读。
文章主要分为以下四部分内容:
一、DBLE 项目介绍
二、新版本主要更新解读
三、完整 Release Notes
四、LTS 版本更新
一、DBLE 项目介绍
DBLE 是企业级开源分布式中间件,江湖人送外号 “MyCat Plus” ;以其简单稳定,持续维护,良好的社区环境和广大的群众基础得到了社区的大力支持;
DBLE
破壳日: 2017.10.24
爱好: 开源
技能: 数据水平拆分、读写分离、分布式事务支持、多分片算法、全局 ID、IP/SQL 黑白名单
特长: MySQL 语法兼容、复杂查询优化、低改造成本、成熟稳定、成熟技术栈
DBLE 官方项目:
https://github.com/actiontech/dble DBLE 官方文档(已更新):
https://actiontech.github.io/dble-docs-cn 新版本 DBLE 下载地址及 Release Notes:
https://github.com/actiontech/dble/releases 官方课程:
Tips:建议下载最新的 Releases 版本,下载 tar 压缩包即可,如有源码编译需求的,可以下载源码包。
二、新版本主要功能更新解读
本次发版 3.21.06.0 是 DBLE 今年的第二次发版。
新版 DBLE 新增&重构功能 8 个,修复缺陷 10+ 个,和旧版本的不兼容项调整 2 处。
致谢 :
感谢以下人士对社区的贡献:@prostranger, @LavieZhou, @lenovore, @boying52 感谢 Github 用户提供的优质 issue,star 突破 830! 感谢 QQ 群(669663113)和微信群内朋友提供的有效反馈,群用户突破千人! 主要更新:
1、提供了一个开关,决定是否将 in-Subquery 转换为 join 在此版本之前,我们会默认将in子查询尝试转为 join 来生成执行计划,现在我们增加一个全局配置项,由用户来决定是否应该转化。
2、查询计划的进一步优化
如果一条复杂查询的子查询和外部使用了同一张表,并且路由的结果也一致,那么这条 sql 应该被直接下发,而不是重写后下发算子
3、支持 XA 事务的残留检查
由于各种原因,mysql 节点层面可能留存 dble 生成的 Xid ;
这种情况下启动 dble,可能会出现'The XID alread exists'报错;
基于此,dble 在启动阶段、运行阶段将疑似残留 XA 事务问题暴露出来。
三、完整 Release Notes
特性:
[#2636] 支持动态更改线程池大小。更多详细信息,请参见 doc。 [#2646] 支持 Mariadb 的驱动设置 useBatchMultiSend。更多详细信息,请参阅 mariadb 文档。 [#2751] 观察 SQL 统计队列的利用率。更多详情见 doc。 [#2713] 支持 XA 事务的残留检查。更多详细信息,请参见 doc。 [#2408] 分片路由无法在“left join”和“union”处正确路由到正确的分片数据库,感谢@prostranger 报告改进。 [#2130][#2676] 提供了一个开关,决定是否将 inSubquery 转换为 join,感谢@LavieZhou 报告改进。 [#2641] 将druid升级到 1.2.6 版。 [#2648] 重构集群数据。如果升级需要重新创建[备份-删除-创建]数据。 主要缺陷修复:
[#2622] set autocommit 没有按预期工作。
[#2638] 开着慢日志,dble 可能会出现 oom。 [#2819] 使用读写分离时的事务失败问题,感谢 @boying52 报告错误。 [#2728] 检查表一致性问题,感谢 @lenovore 报告错误。 有时复杂的查询可能会导致线程泄漏。 当 group by 包含 =
时,结果可能会出错。 jumpStringHash 的默认设置已更改,升级需要重新设置。 一些 NullPointException。 和旧版本的不兼容项:
[#2676] 提供一个开关,用于确定是否将 inSubquery 转换为 join。默认行为曾经为 true,现在为 false。 [#2648] 重构集群数据。如果升级需要重新创建[备份-删除-创建]数据。 删除诸如 file @@... 、show @@syslog 之类的命令。 jumpStringHash 的默认设置已更改,如果升级需要重置。 如果您从旧版本升级升级到本版本,您应该先阅读版本变更的内容.
四、LTS 版本更新
对于 LTS 的版本,有小版本发出,修复一些 bug:
3.20.07.5
多语句在 lastInsertId 过大的时候包乱序
复杂查询可能导致的线程泄漏
开着慢日志,dble 可能会出现 oom3.20.10.5
复杂查询可能导致的线程泄漏
开着慢日志,dble 可能会出现 oom
检查表一致性问题
读写分离中 com_stmt_prepare 返回报文次序错误
set autocommit 未按照预期执行
偶现的 ArrayIndexOutOfBoundException
3.21.02.2
复杂查询可能导致的线程泄漏
开着慢日志,dble 可能会出现 oom
检查表一致性问题
读写分离中 com_stmt_prepare 返回报文次序错误
set autocommit 未按照预期执行
偶现的 ArrayIndexOutOfBoundException
sql 统计相关修复
使用读写分离时的事务失败问题
本次的发版报道就到这里啦~