| 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-limitand 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 inINSERTstatements #18101 - Support authentication based on the
SANfield of TLS certificate #17698 - Support collation for the
REGEXP()function #17581 - Support the
sql_select_limitsession 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_ADDRESScolumn in theINFORMATION_SCHEMA.INSPECTION_RESULTtable to indicate the status address of servers #17695 - Add the
SOURCEcolumn in theMYSQL.BIND_INFOtable to indicate the how the bindings are created #17587 - Add the
PLAN_IN_CACHEandPLAN_CACHE_HITScolumns in thePERFORMANCE_SCHEMA.EVENTS_STATEMENTS_SUMMARY_BY_DIGESTtable to indicate the plan cache usage of SQL statements #17493 - Add the
enable-collect-execution-infoconfiguration item and thetidb_enable_collect_execution_infosession 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_maskingglobal variable to control whether to desensitize the queries in slow query log #17694 - Add a diagnostic rule in the
INFORMATION_SCHEMA.INSPECTION_RESULTtable for thestorage.block-cache.capacityTiKV configuration item #17671 - Add the
BACKUPandRESTORESQL statements to back up and restore data #15274
- Support the
-
TiKV
-
PD
-
TiFlash
- Support new aggregation function
APPROX_COUNT_DISTINCTin Coprocessor - Enable the
rough set filterfeature by default - Enable TiFlash to run on the ARM architecture
- Support pushing down the
JSON_LENGTHfunction 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_enginesis changed #17570 - Fix the occasional runtime error that occurs when executing the
EXPLAIN FOR CONNECTIONstatement #18124 - Fix the incorrect result of the
last_plan_from_cachesession 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
HashJoinexecutor returns theNULLcolumn #17937 - Fix the runtime error caused by concurrently executing the
DROP DATABASEstatement 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
IndexMergeJoinexecutor occasionally gets stuck #18091 - Fix the hang issue of the
IndexMergeJoinexecutor when out of memory quota and query cancelling is triggered #17654 - Fix the excessive counting memory usage of the
InsertandReplaceexecutors #18062 - Fix the issue that the data replication to TiFlash storage is stopped when
DROP DATABASEandDROP TABLEare executed concurrently in the same database #17901 - Fix the
BACKUP/RESTOREfailure 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/UPDATEstatement #17843 - Forbid altering
AUTO_RANDOM_BASEfor a table withoutAUTO_RANDOMproperty #17828 - Fix the issue that the
AUTO_RANDOMcolumn 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_engineswithouttidb#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_SUMMARYtable without filter condition #17697 - Fix the issue that the hashed password used by the
ALTER USERstatement to update user information is unexpected #17646 - Support collation for
ENUMandSETvalues #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_timehint 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
%hon theSTR_TO_DATEfunction #17498 - Fix the issue that the follower/learner keeps retrying when
tidb_replica_readis set tofollowerand 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
Backofferfor each Region #17585 - Fix the MySQL incompatible behavior when parsing
DateTimedelimiters #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-mvccdoes not remove invalid pessimistic locks #8047 - Fix the issue that some Titan histogram metrics are missing #7997
- Fix the issue that TiKV returns
duplicated errorto TiCDC #7887
-
PD
- Check the correctness of the
pd-server.dashboard-addressconfiguration item #2517 - Fix the panic issue of PD when setting
store-limit-modetoauto#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
tombstonein 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 founderror occurs - Fix the issue that the I/O exception thrown in
drop tablemight lead to synchronization failure of TiFlash schema
- Fix the issue that the proxy might panic when the