Skip to content

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
Assets 4

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
Assets 4

Features:

  • Support MySQL Protocol::AuthSwitchRequest #819
  • Optimize Query Plan: Some queries can be sent to one datanode in fact, no need to rewrite and push down.#752
  • Support DDL: create table tbl_name { LIKE old_tbl_name | (LIKE old_tbl_name) } #757
  • Upgrade Druid from 1.0.31 to 1.1.10 #749
  • The log of config error can't tell which property make it #905
  • Add manager command of show @@Alert (for enterprise edition)

Bug-fixes:

  • When useJoinStrategy, join with limit and use nest loop in fact, the Explain result lost rows #777
  • The error log is too simple when dble can not connection to backend connection #765
  • Complex query got syntax error which caused by string in "group by" #779
  • Query statements with 2 subqueries can cause thread safty problem #917
  • Global table union with none global table get unexpect unreadable error:ERROR 1105 (HY000): Index: 2, Size: 2 #860
  • "order by" can't work fine in sharding table #889
  • Unreasonable error message when explain help #899
  • Close the session while doing DDL, the DDL lock may not be removed #797
  • show index from global_table/*abc*/ may be route to default datanode #892
  • Reload return detail when Error "other session doing DDL" #900
  • “unexpected packet” log in dble.log when execute subquery in dble and commit #897
  • COM_STMT_SEND_LONG_DATA handle error #869
  • Inappropriate hints when explain view #837
  • Can't support Escape character in prepare statement:prepare stmt from 'insert into aly_test values(111,111,'test中id为1',111)'; #872
  • management cmd "reload @@query_cf" does not work #875
  • Can not reflect view under view list after creating the view correctly #825
  • For .net connector 6.8.8, can't connect to dble with the port 9066 #878
  • It will show wrong table schema and duplicate table names on the table list after we click the 'design table' #824
  • Dbeaver gui can't display the table list correctly #829
  • View will not reflect on the schema list and can't dispay the right content after executing the sql 'show create view view_tt;' #827
  • Meta data check should ignore AUTO_INCREMENT difference #867
  • MySQL Workbench8.0 does not show the global table 'test' #842
  • Rollback with hint will send to schema default datanode #533
  • dble parses empty column for int to NULL while mysql parses to 0 in [load data ...] query #768
  • System parameter maxCon is invalid after a connection failure #838
  • Error when querying data from mysql table named keys #798
  • Error while using the keyword as the view name in the "show create view" statement #856
  • Insert statements involving multiple nodes will be stored in the slow log #807
  • Union syntax, select a column twice got error #790
  • Add order by for the entire UNION result will get wrong result #791
  • [select * from sharding_two_node where id is null] gets lost connection ... #800
  • Without default database explain failed even referring database at table quote #813
  • Error when insert contains scheam name in the no_sharding table #836
  • [select count(distinct col1,col2) from ... group by col2] get different result from mysql Aggregate function #845
  • Error when the global table is joined with the non-split table and the two tables have a shared node #848
  • [select sec_to_time(sum(time_to_sec(t))) from a_manager] get error result Aggregate function #814
  • [select * from aly_test where id =ALL(select 1);] success but explain failed #796
  • Function group_concat ([order by ... desc...]), 'order by' and 'desc' do not work as same as mysql #820
  • Incorrect result on select contains stddev() #844
  • Some datanodes cannot be connectted when macCon <= the number of datanode #822
  • Error when insert into sharding column null while it has default null value #831
  • Insert into sharding column(type timestamp) null while it has default not null value will violate sharding expectation #815
  • Error,when the join clause contains STR_TO_DATE() and conditional_expr is a non-split column #817
  • Parses empty line different with mysql in [load data ...] query #769
  • Incorrect result on show @@connection.sql.EXECUTE_TIME when the execution time of query<1ms #785
  • writeHost in schema.xml should support "weight" #793
  • NPE when the data of the insert exceeds the character length in the case of opening the slow log #783
  • [load data ...] without default database got npe #776
  • [create table if not exists test_table(id int)] got error if table already exists #784
  • Navicat Premium 12 can not connect dble driver #633
  • Parser Error when index contains comment #495
  • [check full @@metadata] gives global table metadata right while the table is not exist in some datanode #786
  • Druid can't discriminate between "set session tx_variables,xxx" and "set tx_variables,xxx" #316
  • SQL parser can not tell the difference of ~id =1 and ~(id =1) #302
  • Error when select syntax contains two ignore key(key_name) #413
  • Error when create statement contains the option of "algorithm" #258
  • Error on index_hint_list which contains multiple index hints #272
  • [management-command]JDBC5.1.31 can not connect manager port #680
  • Escape character has been lost #295
  • [lock table ... write] cannot be parsed by druid #744
  • When lower_case_table_names =1, error caused by schema_name case sensitive #771
  • Query in dble returns "0" while the same query in mysql returns "null" #760

Breaking backward compatibility:

  • If you set a unsupport properties in server.xml,you can not start dble & reload config. #579
  • Some syntax, druid parser does not recognize #788
  • change myid.properties for using ZK as cluster manager #766
Assets 4

Features:

  • Add command for manager user check @@metadata. For more details, see:check @@metadata
  • Improve performance of initializing metadata #700 . You can use old logic by setting useOldMetaInit in server.xml
  • New check item in Dryrun #712
  • Add RocksDB support for cache using FST for serializer #691. For more details, see:cache_setting (thanks @runfriends)

Bug-fixes:

  • Join Error when the join Key contain value null #681
  • Derived subquery should be optimized if it is an ER/Global JOIN #685 #701
  • Client get lost connection when try to load data local for a empty file #683
  • Close backend connection asynchronously
  • Charset of group_concat is not correct #679
  • Treat single node sharding table as no-sharding table #687 #692
  • Union with duplicate constant in select error #671
  • Union more than 3 resultSet and with function exec get Error #678
  • Charset set in server.xml works on backend connection #689
  • Hint logic fix #670 #669 #649 #696 #697 #698
  • Sub query logic fix when tmp results contains null #715 #716 #719 #722 #720 #724 #725 #729 #730 #731 #736 #737 #741 #742
  • select * from a left join b on a.col1=b.col1 where b.col1 is null" can't filter out expect line #717
  • load data bugs #703 #772 #774
  • Hang when execute DDL on dble cluster manager by ZK #732
  • multi-query with ddl may need sync context resolve verified #743
  • 'reload' hang until tcp is completed, when the backend node is broken network resolve verified #739
  • MaxCon do not work when the concurrent number increase rapidly #745
  • If slow query log size larger than 64M,log file roll over failed #751
  • Multiple statements add view create/drop support and ErrorPacket packetId fix #746
  • "select id, -sum(c_decimal) [as] c2 from aly_test group by id order by c2 desc;" got "field not found:-SUM(c_decimal)" #758
Assets 4

Features:

  • Slow query log, support mysqldumpslow and pt-query-digest #663 . For more details, see:Slow query log
  • Trace for query, like profiling in MySQL #628 . For more details, see:trace
  • Refactor reload @@config_all #586 #601 . For more details, see:reload
  • Dryrun:check config before reload #629 . For more details, see:dryrun
  • Pause and resume used for data expansion #548 . For more details, see:Pause and resume
  • Create database in manager port . For more details, see:Create database
  • Sharding rule support insert null value #567 . For more details, see:rule
  • Select for global table send to the still available dataNode if some dataNodes could not be reached #587
  • Improve the sql statistics,delete/update/insert will be recorded #595
  • Add maxcon for both server and user #574 . For more details, see:server.xml and user

Bug-fixes:

  • Backend conns were killed in an distribution transaction, commit may hang and the inner thread will be occupied #676
  • Subquery union all with all constants order error #666
  • Initialization meta data may randomly cause service stuck when server start #660
  • When where is mis-spell as wher, wher is used as alias #126 (reopen by 2.18.07.0 )
  • Complex query with table alias will cause error when has ` #651
  • With date sharding rule, if sBeginDate is ommitted, do reload will get NPE #625
  • If dataNode's database is not created, execute ddl will get "lost connection ..." #636
  • SubQuery with ”select *“ may cause connection closed and StackOverflow #624
  • manager cmd may get result set of previous manager cmd #631
  • Error when executing "join" syntax with "on" condition and contains subquery #640
  • Error when join with "where" condition and the row values contains null #634
  • Error executing "drop table if exists tableName " when tableName not in schema.xml #638
  • JMX may fail without com.sun.management.jmxremote.host with Java 8 #664
  • Error when query with schema_name.table_name #639
  • Error when union syntax contains no-table-select #359
  • Loss connection when explain link subquery without space #537
  • Error when use between...and... connection subquery #429
  • Union & concat & join can't work together #581
  • Business port and manager port both blocked when exists database in config not created and the database is not used by table #598
  • When doing complex inner join between a small table and a big tanle ,it may get Error #588
  • Join table alias can't use uppercase #582
  • Complex sub query may got error "field not found:autoalias_null.autoalias_scalar" #593
  • Change close funcation of backend conns.

Breaking backward compatibility:

  • Benchmark in server.xml for user is deprecated ,use maxcon to replace #574. For more details, see:server.xml and user

Different from MySQL

  • The log fomart of slow query log is a little different from mysql, but support tools(mysqldumpslow and pt-query-digest) for MySQL
Assets 3

Features:

  • Optimize testConn
  • Add log for reload
  • Rewrite [reload @@config_all|reload @@config_all] to avoid reading config files twice (#552 #590)

Bug-fixes:

  • Timestamp data type of response for query from manager port is wrong #569
  • Table [table_number] name was changed by Druid #576
  • Error when view contains a statement which likeselect table1.name,table2.name as t_name #345
  • Send DDL query after maxConn was reached, then DDL lock in memory is left #583
  • When DDL contains Chinese, and the environment is not UTF-8 and deploy in Ucore Cluster,the DDL may hang
  • Small table inner join big table may cause connection leak #588
  • Select item contains an aggregate function with alias which is same to origin column and having clause contains the same aggregate function, the query will report error #599
  • Join SQL return wrong result when join column contains null value #600

Breaking backward compatibility:

  • Delay detection will no longer dependent on switchType =2

Different from MySQL

  • Set all message in OK packet to null #549
Assets 3

Features:

  • Support Multi-Statement for COM_QUERY
  • Put pid file into root path, replace log path #520
  • Make writing to back-end asynchronous
  • If balance is 0,read host will be ignored

Bug-fixes:

  • If SQL is too long,executing show @@connection.sql; will be unreadable. #490
  • Error when there is only a sub-query after select #526
  • If MySQL cannot login caused by ERROR 1129,dble will throw NPE #527
  • Add exit log for unknown error
  • Fix problem when lowercase=0 #542
  • PreparedStatement's result packet number is not correct #540
  • Fix bug re-opend by 2.18.02.0 #116 #359
  • Hang when order by contains subquery #443
  • Reload hang when ZK is used for cluster #541
  • Columns order of natural right join is the same with natural left join #525
  • Return error when sql with 'union' on global table #555
  • No-sharding table mixed with sharding sub-query may not route correctly
  • Fix usingDecrypt=1 when RReload with dble cluster
  • Fix between bug #477 #429
  • Fix global join with having subquery bug #463
  • Error DDL may cause unlock twice in memory #564

Breaking backward compatibility:

  • Not show real password when use encrypt.sh
Assets 3

Bug-fixes:

  • Not use DirectMemory in warpper.conf may cause the other JVM arguments invalid.
  • Reload @@config_all may failed or initialized wrong system variables .
  • When session is closed while doing DDL, the DDL lock will be left in memory,it may cause dble-server blocking.
  • Close file descriptor if not needed any more.

Features:

  • while dong DDL, the DDL/DML query with the same table will not wait,but just response error.
Assets 3

It's a bug-fixed version for 2.18.02.1

Bug-fixes:

  • Ucore cluster support ip list(business version)
    too many connection when ucore occur exception.
  • change alertComponent and serverid for alarm
Assets 3

Features:

  • even datahost is unreachable, dble should start success #514
  • When a datahost(all write/read host) drop packets,the query will hang for a while until TCP timout #521
  • support that datahost only has one readhost and provide read service #515

Bug-fixes:

  • NPE for select syntax whose expr contains "_charset_name ‘string’ " with from clause #262 #521
  • Column alias, of aggregation functions, single-quote(') and back-quote(`) is treated as name #63
  • reload all with an error datahost will hang #507
  • schema.xml contains a table which cannot be parsed, then dble hang, and the log does not figure out which query it is #523
  • The management-command to perform the "show @@help" result set is incomplete#403
  • show tables in xxx #511
  • Ucore cluster support ip list(business version)
    warning alarm need not config in server.xml ,just use myid.properties, and it is a backward compatibility update. Detail see alarm part of doc-2.18.02.1
Assets 3
You can’t perform that action at this time.