title | aliases | summary | ||
---|---|---|---|---|
TiDB 3.0.0-rc.3 Release Notes |
|
TiDB 3.0.0-rc.3 was released on June 21, 2019, with improvements in stability, usability, features, SQL optimizer, statistics, and execution engine. Fixes and new features were added to TiDB, PD, TiKV, and TiDB Ansible. Notable improvements include automatic loading statistics, manual splitting of table and index regions, and support for pessimistic transactions in TiKV. |
Release date: June 21, 2019
TiDB version: 3.0.0-rc.3
TiDB Ansible version: 3.0.0-rc.3
On June 21, 2019, TiDB 3.0.0-rc.3 is released. The corresponding TiDB Ansible version is 3.0.0-rc.3. Compared with TiDB 3.0.0-rc.2, this release has greatly improved the stability, usability, features, the SQL optimizer, statistics, and the execution engine.
-
SQL Optimizer
- Remove the feature of collecting virtual generated column statistics #10629
- Fix the issue that the primary key constant overflows during point queries #10699
- Fix the issue that using uninitialized information in
fast analyze
causes panic #10691 - Fix the issue that executing the
create view
statement usingprepare
causes panic because of wrong column information #10713 - Fix the issue that the column information is not cloned when handling window functions #10720
- Fix the wrong estimation for the selectivity rate of the inner table selection in index join #10854
- Support automatic loading statistics when the
stats-lease
variable value is 0 #10811
-
Execution Engine
- Fix the issue that resources are not correctly released when calling the
Close
function inStreamAggExec
#10636 - Fix the issue that the order of
table_option
andpartition_options
is incorrect in the result of executing theshow create table
statement for partitioned tables #10689 - Improve the performance of
admin show ddl jobs
by supporting scanning data in reverse order #10687 - Fix the issue that the result of the
show grants
statement in RBAC is incompatible with that of MySQL when this statement has thecurrent_user
field #10684 - Fix the issue that UUIDs might generate duplicate values on multiple nodes #10712
- Fix the issue that the
show view
privilege is not considered inexplain
#10635 - Add the
split table region
statement to manually split the table Region to alleviate the hotspot issue #10765 - Add the
split index region
statement to manually split the index Region to alleviate the hotspot issue #10764 - Fix the incorrect execution issue when you execute multiple statements such as
create user
,grant
, orrevoke
consecutively #10737 - Add a blocklist to prohibit pushing down expressions to Coprocessor #10791
- Add the feature of printing the
expensive query
log when a query exceeds the memory configuration limit #10849 - Add the
bind-info-lease
configuration item to control the update time of the modified binding execution plan #10727 - Fix the OOM issue in high concurrent scenarios caused by the failure to quickly release Coprocessor resources, resulted from the
execdetails.ExecDetails
pointer #10832 - Fix the panic issue caused by the
kill
statement in some cases #10876
- Fix the issue that resources are not correctly released when calling the
-
Server
- Fix the issue that goroutine might leak when repairing GC #10683
- Support displaying the
host
information in slow queries #10693 - Support reusing idle links that interact with TiKV #10632
- Fix the support for enabling the
skip-grant-table
option in RBAC #10738 - Fix the issue that
pessimistic-txn
configuration goes invalid #10825 - Fix the issue that the actively canceled ticlient requests are still retried #10850
- Improve performance in the case where pessimistic transactions conflict with optimistic transactions #10881
-
DDL
- Fix the issue that modifying charset using
alter table
causes theblob
type change #10698 - Add a feature to use
SHARD_ROW_ID_BITS
to scatter row IDs when the column contains anAUTO_INCREMENT
attribute to alleviate the hotspot issue #10794 - Prohibit adding stored generated columns by using the
alter table
statement #10808 - Optimize the invalid survival time of DDL metadata to shorten the period during which the DDL operation is slower after cluster upgrade #10795
- Fix the issue that modifying charset using
- Add the
enable-two-way-merge
configuration item to allow only one-way merging #1583 - Add scheduling operations for
AddLightLearner
andAddLightPeer
to make Region Scatter scheduling unrestricted by the limit mechanism #1563 - Fix the issue of insufficient reliability because the data might only have one replica replication when the system is started #1581
- Optimize configuration check logic to avoid configuration item errors #1585
- Adjust the definition of the
store-balance-rate
configuration to the upper limit of the number of balance operators generated per minute #1591 - Fix the issue that the store might have been unable to generate scheduled operations #1590
-
Engine
-
Server
-
Raftstore
- Fix the issue that the cache of the local reader is not cleared correctly #4778
- Fix the issue that the request delay might be increased when transferring the leader and changing
conf
#4734 - Fix the issue that a stale command is wrongly reported #4682
- Fix the issue that the command might be pending for a long time #4810
- Fix the issue that files are damaged after a power failure, which is caused by a delay of synchronizing the snapshot file to the disk #4807, #4850
-
Coprocessor
- Support Top-N in vector calculation #4827
- Support
Stream
aggregation in vector calculation #4786 - Support the
AVG
aggregate function in vector calculation #4777 - Support the
First
aggregate function in vector calculation #4771 - Support the
SUM
aggregate function in vector calculation #4797 - Support the
MAX
/MIN
aggregate function in vector calculation #4837 - Support the
Like
expression in vector calculation #4747 - Support the
MultiplyDecimal
expression in vector calculation #4849 - Support the
BitAnd
/BitOr
/BitXor
expression in vector calculation #4724 - Support the
UnaryNot
expression in vector calculation #4808
-
Transaction
- Fix the issue that an error occurs caused by non-pessimistic locking conflicts in pessimistic transactions #4801, #4883
- Reduce unnecessary calculation for optimistic transactions after enabling pessimistic transactions to improve the performance #4813
- Add a feature of single statement rollback to ensure that the whole transaction does not need a rollback operation in a deadlock situation #4848
- Add pessimistic transaction-related monitoring items #4852
- Support using the
ResolveLockLite
command to resolve lightweight locks to improve the performance when severe conflicts exist #4882
-
tikv-ctl
-
Misc
- Add the
dist_release
compiling command #4841
- Add the
- TiDB Binlog
- Fix the wrong offset issue caused by Pump not checking the returned value when it fails to write data #640
- Add the
advertise-addr
configuration in Drainer to support the bridge mode in the container environment #634 - Add the
GetMvccByEncodeKey
function in Pump to speed up querying the transaction status #632
- Add a monitoring item to predict the maximum QPS value of the cluster ("hide" by default) #f5cfa4d