title | aliases | summary | |
---|---|---|---|
TiDB 4.0.2 Release Notes |
|
TiDB 4.0.2 was released on July 1, 2020. The new version includes compatibility changes, new features, improvements, bug fixes, and new changes. Some highlights include support for new aggregate functions, improvements in query latency, and bug fixes related to execution plan, runtime errors, and data replication. Additionally, there are new features and improvements in TiKV, PD, TiFlash, and Tools. |
Release date: July 1, 2020
TiDB version: 4.0.2
-
TiDB
-
PD
- Persist
store-limit
and removestore-balance-rate
#2557
- Persist
- By default, TiDB and TiDB Dashboard share usage details with PingCAP to help understand how to improve the product #18180. For details about what is shared and how to disable the sharing, see Telemetry.
-
TiDB
- Support the
MEMORY_QUOTA()
hint inINSERT
statements #18101 - Support authentication based on the
SAN
field of TLS certificate #17698 - Support collation for the
REGEXP()
function #17581 - Support the
sql_select_limit
session and global variable #17604 - Support splitting the Region for the newly added partition by default #17665
- Support pushing the
IF()
/BITXOR()
/BITNEG()
/JSON_LENGTH()
functions to the TiFlash Coprocessor #17651 #17592 - Support a new aggregate function
APPROX_COUNT_DISTINCT()
to calculate the approximate result ofCOUNT(DISTINCT)
#18120 - Support collation in TiFlash and pushing collation-related functions to TiFlash #17705
- Add the
STATUS_ADDRESS
column in theINFORMATION_SCHEMA.INSPECTION_RESULT
table to indicate the status address of servers #17695 - Add the
SOURCE
column in theMYSQL.BIND_INFO
table to indicate the how the bindings are created #17587 - Add the
PLAN_IN_CACHE
andPLAN_CACHE_HITS
columns in thePERFORMANCE_SCHEMA.EVENTS_STATEMENTS_SUMMARY_BY_DIGEST
table to indicate the plan cache usage of SQL statements #17493 - Add the
enable-collect-execution-info
configuration item and thetidb_enable_collect_execution_info
session variable to control whether to collect execution information of each operator and record the information in the slow query log #18073 #18072 - Add the
tidb_slow_log_masking
global variable to control whether to desensitize the queries in slow query log #17694 - Add a diagnostic rule in the
INFORMATION_SCHEMA.INSPECTION_RESULT
table for thestorage.block-cache.capacity
TiKV configuration item #17671 - Add the
BACKUP
andRESTORE
SQL statements to back up and restore data #15274
- Support the
-
TiKV
-
PD
-
TiFlash
- Support new aggregation function
APPROX_COUNT_DISTINCT
in Coprocessor - Enable the
rough set filter
feature by default - Enable TiFlash to run on the ARM architecture
- Support pushing down the
JSON_LENGTH
function in Coprocessor
- Support new aggregation function
-
Tools
-
TiDB
- Reduce the query latency caused by the Golang memory allocation when CM-Sketch consumes too much memory #17545
- Reduce the QPS recovery duration of a cluster when a TiKV server is in the failure recovery process #17681
- Support pushing aggregate functions to TiKV/TiFlash Coprocessor on partition tables #17655
- Improve the accuracy of row count estimation for index equal conditions #17611
-
TiKV
-
TiFlash
-
Tools
-
Backup & Restore (BR)
- Improve the performance by pipelining the restore process #266
-
-
TiDB
- Fix the issue of incorrect execution plan obtained from the plan cache after
tidb_isolation_read_engines
is changed #17570 - Fix the occasional runtime error that occurs when executing the
EXPLAIN FOR CONNECTION
statement #18124 - Fix the incorrect result of the
last_plan_from_cache
session variable in some cases #18111 - Fix the runtime error that occurs when executing the
UNIX_TIMESTAMP()
function from the plan cache #18002 #17673 - Fix the runtime error when the child of
HashJoin
executor returns theNULL
column #17937 - Fix the runtime error caused by concurrently executing the
DROP DATABASE
statement and other DDL statements in the same database #17659 - Fix the incorrect result of the
COERCIBILITY()
function on user variables #17890 - Fix the issue that the
IndexMergeJoin
executor occasionally gets stuck #18091 - Fix the hang issue of the
IndexMergeJoin
executor when out of memory quota and query cancelling is triggered #17654 - Fix the excessive counting memory usage of the
Insert
andReplace
executors #18062 - Fix the issue that the data replication to TiFlash storage is stopped when
DROP DATABASE
andDROP TABLE
are executed concurrently in the same database #17901 - Fix the
BACKUP
/RESTORE
failure between TiDB and the object storage service #17844 - Fix the incorrect error message of privilege check failure when access is denied #17724
- Discard the query feedbacks generated from the
DELETE
/UPDATE
statement #17843 - Forbid altering
AUTO_RANDOM_BASE
for a table withoutAUTO_RANDOM
property #17828 - Fix the issue that the
AUTO_RANDOM
column is allocated wrong results when the table is moved between databases byALTER TABLE ... RENAME
#18243 - Fix the issue that some system tables cannot be accessed when setting the value of
tidb_isolation_read_engines
withouttidb
#17719 - Fix the inaccurate result of JSON comparison on large integers and float values #17717
- Fix the incorrect decimal property for the result of the
COUNT()
function #17704 - Fix the incorrect result of the
HEX()
function when the type of input is the binary string #17620 - Fix the issue that an empty result is returned when querying the
INFORMATION_SCHEMA.INSPECTION_SUMMARY
table without filter condition #17697 - Fix the issue that the hashed password used by the
ALTER USER
statement to update user information is unexpected #17646 - Support collation for
ENUM
andSET
values #17701 - Fix the issue that the timeout mechanism for pre-splitting Regions does not work when creating a table #17619
- Fix the issue that the schema is unexpectedly updated when a DDL job is retried, which might break the atomicity of DDL jobs #17608
- Fix the incorrect result of the
FIELD()
function when the argument contains the column #17562 - Fix the issue that the
max_execution_time
hint does not work occasionally #17536 - Fix the issue that the concurrency information is redundantly printed in the result of
EXPLAIN ANALYZE
#17350 - Fix the incompatible behavior of
%h
on theSTR_TO_DATE
function #17498 - Fix the issue that the follower/learner keeps retrying when
tidb_replica_read
is set tofollower
and there is a network partition between the leader and the follower/learner #17443 - Fix the issue that TiDB sends too many pings to PD follower in some cases #17947
- Fix the issue that the range partition table of older versions cannot be loaded in TiDB v4.0 #17983
- Fix the SQL statement timeout issue when multiple Region requests fail at the same time by assigning different
Backoffer
for each Region #17585 - Fix the MySQL incompatible behavior when parsing
DateTime
delimiters #17501 - Fix the issue that TiKV requests are occasionally sent to the TiFlash server #18105
- Fix the data inconsistency issue occurred because the lock of a written and deleted primary key in one transaction is resolved by another transaction #18250
- Fix the issue of incorrect execution plan obtained from the plan cache after
-
TiKV
- Fix a memory safety issue for the status server #8101
- Fix the issue of lost precision in JSON numeric comparison #8087
- Fix the wrong query slow log #8050
- Fix the issue that a peer cannot be removed when its store is isolated during multiple merge processes #8048
- Fix the issue that
tikv-ctl recover-mvcc
does not remove invalid pessimistic locks #8047 - Fix the issue that some Titan histogram metrics are missing #7997
- Fix the issue that TiKV returns
duplicated error
to TiCDC #7887
-
PD
- Check the correctness of the
pd-server.dashboard-address
configuration item #2517 - Fix the panic issue of PD when setting
store-limit-mode
toauto
#2544 - Fix the issue that hotspots cannot be identified in some cases #2463
- Fix the issue that placement rules prevent the store from changing to
tombstone
in some cases #2546 - Fix the panic issue of PD when upgrading from earlier versions in some cases #2564
- Check the correctness of the
-
TiFlash
- Fix the issue that the proxy might panic when the
region not found
error occurs - Fix the issue that the I/O exception thrown in
drop table
might lead to synchronization failure of TiFlash schema
- Fix the issue that the proxy might panic when the