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 可能会出现 oom

  • 3.20.10.5

    复杂查询可能导致的线程泄漏

    开着慢日志,dble 可能会出现 oom

    检查表一致性问题

    读写分离中 com_stmt_prepare 返回报文次序错误

    set autocommit 未按照预期执行

    偶现的 ArrayIndexOutOfBoundException

  • 3.21.02.2

    复杂查询可能导致的线程泄漏

    开着慢日志,dble 可能会出现 oom

    检查表一致性问题

    读写分离中 com_stmt_prepare 返回报文次序错误

    set autocommit 未按照预期执行

    偶现的 ArrayIndexOutOfBoundException

    sql 统计相关修复

    使用读写分离时的事务失败问题

本次的发版报道就到这里啦~


avatar
100
  Subscribe  
提醒