3.21.10.0 版本

DBLE Release Notes

以下对 DBLE 3.21.10.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.10.0 是 DBLE 今年的第三次发版。

新版 DBLE 新增&重构功能 7 个,修复缺陷 7+ 个,和旧版本的不兼容项调整 0 处。

致谢

  • 感谢以下人士对社区的贡献:@13611582598, @mwhei , @lenovore, @jmbkeyes
  • 感谢 Github 用户提供的优质 issue,star 突破 860!
  • 感谢 QQ 群(669663113)和微信群内朋友提供的有效反馈,群用户突破千人!

主要更新:

1、支持单个 dble 脱离/回归集群

在部分场合下,集群状态下的 dble 可能需要临时断开和集群中心(如zookeeper)的连接。

典型的应用场景是:集群中心需要进行升级/维护时。

在版本<3.21.10 , 唯一的方式是配置修改为单机版并重新启动 dble;需要加回来时,改会原来的配置并重启 dble 。但这对业务影响很大,通常在生产环境下难以接受。

dble提供了一个脱离集群的指令,可以在不重启的情况下,临时断开和集群中心的连接,让 dble 以一个 伪集群模式 的单实例方式运行。等运维工作结束后,还可以重新加入集群。

详情请见文档对应章节

2、新的流量控制

在之前的 dble 版本中,当进行大文件 load 以及大结果集查询的过程中,都有可能由于数据的发送不及时造成数据在 dble 内存中堆积,当条件足够的时候甚至有可能造成 dble 服务的 OOM ,进而影响服务的稳定运行。

在最初 2.20.04 中由社区开发者@ssxlulu提供了对于这部分流量控制的实现,通过连接级别的写队列长度,进行数据加载/获取的负反馈调节,从而实现在数据 load 和大结果集查询过程中的内存使用情况稳定,在此基础上,我们又做了一些改进。
无论当前端连接写回客户端过慢造成积压(比如中间件和客户端之间网络不好可能会造成此现象)或者是后端已读取但未处理的 MySQL 数据积压过多(比如 dble 所在机器 cpu 性能不够),都可以停止从后侧数据库读取,减轻 dble 本身的压力。

详情请见文档对应章节。

三、完整 Release Notes

特性:

  • [#2866] 支持单个 dble 脱离/回归集群. 更多详细信息,请参见 doc 。
  • [#2844] 支持默认的分片模式 [alpha 功能]。更多详细信息,请参见doc 。
  • [#2845] 新的流量控制:添加后端读取水位。更多详细信息,请参见doc 。

主要缺陷修复:

  • [#11] EPollArrayWrapper.epollWait 可能导致 100% CPU。
  • [#2896] show @@dbInstance 命令,READ_LOAD 和 WRITE_LOAD 始终显示为 0 。
  • [#2747] fakeMySQLVersion 不支持 MariaDB 10.x,感谢@lenovore 报告此问题。
  • [#2750] 支持`add/truncate/dop partition` ,  感谢@13611582598 报告此问题。
  • [#2611] 优化er表问题,感谢@jmbkeyes 报告错误。
  • [#2828] 三表join,结果可能有误,感谢@mwhei 报告 bug 。
  • 有时复杂的查询可能会导致内存泄漏。

和旧版本的不兼容项:

如果您从旧版本升级升级到本版本,您应该先阅读版本变更的内容.

四、LTS 版本更新

对于 LTS 的版本,有小版本发出,修复一些 bug:

3.20.07.7

  • 执行 dbGroup @@disable name =’dbGroup1’;偶现 hang 住

  • 连接创建失败时,连接数统计的问题导致的连接泄漏

  • mysql 实例从 disable 到 active 状态后,dble 不可用

  • 有时复杂的查询可能会导致内存泄漏

3.20.10.7

  • 执行 dbGroup @@disable name =’dbGroup1’;偶现 hang 住 

  • 连接创建失败时,连接数统计的问题导致的连接泄漏

  • mysql 实例从 disable 到 active 状态后,dble 不可用

  • 有时复杂的查询可能会导致内存泄漏

  • [#2873]set autocommit=true 的问题

  • 9066 端口执行 show @@connection.sql 报错

3.21.02.4

  • 执行 dbGroup @@disable name =’dbGroup1’;偶现 hang 住

  • 连接创建失败时,连接数统计的问题导致的连接泄漏

  • mysql 实例从 disable 到 active 状态后,dble 不可用

  • 有时复杂的查询可能会导致内存泄漏

  • [#2873]set autocommit=true 的问题

  • 管理端口执行 show @@connection.sql 报错

  • 集群环境下 dble 执行 ddl 语句 hang 住

  • show @@dbInstance 命令,READ_LOAD 和 WRITE_LOAD 始终显示为 0 

3.21.06.2

  • 执行 dbGroup @@disable name =’dbGroup1’;偶现 hang 住

  • 连接创建失败时,连接数统计的问题导致的连接泄漏

  • mysql 实例从 disable 到 active 状态后,dble 不可用

  • 有时复杂的查询可能会导致内存泄漏。

  • [#2873]set autocommit=true 的问题

  • 管理端口执行 show @@connection.sql 报错

  • 集群环境下 dble 执行 ddl 语句 hang 住

  • show @@dbInstance 命令,READ_LOAD 和 WRITE_LOAD 始终显示为 0 

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


avatar
100
  Subscribe  
提醒