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
Analyze
operation on monotonically increasing index columns #10355 - Neglect the NULL value in the
Order By
clause #10488 - Fix the wrong schema information calculation of the
UnionAll
logical operator when simplifying the column information #10384 - Avoid modifying the original expression when pushing down the
Not
operator #10363 - Support the
dump
/load
correlation 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
CHAR
column #10124 - Fix the issue of
PointGet
incorrectly processing negative numbers #10113 - Merge
Window
functions with the same name to improve execution efficiency #9866 - Allow the
RANGE
frame in aWindow
function to contain noOrderBy
clause #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_retry
affect 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_weight
variable 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_retry
toon
#10266 - Fix the database privilege judgment of
role
inRBAC
#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_tso
variable 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
preSplit
of 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 DATABASE
statement #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 table
statement #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
Config
status #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
ReadIndex
requests 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