Skip to content

Releases: actiontech/dble

Release 2.18.12.0

07 Jan 10:35
Compare
Choose a tag to compare

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

Release 2.18.10.0

24 Oct 07:04
Compare
Choose a tag to compare

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

Release 2.18.09.0

31 Aug 07:37
Compare
Choose a tag to compare

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

Release 2.18.07.2

01 Aug 06:19
Compare
Choose a tag to compare

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

Release 2.18.06.0

26 Jun 10:05
Compare
Choose a tag to compare

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

Release 2.18.02.3

20 Jun 05:51
Compare
Choose a tag to compare

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.

Release 2.18.02.2

03 May 23:55
Compare
Choose a tag to compare

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

Release 2.18.02.1

02 May 08:23
Compare
Choose a tag to compare

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

Release 2.18.02.0

12 Apr 12:02
Compare
Choose a tag to compare

Features:

  • Performance improved #476
    1.Split the NIO processors/reactors to frontEnd processors/reactors and backEnd processors/reactors.
    2.Split the business thread pool to frontEnd thread pool and backEnd thread pool .
    3.frontEnd not need a queue of one item for cache data.
    4.show @@thread_used to trace performance.
    5.show @@cost_time to show cost time for backEnd and fro.
    6.add performance mode.
  • Manager command:show datanodes for table #474
    Manager user can user command "show @@datanodes" to find the detail info about sharding table
  • Jump Consistent Hash #447
    New function class "jumpStringHash" can be used in rule.xml
  • Ucore cluster support(business version)
    dble can be deployed as a cluster use Ucore instead of ZK
  • Btrace Performance checkpoint added
    The Performance can be observed by Btrace script BTraceCostTime.java
  • support 'show table status' for sqlyog #499
  • support 'show full fields' for sqlyog #497

Bug-fixes:

  • Router result is not accurate when condition is "between ... and " #477
  • NPE when hint is 'select view' #380
  • When receive a standard COM_STMT_EXECUTE packet without parameter, dble will throw ArrayIndexOutOfBoundsException. #456
  • Dble can not startup when the schema.xml is almost empty #411
  • Manager command ‘show @@processor’ has the wrong result #445
  • parser Error when index contains comment #495
    PS:Not support create new table which has index with comment
  • global sequence duplicate #489

Breaking backward compatibility:

  • myid.properties completely changed,Old version need rewrite
  • rollback 'show full tables' and add 'show all tables' for replace #498

Release 2.17.11.0

25 Jan 08:07
Compare
Choose a tag to compare

Features:

  • Prepared SQL Statement Syntax

    • Support the following items:
      • PREPARE Syntax
      • EXECUTE Syntax
      • DEALLOCATE PREPARE Syntax
  • Subquery

    • Support the following items:
      • The Subquery as Scalar Operand
      • Comparisons Using Subqueries
      • Subqueries with ANY, IN, or SOME
      • Subqueries with ALL
      • Subqueries with EXISTS or NOT EXISTS
      • Derived Tables (Subqueries in the FROM Clause)
    • Not Support the following items:
      • Row Subqueries
      • Correlated Subqueries
  • View

    • Support the following items:
      • create view
      • drop view
      • alter view
      • show create view
  • Add statistics for manager user #367

  • reload @@config_all add two parameter -t and -f

Bug-fixes:

  • Derived Tables Subquery code refactoring
  • Front end Connection handling when exec MYSQL PROCEDURE #322
  • Transaction consistency does not keep on once dble restarts or crashes when "xa_commit" #326
  • 'statement.setMaxRows' can make 'dble' client hanged. #330
  • XA transaction will execute failed,when xa rollback is abnormal submitted #335
  • "table _name doesn't exist" by blob.length() #325
  • Error when join syntax contains global table and two non-global tables #350
  • When the global sequence is the type of database and the database has no table sequence rule,execute "insert" ,the first record's Increment column is zero #340
  • Error of "lost connection" cause of "analyze table table_name" #337
  • Error when join syntax contains three different types of tables and the rightmost table is global table #351
  • Complex query statement is handed out to the master node when balance is three #371
  • Error when union syntax contains no-table-select #359
  • After one xa transaction is abnormal submitted,the next will return error #332
  • ucs2, utf16, and utf32 cannot be used as a client character set #389
  • In a database global sequence, dble throws an error when "DBLE_SEQUENCE" is not on the same node as the table using the sequence #396
  • Incorrect result onselect syntax when column and alias having the same name #401
  • Incorrect order result for sum(column) of group by #402
  • dble unable to log on when there is a default node in "schema.xml" and no table schema #426
  • Error when order by using alias 408
  • Incorrect result onjoin syntax when it contains order by two columns #414
  • back connection will not release after response #287
  • The client connection is off abnormally, causing the sort task hung #428
  • Error when using union or union all connect three global tables #425

Breaking backward compatibility:

  • remove properties lowerCaseTableNames from server.xml, get the value from dataHost #60
  • remove properties memoryPageSize, spillsFileBufferSize,dataNodeSortedTempDir,useOffHeapForMerge from server.xml