TiDB 7.1.1 Release Notes
Release date: July 24, 2023
TiDB version: 7.1.1
Quick access: Quick start | Production deployment
Compatibility changes
- TiDB introduces a new system variable
tidb_lock_unchanged_keys
to control whether to lock unchanged keys #44714 @ekexium
Behavior changes
- When processing update event, TiCDC splits an event into delete and insert events if the primary key or non-null unique index value is modified in the event. For more information, see documentation.
Improvements
TiDB
- Plan Cache supports queries with more than 200 parameters #44823 @qw4990
- Optimize the performance of reading the dumped chunks from disk #45125 @YangKeao
- Optimize the logic of constructing index scan range so that it supports converting complex conditions into index scan range #41572 #44389 @xuyifangreeneyes
- When the retry leader of stale read encounters a lock, TiDB forcibly retries with the leader after resolving the lock, which avoids unnecessary overhead #43659 @you06
PD
- PD blocks Swagger API by default when the Swagger server is disabled #6786 @bufferflies
Tools
TiCDC
- Optimize the encoding format of binary fields when TiCDC replicates data to object storage services #9373 @CharlesCheung96
- Support the OAUTHBEARER authentication in the scenario of replication to Kafka #8865 @hi-rustin
TiDB Lightning
Dumpling
TiDB Binlog
Bug fixes
TiDB
- Fix the issue that the GC Resolve Locks step might miss some pessimistic locks #45134 @MyonKeminta
- Fix the issue that Stats Collector might cause deadlock when a new session is created #44502 @xuyifangreeneyes
- Fix the potential memory leak issue in memory tracker #44612 @wshwsh12
- Fix the issue that batch coprocessor retry might generate incorrect Region information that causes query failure #44622 @windtalker
- Fix the potential data race issue in index scan #45126 @wshwsh12
- Fix the issue that query results in MPP mode are incorrect when
tidb_enable_parallel_apply
is enabled #45299 @windtalker - Fix the hang-up issue that occurs when queries with
indexMerge
are killed #45279 @xzhangxian1008 - Fix the issue that excessive memory consumption of SQL execution details in statistics causes TiDB OOM in extreme cases #44047 @wshwsh12
- Fix the issue that the
FormatSQL()
method cannot properly truncate extremely long SQL statements in input #44542 @hawkingrei - Fix the issue that DDL operations get stuck during cluster upgrade, which causes upgrade failure #44158 @zimulala
- Fix the issue that other TiDB nodes do not take over TTL tasks after failures in one TiDB node #45022 @lcwangchao
- Fix the issue that when the MySQL Cursor Fetch protocol is used, the memory consumption of result sets might exceed the
tidb_mem_quota_query
limit and causes TiDB OOM. After the fix, TiDB will automatically write result sets to the disk to release memory #43233 @YangKeao - Fix the issue that users can view information in the
INFORMATION_SCHEMA.TIFLASH_REPLICA
table even without permissions #45320 @Lloyd-Pottiger - Fix the issue that
ROW_COUNT
returned by theADMIN SHOW DDL JOBS
statement is inaccurate #44044 @tangenta - Fix the issue that querying a Range COLUMNS partitioned table might get an error #43459 @mjonss
- Fix the issue that resuming a paused DDL task fails #44217 @dhysum
- Fix the issue that in-memory pessimistic locks cause
FLASHBACK
failures and data inconsistency #44292 @JmPotato - Fix the issue that deleted tables can still be read from
INFORMATION_SCHEMA
#43714 @tangenta - Fix the issue that the cluster upgrade fails when there are paused DDL operations before the upgrade #44225 @zimulala
- Fix the
duplicate entry
error that occurs when restoring a table withAUTO_ID_CACHE=1
using BR #44716 @tiancaiamao - Fix the data index inconsistency issue triggered by multiple switches of DDL owner #44619 @tangenta
- Fix the issue that canceling an
ADD INDEX
DDL task in thenone
status might cause memory leak because this task is not removed from the backend task queue #44205 @tangenta - Fix the issue that the proxy protocol reports the
Header read timeout
error when processing certain erroneous data #43205 @blacktear23 - Fix the issue that PD isolation might block the running DDL #44267 @wjhuang2016
- Fix the issue that the query result of the
SELECT CAST(n AS CHAR)
statement is incorrect whenn
in the statement is a negative number #44786 @xhebox - Fix the issue of excessive memory usage after creating a large number of empty partitioned tables #44308 @hawkingrei
- Fix the issue that Join Reorder might cause incorrect outer join results #44314 @AilinKid
- Fix the issue that queries containing Common Table Expressions (CTEs) might cause insufficient disk space #44477 @guo-shaoge
- Fix the issue that dropping a database causes slow GC progress #33069 @tiancaiamao
- Fix the issue that adding an index fails in the ingest mode #44137 @tangenta
- Fix the issue that the
SELECT
statement returns an error for a partitioned table if the table partition definition uses theFLOOR()
function to round a partitioned column #42323 @jiyfhust - Fix the issue that follower read does not handle flashback errors before retrying, which causes query errors #43673 @you06
- Fix the issue that using
memTracker
with cursor fetch causes memory leaks #44254 @YangKeao - Fix the issue that the
SHOW PROCESSLIST
statement cannot display the TxnStart of the transaction of the statement with a long subquery time #40851 @crazycs520 - Fix the issue that the
LEADING
hint does not support querying block aliases #44645 @qw4990 - Fix the issue that
PREPARE stmt FROM "ANALYZE TABLE xxx"
might be killed bytidb_mem_quota_query
#44320 @chrysan - Fix the panic issue caused by empty
processInfo
#43829 @zimulala - Fix the issue that data and indexes are inconsistent when the
ON UPDATE
statement does not correctly update the primary key #44565 @zyguan - Fix the issue that queries might return incorrect results when
tidb_opt_agg_push_down
is enabled #44795 @AilinKid - Fix the issue that using CTEs and correlated subqueries simultaneously might result in incorrect query results or panic #44649 #38170 #44774 @winoros @guo-shaoge
- Fix the issue that canceling a DDL task in the rollback state causes errors in related metadata #44143 @wjhuang2016
- Fix the issue that executing the
UPDATE
statement causes errors due to checking foreign key constraints #44848 @crazycs520
PD
- Fix the issue that Resource Manager repeatedly initializes the default resource group #6787 @glorv
- Fix the issue that in some cases, the
location-labels
set in the Placement Rules in SQL does not schedule as expected #6662 @rleungx - Fix the issue that redundant replicas cannot be automatically repaired in some corner cases #6573 @nolouch
TiFlash
- Fix the issue that in the disaggregated storage and compute architecture mode, the TiFlash compute node fetches inaccurate CPU core information #7436 @guo-shaoge
- Fix the issue that TiFlash takes too long to restart after using Online Unsafe Recovery #7671 @hongyunyan
Tools
Backup & Restore (BR)
TiCDC
- Fix the issue that a PD exception might cause the replication task to get stuck #8808 #9054 @asddongmen @fubinzh
- Fix the issue of excessive memory consumption when replicating to an object storage service #8894 @CharlesCheung96
- Fix the issue that the replication task might get stuck when the redo log is enabled and there is an exception downstream #9172 @CharlesCheung96
- Fix the issue that TiCDC keeps retrying when there is a downstream failure, which causes the retry time to be too long #9272 @asddongmen
- Fix the issue of excessive downstream pressure caused by reading downstream metadata too frequently when replicating data to Kafka #8959 @hi-rustin
- Fix the issue that when the downstream is Kafka, TiCDC queries the downstream metadata too frequently and causes excessive workload in the downstream #8957 #8959 @hi-rustin
- Fix the OOM issue caused by excessive memory usage of the sorter component in some special scenarios #8974 @hicqu
- Fix the issue that the
UPDATE
operation cannot output old values when the Avro or CSV protocol is used #9086 @3AceShowHand - Fix the issue that when replicating data to storage services, the JSON file corresponding to downstream DDL statements does not record the default values of table fields #9066 @CharlesCheung96
- Fix the issue of too many downstream logs caused by frequently setting the downstream bidirectional replication-related variables when replicating data to TiDB or MySQL #9180 @asddongmen
- Fix the issue that when a replication error occurs due to an oversized Kafka message, the message body is recorded in the log #9031 @darraes
- Fix the issue that TiCDC gets stuck when PD fails such as network isolation or PD Owner node reboot #8808 #8812 #8877 @asddongmen
- Fix the issue that Avro protocol incorrectly identifies
Enum
type values #9259 @3AceShowHand
TiDB Data Migration (DM)
TiDB Lightning
- Fix the issue that the failed connection between TiDB Lightning and PD cannot be retried, improving the import success rate #43400 @lichunzhu
- Fix the issue that TiDB Lightning does not correctly display the error message when writing data to TiKV returns an out of space error #44733 @lance6716
- Fix the issue that the
Region is unavailable
error is reported during checksum operation #45462 @D3Hunter - Fix the TiDB Lightning panic issue when
experimental.allow-expression-index
is enabled and the default value is UUID #44497 @lichunzhu - Fix the issue that disk quota might be inaccurate due to competing conditions #44867 @D3Hunter
- Fix the issue that in Logical Import Mode, deleting tables downstream during import might cause TiDB Lightning metadata not to be updated in time #44614 @dsdashun
Dumpling
TiDB Binlog
- Fix the issue that TiDB cannot correctly query Binlog node status via
SHOW PUMP STATUS
orSHOW DRAINER STATUS
after a complete change of the PD address #42643 @lichunzhu - Fix the issue that TiDB cannot write binlogs after a complete change of the PD address #42643 @lance6716
- Fix the issue that the etcd client does not automatically synchronize the latest node information during initialization #1236 @lichunzhu
- Fix the issue that TiDB cannot correctly query Binlog node status via