Skip to content

Releases: actiontech/dble

Release 2.19.09.3

31 Aug 05:16
Compare
Choose a tag to compare

We have released a bug fixed version 2.19.09.3.

Release Notes:

Bug-fixes:

  • some problems of left join
  • some problems of NPE
  • some problems of XA

我们发布了2.19.09.3.这是个基于2.19.09.2的bug修复版本

发行说明:

问题修复:

  • 某些场景下的left join问题
  • 某些场景下的NPE问题
  • XA的一些问题

Release 2.20.04.0

19 May 04:55
Compare
Choose a tag to compare

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 故障切换

Release 2.19.11.1

19 May 04:55
Compare
Choose a tag to compare

We have released a bug fixed version 2.19.11.1.

Release Notes:

Bug-fixes:

  • XmltoCluster and XmlServerLoaderTest use different package name
  • upgrade log4j version from 2.7 to 2.13.1
  • tempReadHostAvailable problem
  • NPE if value of binlog pause status in zk is empty
  • sometimes heartbeat dead lock
  • NPE of savepoint
  • sync tx_isolation with mysql lead to problem of MySQL 8.0
  • connection leak because of sync system variables
  • some problems of XA

我们发布了2.19.11.1.这是个基于2.19.11.0的bug修复版本

发行说明:

问题修复:

  • XmltoCluster 和 XmlServerLoaderTest包名不同
  • log4j 从 2.7 升级到 2.13.1
  • tempReadHostAvailable不生效的问题
  • 如果zk的binlog pause值为空,会导致NPE
  • heartbeat偶尔会死锁
  • savepoint偶发NPE
  • 同步 tx_isolation变量导致MySQL 8.0无法使用
  • 同步系统变量导致的连接泄露
  • XA的一些问题

Release 2.19.09.2

19 May 04:55
Compare
Choose a tag to compare

We have released a bug fixed version 2.19.09.2.

Release Notes:

Bug-fixes:

  • XmltoCluster and XmlServerLoaderTest use different package name
  • upgrade log4j version from 2.7 to 2.13.1
  • tempReadHostAvailable problem
  • NPE if value of binlog pause status in zk is empty
  • sometimes heartbeat dead lock
  • NPE of savepoint

我们发布了2.19.09.2.这是个基于2.19.09.0的bug修复版本

发行说明:

问题修复:

  • XmltoCluster 和 XmlServerLoaderTest包名不同
  • log4j 从 2.7 升级到 2.13.1
  • tempReadHostAvailable不生效的问题
  • 如果zk的binlog pause值为空,会导致NPE
  • heartbeat偶尔会死锁
  • savepoint偶发NPE

Release 2.19.11.0

25 Feb 03:32
08db8e2
Compare
Choose a tag to compare

We have released a new version 2.19.11.0.
Firstly, we must thanks to the following people for their contributions to our community:
@Lordess, @zhaoshan86, @liuxinwang,@ssxlulu

Release Notes:

Features:

  • [#1607] Change the default value of bufferPoolPageNumber
  • [#1585] Add filter condition for some manager command
  • [#1575] add an manager command to show recently(doing or done) query detail stage
  • [#1566] Add command show @@data_distribution to show data distribution for table
  • [#1564] Add STAGE for show @@connection.sql
  • [#1558] Remove old global table check. Add new general global table check & allow customization for global table check
  • [#1544] Heartbeat can check if backend is read_only
  • [#1543] Add propery autocommit to DBLE's server.xml
  • [#1539] strength usage of view, support MySQL view for vertical sharding
  • [#1527] Add new command show @@Questions
  • [#1526] Change primaryKey into cacheKey in schema.xml
  • [#1521] Support dump file without create table stmt when splitting dump file
  • [#1362] Support kill query statement
    For more details, please read the document.

Bug-fixes:

  • [#1532] LOAD DATA INFILE doesn't encode data before sending it to MySQL when dealing with a small data file, thanks @Lordess report the bug.
  • [#1489] Complex query using one view in another view will get an error column not found
  • [#275] Result set is not merged because of union query on different global tables
  • [#563] Incorrect result when natural join on the global table
  • [#622] Illegal "create table " syntax execute success for global table
  • [#775] Query [load data ...] to global table, column _dble_op_time may need special handle
  • [#1582] DataHost's heartbeat attribute is not synced after reload @@config_all in ZooKeeper mode
  • [#1451] SQL select a as b from table group by a returns error when b is one of the table's columns names
  • [#1513] Commit XA transaction will return 'lost connection' error when killed one of the backend connection before XA end phase
  • [#1638] Restart mysql node causing the error: the data source[XXX] can't reach. Please check the dataHost status
  • [#1538] Change dataHost from disabled to enabled, the heartbeat does not recover
  • [#1622] Memory Leak in Some cases
  • [#1524] DDL separate from general queries
  • [#1525] Syntax 'limit 0' will return all rows, thanks @ssxlulu report the bug.
  • [#1453] Use user variables in [order by] with union got error
  • [#1618] Compound SQL statement returned package error
  • [#1583] Use DBLE as DBLE's backend, thanks @zhaoshan86 report the bug.
  • [#1643] Execute query "show warnings" causing an error: Lost connection to MySQL server during query
  • [#1465] Schema.xml datanode sums of attributes values of name and database should equal
  • [#1602] Explain a query with an uppercase table alias when [lower_case_tables_name=1], it will report error
  • [#1541] If there are too many datanodes(>700) for a few dozen datahost, starting/reloading will become slow because of testConn
  • [#1507] Load data returns an error when there is a separate line "" in file
  • [#1466] [select b.id from test join sharding_2_t1 b on test.id/b.id>1.001] result not consistent with mysql
  • [#1459] Global sequence does not work correctly for the no-sharding table, thanks @liuxinwang report the bug.
  • [#1455] Query [SELECT * FROM t1 a left join t2 c on a.id=c.id and a.id=@id_a;] report field not found:@id_a
  • [#1417] The column type returned by DBLE is inconsistent with the MYSQL database.
  • [#1403] Packet ID error for LOAD DATA multi-Queries
  • [#753] dble does not support reserved words as table name or column name even use backtick

Breaking backward compatibility:

  • [#1558] Remove old global table check. Add new general global table check & allow customization for global table check
  • [#1526] Change primaryKey into cacheKey in schema.xml

中文发行说明:

我们发布了新版本2.19.11.0。
首先,我们必须感谢以下人士对我们社区的贡献:
@ Lordess,@ zhaoshan86,@ liuxinwang,@ ssxlulu

特性:

  • [#1607]更改bufferPoolPageNumber的默认值
  • [#1585]为某些管理命令添加过滤条件
  • [#1575]增加管理命令,用于展示某个连接最近的SQL状态细节(执行中步骤)
  • [#1566]添加命令show @@ data_distribution以显示表的数据分布
  • [#1564]为 show@@ connection.sql添加STAGE列
  • [#1558]移除原有的全局表检查方式,添加通用的全局表检查并允许自定义全局表检查方式
  • [#1544]心跳可以检查后端是否为只读
  • [#1543]在DBLE的server.xml中添加属性autocommit
  • [#1539]视图的用法增强,支持垂直拆分view透传
  • [#1527]添加新命令 show@@ Questions
  • [#1526]将schema.xml 中的primaryKey更名为cacheKey
  • [#1521]拆分转储文件时,支持不带“ create table” stmt的转储文件
  • [#1362]支持kill query语句

缺陷修复:

  • [#1532]处理小数据文件时,LOAD DATA INFILE在将数据发送到MySQL之前未对数据进行字符集编码,谢谢@Lordess报告该错误。
  • [#1489]在某视图中使用另一个视图的复杂查询将得到错误“未找到列”
  • [#275]对不同全局表的union查询,结果集未合并
  • [#563]在全局表上使用“自然联接”时,结果不正确
  • [#622]非法“create table”语法对全局表执行成功
  • [#775]查询[加载数据...]到全局表中,列_dble_op_time可能需要特殊的句柄
  • [#1582]在ZooKeeper模式下,在reload @@ config_all之后,DataHost的心跳属性未同步
  • [#1451]当b是表的列名之一时,SQLselect a as b from table group by a返回错误
  • [#1513]在XA End阶段之前杀死后端连接之一时,提交XA事务将返回“lost connection”错误
  • [#1638]重启mysql节点,导致错误并无法恢复:the data source[XXX] can't reach. Please check the dataHost status
  • [#1538]将dataHost从disabled更改为enabled ,心跳无法恢复
  • [#1622]在某些情况下会导致内存泄漏
  • [#1524]代码重构:DDL与常规查询分开
  • [#1525]语法'limit 0'将返回所有行,感谢@ssxlulu报告该错误。
  • [#1453]在[union]中将用户变量用于[order by]将返回错误
  • [#1618]复合SQL语句返回包错误
  • [#1583]将DBLE嵌套作为DBLE的后端,感谢@ zhaoshan86报告该错误。
  • [#1643]执行查询“show warnings”导致错误:Lost connection to MySQL server during query
  • [#1465]Schema.xml数据节点名称和数据库的属性值总和应相等
  • [#1602]dble在[lower_case_tables_name = 1] 下使用大写表别名的查询会发生Explain错误
  • [#1541]如果几十个数据主机的数据节点过多(> 700),则由于testConn线性逻辑,启动/重新加载将变慢
  • [#1507]当文件中有单独的行“ \”时,load data将返回错误
  • [#1466] [select b.id from test join sharding_2_t1 b on test.id/b.id>1.001]结果与mysql不一致
  • [#1459]对于非分片表,全局序列无法正常工作,谢谢@liuxinwang报告该错误。
  • [#1455]查询[SELECT * FROM t1 a left join t2 c on a.id=c.id and a.id=@id_a;]报告字段未找到:@id_a
  • [#1417] DBLE返回的列类型与MYSQL数据库不一致。
  • [#1403] 多语句的LOAD DATA包 packet ID错误
  • [#753] 不支持关键字作为表名或者列名,即使使用了重音符号

向后不兼容项:

  • [#1558]删除旧的全局表检查逻辑。添加新的通用全局表检查并允许自定义全局表检查
  • [#1526]将schema.xml 中的primaryKey更名为cacheKey

Release 2.19.09.0

26 Nov 02:03
Compare
Choose a tag to compare

We have released a new version 2.19.09.0.
Firstly, we must thanks to the following people for their contributions to our community:
@yinyanghuafa, @CrookedPotato, @lirulei, @ssxlulu.

Release Notes:

Features:

  • [#1467] Add a new backend dataSource HA System. For more details, click here .
  • [#1452] Dump file by mysqldump can be split to multi files according to datanode. For more details, click here .
  • [#1364] ChildTable add a config property "incrementColumn"
  • [#1408] Add a new param "ruleFile" for some PartitionAlgorithm
  • [#1402] Upgrade the JWS version because sometimes the old version does not work properly
  • [#1412] Add a distinguishable name for heartbeat connections
  • [#1405] Refactor Dbleserver&Dbleserver#startup
  • [#1440] Optimization implements of manager command thread_used Performance

Bug-fixes:

  • [#1409] Cluster restart online status check
  • [#1505] Explain got the wrong result while the join SQL contains using() clause
  • [#1499] Reload @@config_all return error when balance!=0 and all backend MySQL are disabled
  • [#1445] Query feedback is not accurate when user privilege is limited
  • [#1336] After a transaction failed, the new transaction may get the resultset of prev transaction
  • [#1392] Commit may get strange resultset when there is a datahost can not be reached
  • [#1325] [#1317] Property maxPacketSize in server.xml does not work
  • [#1394][#1434] Return an error when executing "SQL_SELECT_LIMIT=1000" and there is another datahost that can not be reached, thanks @yinyanghuafa report the bug.
  • [#1491] Small int type with PreparedStatement protocol will cause ArrayIndexOutOfBoundsException
  • [#1432] Manager cmd “pause @@DataNode=...” return OK, even if the service is not stopped in fact
  • [#1393] A very large select SQL costs a lot of time when turning on the slow log
  • [#1456] [load data ... fields terminated by "x"...] x can only be char, expect x can be a string
  • [#1335] Gap time between queries during a transaction is calculated as part of sqlExecuteTimeout
  • [#1321] Insert into the global table with useGlobleTableCheck=1 in server.xml will get an error if the table use a reserved word as column name
  • [#1478] select ... from view_name will get error when setting lower_case_table_names=1 and the view name contains uppercase letters
  • [#1458] Return error while executing DDL in XA transaction
  • [#1400] Implicit insert to different datanodes may not follow Eventually Consistency
  • [#1379] Functions form as char[N], if execute in dble without [N] section will get error
  • [#1330] Join query with ambiguous columns success but expect not
  • [#1365] Join return error "Unknown column 'ta.id' in 'field list'" when MySQL setting lower_case_table_names=1
  • [#1429] Return error "column t1.id not found" for inner join query
  • [#1428] For the global table, dble will remove backquotes of table name while routing to datanodes
  • [#1375] dble does not support backticks
  • [#1269] Got an error while checking multi-query functionality by using c_api driver
  • [#1239] PMA can not connect to dble, thanks @lirulei report the bug.
  • [#1419] Got an error "table node buildOwn exception! Error:null" from executing SQL "select ... from where ... limit n"
  • [#1397] Wrong Packet Id of MySQL Protocol Packet If Error Happens In Process of Loading Data, thanks @ssxlulu report and fix the bug.
  • [#1388] The statement contains Chinese characters ;, will return ok directly
  • [#1324] The table name in the query will be scanned globally. If add backquotes table_name, thanks @CrookedPotato report the bug.
  • [#1323] Select to a certain sharding table whose name in backticks will be router to all shardings
  • [#1385] The query result is incorrect when the regexp is used in where condition
  • [#1386] Execute SQL error when the database name in MySQL has ’.’
  • [#1398] Use --default-auth = sha256_password and the wrong password when connecting dble, return the error: lost connected
  • [#1277] The manager user can log in to the server port, thanks @CrookedPotato report the bug.

Breaking backward compatibility:

  • [#1267] Change reload @@config logic, now it is the same to reload @@config_all. For more details, click here
  • [#1412] Add a distinguishable name for heartbeat connections. For more details, click here
  • [#1446] Refactor show @@directmemory. For more details, click here.

Release 2.19.07.0

16 Sep 02:09
Compare
Choose a tag to compare

We have released a new version 2.19.07.0.
Firstly, we must thanks to the following people for their contributions to our community:
@kaikai2000, @Lordess, @ssxlulu, @canying8020, @newskyddm, @wbshen

Release Notes:

Features:

  • [#1263] Add command release @@reload_metadata and show @@reload_status to make reload observable. For more details, click here.
  • [#1264] Support more ways for exporting and importing data. For more details, click here.
  • [#1332] Support create FUNCTION just like create PROCEDURE.
  • [#1356] Support COM_CHANGE_USER and COM_RESET_CONNECTION. For more details, click here.
  • [#1326] Support COM_SET_OPTION. For more details, click here.
  • [#759] Add manager command:show @@user,show @@user.privilege,modify manager command:show @@Datasource,show @@datasource.synstatus,show @@datasource.syndetail where name=?,show @@datasource.cluster. For more details, click here.
  • [#1340] Refactor heartbeat logic. For more details, click here.
  • [#1342] Modify column name that contains connetciton id in manager command and log. For more details, click here.
  • [#1266] Provious gc log can't be overried when user restarts dble.
  • [#877] Support statement SAVEPOINT, thanks @wbshen report this issue

Bug-fixes:

  • [#1383] reload @@config_all failed may lead to connections for new added datahost in config leaking.
  • [#1184] Global sequences generated by distributed timestamps may have duplicate values.
  • [#1212] Restart dble may fail in zk cluster.
  • [#1286] Parameter sqlExecuteTimeout is invalid.
  • [#1229] When there are lowercase and uppercase in the field in differernt table, Join returns null, missing result set, thanks @kaikai2000 report the bug.
  • [#1368] encrypt.sh always return true whether the encryption failed or not, thanks @Lordess report and fix the bug.
  • [#1327] Complex select columns may lead "can not find error" in join query.
  • [#1351] No-sharding table's sub-query with union should be treated as simple query.
  • [#1241] Report error when '-' in the name of schema.
  • [#1261] MultiSQLJob is not thread safe & countDownShardTable not correct, may cause reload hang.
  • [#1322] Check different dataNodes with same dataHost and same database.
  • [#1300] Incorrect comment in initSource method of class PhysicalDBPool, thanks @ssxlulu report and fix the bug.
  • [#1306] Got error while executing sql"select a.* from sharding_4_t1 a ,schema2.sharding_4_t2 b where a.id = b.id and b.name = '1';"
  • [#1301] dble will got NPE error while executing the sql "select t1.id from DbTest.Test_Table T1 left join Test t2 on t1.id=t2.Id;"
  • [#1280] Views created in the current database cannot be associated with tables in another database, and database prefixes cannot be added, thanks @canying8020 report the bug.
  • [#1250] Load data incorrect with default fields terminate when tab's space exists in file
  • [#1288] For global table, got error while execute "select a.id,b.* from schema2.test2 a inner join test1 b on a.id+1 =b.id+2;"
  • [#1251] Explain the child table in the er table, the statement is actually executed
  • [#1255] Error when execute "select a.id,b.* from test2 a inner join test1 b on a.id =b.id+1;", thanks @newskyddm report the bug.
  • [#1256] Error when execute "select test1.id,test1.id+1 as rpda_0 from test1 order by rpda_0 ASC", thanks @newskyddm report the bug.
  • [#960] For no-sharding table, got wrong result while executing sql "SELECT CURRENT_USER() union select id from test1"
  • [#1268] For global table, got error while executing "select count(*) from (select O_CUSTKEY,count(O_CUSTKEY) as counts from test1 group by O_CUSTKEY) as a where counts<10 group by counts;"

Breaking backward compatibility:

  • [#759] show @@Datasource,show @@datasource.synstatus,show @@datasource.syndetail where name=?,show @@datasource.cluster add DATAHOST column
  • [#1272] Remove the property useOldMetaInit in server.xml.
  • [#1291] Change the default charset from utf8 to utf8mb4.
  • [#1260] Refactoring attribute 'version' in xml config. For more details, click here.

Release 2.19.05.0

02 Jul 09:52
Compare
Choose a tag to compare

We have released a new version 2.19.05.0.
Firstly, we must thanks to the following people for their contributions to our community:
@tankilo, @kaikai2000, @banlilin, @ssxlulu

Release Notes:

Features:

  • Change the default max size of frontend connection for each user #1218
  • Support MySQL8.0's default authentication plugin named 'caching_sha2_password' #1134
  • Split Origin Merge to Merge And MERGE_AND_ORDER for Explain Plan #1139
  • Optimize global sequence generated by distributed timestamp #1138
  • Improve dble's config template #1078
  • The error messages should be more meaningful when dble instances are doing DDL simultaneously in one cluster #1105
  • Support Stored procedure when connection enabled multiple statements #1228
  • Define alarm interface for developers to customize. For more details, #1174 click here

Bug-fixes:

  • An error occurred while using Alibaba Cloud slb load balancing #1172 ,thanks @banlilin
  • Unknown pStmtId error when closing a prepared-statement that statement is the same as another in one connection #1236
  • Backend conns will be closed when executing 'log @@limit=0,5000' in dble managed port #1220
  • The network interrupt between dble and MySQL node before XA commit, the transaction lock in MySQL will always exist #1084
  • Load data incorrect when the text contains a row with all null columns #1047
  • SqlJob may finish more than once, and cause other problem #1231
  • FetchStoreNodeOfChildTableHandler can cause serverConnection hang & leak of MySQL connection #1180
  • NPE when using global sequence generated by MySQL-offset-step #1227
  • MultiNodeQueryHandler#errorResponse add only one connection to errConnection list #1166, thanks @tankilo
  • DateNode Idle Check Thread failed to fill empty dataSource when dataHost's minCon is less than database size,
    #1125 #1216 thanks @tankilo
  • When MultiNodeQueryHandler send multiple SQL statements to MySQL, if the middle part failed to execute, frontend session will hang #1164, thanks @tankilo
  • When complex cross join contained in an XA-transaction, the statement commit can't return #1116, thanks @kaikai2000
  • multinode statement hang when setting statement error before executing #1176
  • Fail to recover XA Transaction on startup when XA log is not flushed and the server is down #1192
  • Xa transaction commit failed due to network exception and could not be recovered by restarting dble #1113
  • Even if the transaction is successfully restored, the state of the XA transaction in XA-log will always fail #1213
  • Sending a statement to an uncreated physical database can cause thread safety problem #1144
  • dble hang while inserting values into sharding table after executing "lock tables ... write" #1203
  • For sharding tables(the two tables have the ER relationship), now "left join" got the result from only one dataNode #1197
  • Load data will cause an exception when the column content only has one '"' at the beginning #1182, thanks @ssxlulu
  • When implicit XA transaction fails to commit and is automatically rollbacked, the real error should be returned to the user instead of OK packet #1170, thanks @tankilo
  • Load data execution result error when the load data file is empty #1198
  • XA Transaction failed to commit due to the previous one's remaining error message((XACommitNodesHandler)MultiNodeHandler#isFailed) #1156, thanks @tankilo
  • DDL lock can't be released when the server connection is abnormally closed #1168
  • when running Sysbench OLTP test, XA transaction can't restore correctly after restarting dble #1114, thanks @kaikai2000
  • It is recommended that ZK allow both uppercase and lowercase in the file of sequence_distributed_conf.properties #1162
  • if where filter‘s length of complex query lager than 255, dble may return error #1120
  • load data for a table using global sequence can not generate sequence column #1048
  • Global sequence error when generated by distributed timestamps #1153
  • show @@binlog.status query failed if all logic databases corresponding physical one's not created #1088
  • Some of the SQL Method params in a complex query must be uppercase #1132
  • Need to optimize, when starting dble, the configuration does not include the tables involved in the view #1100
  • SQL returns an error, after the MySQL node disconnects during DDL execution #1119
  • Select query to get results from multiple nodes may lead to thread safety problem #1147
  • Error when select * from sharding_2_t1 a right join sharding_4_t1 b on a.id=b.ID where a.id >0 and a.id <4 #1142
  • manager cmd "create database" error when connecting to dble with JDBC #1245

Release 2.19.03.0

22 Apr 09:30
Compare
Choose a tag to compare

Features:

  • [#1052] Improve background retry policy when xa transaction fail to commit/rollback. For more details, click here
  • [#1086] Support ' in the kill @@ddl_lock where schema=? and table=?
  • [#1092] Change "ORDERED_GROUP" in explain results to "AGGREGATE" to make it easily to understand
  • [#1040] Optimize global sequence generated by timestamp. For more details, click here

Bug-fixes:

  • [#1122] Use PreparedStatement with JDBC and close the ServerPrepStmt in a loop, dble may return an error message 'ClosedChannelException'
  • [#1124] Use PreparedStatement with JDBC and MySQL J Connector may get a wrong result when useCursorFetch=true Thanks to the issue from @Lordess
  • [#1098] Table Structure check does not work correctly.
  • [#1093] Protocol COM_STMT_RESET did not handle correctly, dble does not clear the buffer
  • [#1102] The client returned an error when resumed xa during the first 5 attempts
  • [#1077] Xa transaction cannot be recovered, when the commit fails
  • [#1109] When dryrun, setting the attribute of table type as "default" in schema.xml will be reported as illegal
  • [#1103] When a query contains an alias filter and a sub-query which contains union and aggregate, dble may return an error.
  • [#1101] Load data will skip lines which start with ‘#’
  • [#1079] Synchronized alerting may exhaust thread pool in trouble with alerting. Thanks to the issue from @Lordess
  • [#1087] Correlated subquery in the SELECT clause will raise an error. Thanks to the issue and PR from @tankilo
  • [#1058] Maybe there will be no trace result when Join's right table contains a lot of useless data
  • [#1016] For zk mode, the content of file dnindex.properties is empty after restart dble
  • [#1060] There is a redundant "order by" step in some case for query explain
  • [#1057] Explain got a different result when "join" between ER tables whether use upper case as the table alias
  • [#1070] Show incorrect IDLE while executing manager command "show @@Datasource"
  • [#1064] Show incorrect ACTIVE while executing manager command "show @@Datasource"
  • [#998] Got an error while dropping the table that its name is the same as the existed view name(the dependency table of the view was dropped)
  • [#1032] For Dbeaver client, got error while executing the SQL "/* ApplicationName=DBeaver 5.2.4 - Main */drop view view_tt;"
  • [#1053] Unfriendly tips for select * from sharding_1_t1 b,sharding_4_t1 c,(select * from sharding_2_t1) a on c.id=b.id and c.id=b.id
  • [#1000] Loading data will report an error when the length of column exceeds 65535 even the field type is mediumtext
  • [#1038] DDLChildListener#updateMeta should not refresh meta when DDL result is a failure. Thanks to the issue and PR from @tankilo
  • [#1045] load data block the thread named NIOreactor
  • [#1041] Some data type in show @@processlist is not correct

Release 2.19.01.0

01 Mar 06:42
Compare
Choose a tag to compare

Features:

  • Add attribute incrementColumn for table #933. For more details, click here
  • Add a new command show @@processlist for manager user #975. For more details, click here
  • Add filter for reload @@metadata #944. For more details, click here
  • Add gc.log in default wrapper.conf
  • Add Version attribute in rule/schema/server.xml to help to identify config version
  • Add quick start with docker , see Quick Start With Docker or Quick Start With Docker-Compose.
  • Do not reload all metadata when reloading config/config_all if no need #946. For more details, click here
  • Improve primary key to route result cache #947. For more details, click here
  • Add a new command to view in-processing ddl #887. For more details, click here
  • Optimize query execution plan :1.global table join nosharding talbe #915 2. where condition statement contains multi statement,but it can route to a special node in fact #801
  • Report error if the value of set is not in candidate values in configuration files #576

Bug-fixes:

  • If use the RocksDB database engine as a route cache, it does not work #1029
  • Error when nested subquery contains not in on global table #1030
  • dble should not check "port" configured in myid.properties when use zookeeper as cluster manager #1025
  • SubQuery can not correctly executed some complex-query case #1027
  • May get NPE when global table join with nosharding table and sharding table #1023
  • May report error when two sharding tables cross database #968
  • Some of the judgment conditions in the subquery of global table are lost #1022
  • Cleaning dble registered keys in zk will make dnindex.properties which is under directory named conf deleted #991
  • When testing the stability of dble + lvs, Dble returns to NPE #954
  • reload @@config_all gets odds err "java.util.ConcurrentModificationException" #984
  • Use incorrect decoder to decode non-ASCII sharding column for utf8mb4 before routing #995
  • Error when cross-database join syntax contains global table #965
  • [select ... from ... where ...order by convert(col using gbk); ] get ERROR: CONVERT(... USING ...) is standard SQL syntax #982, but order is not fixed
  • For nosharding table, got error from multiple tables join(the tables come from different databases ) #1001
  • Got error while executing the sql "select schema3.test3.id,schema3.test3.pad from schema1.test1 join schema3.test3 where schema1.test1.id=schema3.test3.id and schema3.test3.id =1;" #967
  • For global table, in select ...where... syntax, now not support "schema.table.column" in where clause #964
  • For global table, got error(NoSuchElementException) while executing "select * from schema2.test2 union select * from view_test;" #970
  • For no-sharding table, got error while executing sql "show columns in test1" #958
  • For global table, the isolation level REPEATABLE READ not work fine #989
  • Error when union query contains TRIM(LEADING 'x' FROM 'xxxbarxxx') and sharding table #953
  • [CREATE TABLE test1(id int, data1 int,data2 int,data3 int as (data1+data2) stored);] hang #936
  • For manager command: show @@Datasource, now the ACTIVE column show negative number #942
  • Query with 2 "in subquery" with global table may get error "ERROR 4004 (42S22): column autoalias_tt.autoalias_scalar not found" #961
  • Error when create procedure with hint #919
  • Join different default datanode table with same name get wrong resultset #926
  • Join same table name and different sharding in different schema get error:Not unique table/alias #865
  • show @@sql andshow @@sql.resultset returns unstable results #846
  • [select 12 as Department, Department from global_table1 group by Department] got error :duplicate column:Department #931
  • [select * from mytest.sharding_two t where t.not_sharding_col=2] with case insensitive, will get "table doesn't exist" #930
  • Drop view failed when using keyword as view name view #920

Breaking backward compatibility:

  • Use incorrect decoder to decode non-ASCII sharding column for utf8mb4 before routing #995. So if you use character utf8mb4 and use string column as sharding column, you must re-sharding your data for the upgrade.
  • Reload config will not reload metadata of all tables #946. For more details, click here
  • If use ZK as cluster manager,please add Version attribute in rule/schema/server.xml