TiDB 3.0.0-rc.2 Release Notes
Release date: May 28, 2019
TiDB version: 3.0.0-rc.2
TiDB Ansible version: 3.0.0-rc.2
Overview
On May 28, 2019, TiDB 3.0.0-rc.2 is released. The corresponding TiDB Ansible version is 3.0.0-rc.2. Compared with TiDB 3.0.0-rc.1, this release has greatly improved the stability, usability, features, the SQL optimizer, statistics, and the execution engine.
TiDB
SQL Optimizer
- Support Index Join in more scenarios #10540
- Support exporting historical statistics #10291
- Support the incremental
Analyzeoperation on monotonically increasing index columns #10355 - Neglect the NULL value in the
Order Byclause #10488 - Fix the wrong schema information calculation of the
UnionAlllogical operator when simplifying the column information #10384 - Avoid modifying the original expression when pushing down the
Notoperator #10363 - Support the
dump/loadcorrelation of histograms #10573
Execution Engine
- Handle virtual columns with a unique index properly when fetching duplicate rows in
batchChecker#10370 - Fix the scanning range calculation issue for the
CHARcolumn #10124 - Fix the issue of
PointGetincorrectly processing negative numbers #10113 - Merge
Windowfunctions with the same name to improve execution efficiency #9866 - Allow the
RANGEframe in aWindowfunction to contain noOrderByclause #10496
- Handle virtual columns with a unique index properly when fetching duplicate rows in
Server
- Fix the issue that TiDB continuously creates a new connection to TiKV when a fault occurs in TiKV #10301
- Make
tidb_disable_txn_auto_retryaffect all retryable errors instead of only write conflict errors #10339 - Allow DDL statements without parameters to be executed using
prepare/execute#10144 - Add the
tidb_back_off_weightvariable to control the backoff time #10266 - Prohibit TiDB retrying non-automatically committed transactions in default conditions by setting the default value of
tidb_disable_txn_auto_retrytoon#10266 - Fix the database privilege judgment of
roleinRBAC#10261 - Support the pessimistic transaction mode (experimental) #10297
- Reduce the wait time for handling lock conflicts in some cases #10006
- Make the Region cache able to visit follower nodes when a fault occurs in the leader node #10256
- Add the
tidb_low_resolution_tsovariable to control the number of TSOs obtained in batches and reduce the times of transactions obtaining TSO to adapt for scenarios where data consistency is not so strictly required #10428
DDL
- Fix the uppercase issue of the charset name in the storage of the old version of TiDB #10272
- Support
preSplitof table partition, which pre-allocates table Regions when creating a table to avoid write hotspots after the table is created #10221 - Fix the issue that TiDB incorrectly updates the version information in PD in some cases #10324
- Support modifying the charset and collation using the
ALTER DATABASEstatement #10393 - Support splitting Regions based on the index and range of the specified table to relieve hotspot issues #10203
- Prohibit modifying the precision of the decimal column using the
alter tablestatement #10433 - Fix the restriction for expressions and functions in hash partition #10273
- Fix the issue that adding indexes in a table that contains partitions will in some cases cause TiDB panic #10475
- Validate table information before executing the DDL to avoid invalid table schemas #10464
- Enable hash partition by default; and enable range columns partition when there is only one column in the partition definition #9936
PD
- Enable the Region storage by default to store the Region metadata #1524
- Fix the issue that hot Region scheduling is preempted by another scheduler #1522
- Fix the issue that the priority for the leader does not take effect #1533
- Add the gRPC interface for
ScanRegions#1535 - Push operators actively #1536
- Add the store limit mechanism for separately controlling the speed of operators for each store #1474
- Fix the issue of inconsistent
Configstatus #1476
TiKV
Engine
- Support multiple column families sharing a block cache #4563
Server
Raftstore
- Support hibernate Regions to reduce the consumption of the raftstore CPU #4591
- Fix the issue that the leader does not reply to the
ReadIndexrequests for the learner #4653 - Fix transferring leader failures in some cases #4684
- Fix the dirty read issue in some cases #4688
- Fix the issue that a snapshot may lose applied data in some cases #4716
Coprocessor
- Add more RPN functions
LogicalOr#4691LTReal#4602LEReal#4602GTReal#4602GEReal#4602NEReal#4602EQReal#4602IsNull#4720IsTrue#4720IsFalse#4720- Support comparison arithmetic for
Int#4625 - Support comparison arithmetic for
Decimal#4625 - Support comparison arithmetic for
String#4625 - Support comparison arithmetic for
Time#4625 - Support comparison arithmetic for
Duration#4625 - Support comparison arithmetic for
Json#4625 - Support plus arithmetic for
Int#4733 - Support plus arithmetic for
Real#4733 - Support plus arithmetic for
Decimal#4733 - Support MOD functions for
Int#4727 - Support MOD functions for
Real#4727 - Support MOD functions for
Decimal#4727 - Support minus arithmetic for
Int#4746 - Support minus arithmetic for
Real#4746 - Support minus arithmetic for
Decimal#4746
- Add more RPN functions
Tools
TiDB Binlog
- Add a metric to track the delay of data replication downstream #594
TiDB Lightning