Skip to content

Release 2.20.04.0

Compare
Choose a tag to compare
@yanhuqing666 yanhuqing666 released this 19 May 04:55

We have released a new version 2.20.04.0.
Firstly, we must thanks to the following people for their contributions to our community:
@ssxlulu, @wang1980, @uliude, @feixuefubing.

Release Notes:

Features:

  • [#1753] Add flow control feature to avoid OOM, thanks to @ssxlulu for contributind the code for the feature.
  • [#1741] Add URL message to heartbeat log
  • [#1709] Support 16m or more larger package of MySQL protocol
  • [#1697] Dryrun will report ERROR when backend MySQLs have different lower_case_table_names
  • [#1691] Add heartbeat check for standby slave MySQL instance
  • [#1688] log4j 2.7 has some safe problem, so upgrade to 2.13.1
  • [#1676] Expand supporting of multi-statement to support 'Set' multi-statement
  • [#1675] Refactor code for xa transaction
  • [#1674] fastJson 1.2.60 has some safe problem, so upgrade to 1.2.62
  • [#1671] Add drop database as manager command, it is a mirror function for manager command of create database
  • [#1670] Standardize 'group by' pushdown to MySQL because of the change of MySQL8.0
  • [#1672] Add HeapDump for OutOfMemor
  • [#1710] Not Support Multi-WriteHost and SwitchType and provide new version of high availability for single dble. More Detail,see 2.12_failover

Bug-fixes:

  • [#1755] Fix spelling mistakes of property in server.xml, and does not break backward compatibility
  • [#1856] If backend MySQL down during ddl, then front session may stay hanging
  • [#1823] Management cmd “resume” return ‘1’ when there's no paused dataNode in dble cluster
  • [#1782] Get NPE when execute union sql in dual without database choose
  • [#1762] Got "NullPointerException" error when execute a complex query after executing insert into multi-nodes query
  • [#1749,#1723] All MySQLs set to insensitive, and query with uppercase table name will return error "table node buildOwn exception!", thanks to @wang1980 for reporting the bug.
  • [#1725] Insert error after selecting from global table more times in xa transaction
  • [#1716] Complex query get error when select same column with different alias
  • [#1714] Complex query with condition only constant-expression would got repeated when push down
  • [#1706] NestLoop may cause java.util.ConcurrentModificationException, thanks to @uliude for reporting the bug.
  • [#1705] When try to pushdown the OR condition with Error, thanks to @uliude for reporting the bug.
  • [#1687] If the condition is too many or, parsing will cost a lot of time and memory, even OOM
  • [#1655] If sequenceHandlerType is 2,when system time less than start time ,expect insert sql failed, but successed
  • [#1659] When processing "dataHost @@ disable", only open the configuration file once. If it fails, it will not try to reopen the file in the future.
  • [#1655] ER table: when insert values into child table, if the connection of checking parent table have the value was killed, it should be feedfack a resonable error message
  • [#1650] support sql [SELECT * FROM t1 a left join t2 c on a.id=c.id and a.id=@id_a;] when don't set a value for variable "@id_a"
  • [#1625] Fail to insert or update emoji/uncommon character without jdbc param "characterEncoding=utf8", thanks to @feixuefubing for reporting the bug.
  • [#1454] [load data infile 'xxx' into table t (@Cola,@colb)] get wrong resultset
  • [#1287] For sharding table, "select id from test1 union SELECT ROW_COUNT()" will return an unstable ResultSet
  • [#1243] Connect error when client driver is mariadb and backend mysql's sql_mode is 'NO_ENGINE_SUBSTITUTION'
  • [#828] Error when insert sharding table without column name under the premise that sql_mode is ANSI

Breaking backward compatibility:

  • [#1710] Not Support Multi-WriteHost and SwitchType and provide new version of high availability for single dble. More Detail,see 2.12_failover

我们发布了新版本2.20.04.0。
首先,我们必须感谢以下人士对我们社区的贡献:
@ssxlulu, @wang1980, @uliude, @feixuefubing

发行说明:

特性:

  • [#1753] 添加流控制功能以避免OOM,这要感谢@ssxlulu为该功能的代码做出了贡献。
  • [#1741] 将URL信息添加到心跳日志
  • [#1709] 支持16m或更大的MySQL协议包
  • [#1697] 当后端MySQL具有不同的lower_case_table_names时,Dryrun将报告错误
  • [#1691] 为备用从MySQL实例添加心跳检查
  • [#1688] log4j 2.7存在一些安全问题,因此升级到2.13.1
  • [#1676] 扩展对多语句的支持,以支持'Set'多语句
  • [#1675] xa事务的代码重构
  • [#1674] fastJson 1.2.60存在一些安全问题,因此升级至1.2.62
  • [#1671] 添加 drop database 作为管理命令,它是create database管理器命令的镜像功能。
  • [#1670] 将MySQL的 'group by'下推标准化,因为MySQL8.0更改了group by 语义
  • [#1672] 为OutOfMemor添加HeapDump
  • [#1710] 不再支持Multi-WriteHost和SwitchType,并为单个部署的dble提供一种MySQL高可用的python脚本,详见2.12 故障切换

缺陷修复:

  • [#1755] 修复server.xml中属性的拼写错误,并且不会破坏向后兼容性
  • [#1856] 如果在ddl期间关闭了MySQL后端,则前端会话可能会挂起
  • [#1823] 当dble群集中没有暂停的dataNode时,管理命令“resume”返回“ 1”
  • [#1782] 在没有use数据库的时候,在dual执行union sql,会返回NPE
  • [#1762] 在执行插入多节点查询后执行复杂查询时,出现“ NullPointerException”错误
  • [#1749,#1723] 所有MySQL均设置为大小写不敏感,并且使用大写表名的查询将返回错误“table node buildOwn exception!”,感谢@ wang1980报告此错误。
  • [#1725] 在xa事务中多次从全局表中选择后插入错误
  • [#1716] 选择具有不同别名的同一列时,复杂查询会出错
  • [#1714] 仅在条件为常数的条件下执行的复杂查询在下推时会重复
  • [#1706] NestLoop可能导致java.util.ConcurrentModificationException, 感谢 @uliude报告此错误。
  • [#1705] 当尝试下推OR条件时会报错, 感谢 @uliude报告此错误。
  • [#1687] 如果条件太多or,解析会花费大量时间甚至OOM
  • [#1655] 如果sequenceHandlerType为2,则当系统时间小于开始时间时,预计插入sql失败,但实际成功
  • [#1659] 处理"dataHost @@ disable", 时,仅打开配置文件一次。如果失败,以后将不会尝试重新打开该文件。
  • [#1655] ER 表:在子表中插入值时,如果检查父表的连接中的值被杀死,则应该返回合理的错误消息
  • [#1650] 支持sql[SELECT * FROM t1 a left join t2 c on a.id=c.id and a.id=@id_a;] ,当 "@id_a"未设置值时。
  • [#1625] 在没有jdbc参数“ characterEncoding = utf8”的情况下无法插入或更新emoji,感谢@feixuefubing报告此错误。
  • [#1454] [load data infile 'xxx' into table t (@Cola,@colb)] 得到错误的结果集
  • [#1287] 对于分片表, "select id from test1 union SELECT ROW_COUNT()" 将返回不稳定的结果集
  • [#1243] 当客户端驱动程序为mariadb且后端mysql的sql_mode为'NO_ENGINE_SUBSTITUTION'时,连接错误
  • [#828] 在sql_mode为ANSI的情况下插入没有列名的分片表时出错

打破向后兼容性:

  • [#1710] 不再支持Multi-WriteHost和SwitchType,并为单个部署的dble提供一种MySQL高可用的python脚本, 详见2.12 故障切换