TiDB 5.3.1 Release Notes
Release Date: March 3, 2022
TiDB version: 5.3.1
Compatibility changes
Tools
TiDB Lightning
- Change the default value of
regionMaxKeyCount
from 1_440_000 to 1_280_000, to avoid too many empty Regions after data import #30018
- Change the default value of
Improvements
TiDB
- Optimize the mapping logic of user login mode to make the logging more MySQL-compatible #32648
TiKV
PD
- Optimize the content format of the
DR_STATE
file #4341
- Optimize the content format of the
Tools
TiCDC
- Expose configuration parameters of the Kafka producer to make them configurable in TiCDC #4385
- Add a pre-cleanup process upon TiCDC startup if S3 is used as backend storage #3878
- The TiCDC client works when no certificate name is specified #3627
- Manage sink checkpoints per table to avoid unexpected advance of checkpoint timestamps #3545
- Add the exponential backoff mechanism for restarting a changefeed. #3329
- Change the default value of Kafka Sink
partition-num
to 3 so that TiCDC distributes messages across Kafka partitions more evenly #3337 - Reduce the count of "EventFeed retry rate limited" logs #4006
- Set the default value of
max-message-bytes
to 10M #4041 - Add more Prometheus and Grafana monitoring metrics and alerts, including
no owner alert
,mounter row
,table sink total row
, andbuffer sink total row
#4054 #1606 - Reduce the time for the KV client to recover when a TiKV store is down #3191
TiDB Lightning
- Refine the output message of the precheck to make it more user-friendly when the local disk space check fails #30395
Bug fixes
TiDB
- Fix the issue that
date_format
in TiDB handles'\n'
in a MySQL-incompatible way #32232 - Fix the issue that
alter column set default
wrongly updates the table schema #31074 - Fix a bug that
tidb_super_read_only
is not automatically enabled whentidb_restricted_read_only
is enabled #31745 - Fix the issue that the
greatest
orleast
function with collation gets a wrong result #31789 - Fix the MPP task list empty error when executing a query #31636
- Fix wrong results of index join caused by an innerWorker panic #31494
- Fix wrong query results after changing the column type from
FLOAT
toDOUBLE
#31372 - Fix the
invalid transaction
error when executing a query using index lookup join #30468 - Fix wrong query results due to the optimization of
Order By
#30271 - Fix the issue that the configurations of
MaxDays
andMaxBackups
do not take effect on the slow log #25716 - Fix the issue that executing the
INSERT ... SELECT ... ON DUPLICATE KEY UPDATE
statement gets panic #28078
- Fix the issue that
TiKV
- Fix the panic issue caused by deleting snapshot files when the peer status is
Applying
#11746 - Fix the issue of QPS drop when flow control is enabled and
level0_slowdown_trigger
is set explicitly #11424 - Fix the panic issue that occurs when the cgroup controller is not mounted #11569
- Fix the issue that the latency of Resolved TS increases after TiKV stops operating #11351
- Fix a bug that TiKV cannot delete a range of data (
unsafe_destroy_range
cannot be executed) when the GC worker is busy #11903 - Fix the issue that destroying a peer might cause high latency #10210
- Fix a bug that the
any_value
function returns a wrong result when regions are empty #11735 - Fix the issue that deleting an uninitialized replica might cause an old replica to be recreated #10533
- Fix the metadata corruption issue when
Prepare Merge
is triggered after a new election is finished but the isolated peer is not informed #11526 - Fix the deadlock issue that happens occasionally when coroutines run too fast #11549
- Fix the issue that a down TiKV node causes the resolved timestamp to lag #11351
- Fix the issue that batch messages are too large in Raft client implementation #9714
- Fix a panic issue that occurs when Region merge, ConfChange, and Snapshot happen at the same time in extreme conditions #11475
- Fix the issue that TiKV cannot detect the memory lock when TiKV performs a reverse table scan #11440
- Fix the issue that RocksDB flush or compaction causes panic when the disk capacity is full #11224
- Fix a bug that tikv-ctl cannot return the correct Region-related information #11393
- Fix the issue that the average latency of the by-instance gRPC requests is inaccurate in TiKV metrics #11299
- Fix the panic issue caused by deleting snapshot files when the peer status is
PD
- Fix a bug that the scheduling process has the unnecessary JointConsensus steps in certain cases #4362
- Fix a bug that the scheduling cannot be executed when demoting a voter directly #4444
- Fix a data race issue that occurs when updating the configuration of the replication mode of replicas #4325
- Fix a bug that the Read lock is not released in certain cases #4354
- Fix the issue that the cold hotspot data cannot be deleted from the hotspot statistics #4390
TiFlash
- Fix the issue that
cast(arg as decimal(x,y))
returns a wrong result when the input argumentarg
overflows the range ofdecimal(x,y)
- Fix the TiFlash crash issue that occurs when
max_memory_usage
andmax_memory_usage_for_all_queries
are enabled - Fix the issue that
cast(string as real)
returns a wrong result - Fix the issue that
cast(string as decimal)
returns a wrong result - Fix potential data inconsistency after altering a primary key column to a larger int data type
- Fix the bug that when
in
has multiple arguments in the statements likeselect (arg0, arg1) in (x,y)
,in
returns a wrong result - Fix the issue that TiFlash might panic when an MPP query is stopped
- Fix the issue that
str_to_date
returns a wrong result when the input argument has leading zeros - Fix the issue that the query returns a wrong result when the filter is in the
where <string>
format - Fix the issue that
cast(string as datetime)
returns a wrong result when the input argumentstring
is in the%Y-%m-%d\n%H:%i:%s
format
- Fix the issue that
Tools
Backup & Restore (BR)
- Fix the potential issue that Regions might be unevenly distributed after a restore operation is finished #31034
TiCDC
- Fix a bug that long varchars report an error
Column length too big
#4637 - Fix a bug that a TiCDC node exits abnormally when a PD leader is killed #4248
- Fix the issue that execution errors of the update statement in safemode may cause the DM-worker panic #4317
- Fix the issue that cached region metric of the TiKV client may be negative #4300
- Fix the bug that HTTP API panics when the required processor information does not exist #3840
- Fix a bug that redo logs are not cleaned up when removing a paused changefeed #4740
- Fix OOM in container environments #1798
- Fix a bug that stopping a loading task results in unexpected transfer of the task #3771
- Fix the issue that wrong progress is returned for the
query-status
command on loader #3252 - Fix the issue that HTTP API fails to work if there are TiCDC nodes of different versions in a cluster #3483
- Fix the issue that TiCDC exits abnormally when the S3 storage is configured with TiCDC Redo Log #3523
- Fix the issue that default values cannot be replicated #3793
- Fix a bug that MySQL sink generates duplicated
replace
SQL statements ifbatch-replace-enable
is disabled #4501 - Fix the issue that syncer metrics are updated only when querying the status #4281
- Fix the issue that
mq sink write row
does not have monitoring data #3431 - Fix the issue that replication cannot be performed when
min.insync.replicas
is smaller thanreplication-factor
#3994 - Fix the issue that
mq sink write row
does not have monitoring data #3431 - Fix the potential panic issue that occurs when a replication task is removed #3128
- Fix the potential issue that the deadlock causes a replication task to get stuck #4055
- Fix the TiCDC panic issue that occurs when manually cleaning the task status in etcd #2980
- Fix the issue that special comments in DDL statements cause the replication task to stop #3755
- Fix the issue of replication stop caused by the incorrect configuration of
config.Metadata.Timeout
#3352 - Fix the issue that the service cannot be started because of a timezone issue in some RHEL releases #3584
- Fix the issue that
stopped
changefeeds resume automatically after a cluster upgrade #3473 - Fix the issue that default values cannot be replicated #3793
- Fix the issue of overly frequent warnings caused by MySQL sink deadlock #2706
- Fix the bug that the
enable-old-value
configuration item is not automatically set totrue
on the Canal protocol #3676 - Fix the issue that Avro sink does not support parsing JSON type columns #3624
- Fix the negative value error in the changefeed checkpoint lag #3010
- Fix a bug that long varchars report an error
TiDB Data Migration (DM)
- Fix a bug that the relay status in the DM-master is wrong after restarting the DM-master and DM-worker in a particular order #3478
- Fix a bug that the DM-worker fails to boot up after a restart #3344
- Fix a bug that a DM task fails if running a PARTITION DDL takes too long time #3854
- Fix a bug that DM may report
invalid sequence
when upstream is MySQL 8.0 #3847 - Fix a bug of data loss when DM does finer grained retry #3487
- Fix the issue that the
CREATE VIEW
statement interrupts data replication #4173 - Fix the issue the schema needs to be reset after a DDL statement is skipped #4177
TiDB Lightning
- Fix the bug that TiDB Lightning may not delete the metadata schema when some import tasks do not contain source files #28144
- Fix the bug that TiDB Lightning returns an error if the storage URL prefix is "gs://xxx", instead of "gcs://xxx" #32742
- Fix the issue that setting --log-file="-" does not print any log to stdout #29876
- Fix the issue that TiDB Lightning does not report errors when the S3 storage path does not exist #30709