TiDB 5.0.6 Release Notes
Release date: December 31, 2021
TiDB version: 5.0.6
Compatibility changes
Tools
Improvements
TiDB
- Show the affected SQL statements in the debug log when the coprocessor encounters a lock, which is helpful in diagnosing problems #27718
TiKV
- Increase the speed of inserting SST files by moving the verification process to the
Import
thread pool from theApply
thread pool #11239 - Add more metrics for the garbage collection module of Raft logs to locate performance problems in the module #11374
- Collapse some uncommon storage-related metrics in Grafana dashboard #11681
- Increase the speed of inserting SST files by moving the verification process to the
PD
- Speed up the exit process of schedulers #4146
- Make the scheduling results of the
scatter-range-scheduler
scheduler more even by allowing the scheduler to schedule empty Regions and fix the configurations of the scheduler #4497 - Support that the evict leader scheduler can schedule Regions with unhealthy peers #4093
Tools
TiCDC
- Optimize rate limiting control on TiKV reloads to reduce gPRC congestion during changefeed initialization #3110
- Add a tick frequency limit to EtcdWorker to prevent frequent etcd writes from affecting PD services #3112
- Add the default configuration for
config.Metadata.Timeout
in Kafka sink #3352 - Set the default value of
max-message-bytes
to10M
, to reduce the probability that Kafka messages cannot be sent #3081 - 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
Backup & Restore (BR)
TiDB Lightning
- Support importing data into tables that have expression index or the index that depends on virtual generated columns #1404
Bug fixes
TiDB
- Fix the issue that optimistic transaction conflicts might cause transactions to block each other #11148
- Fix the issue of false positive error log
invalid cop task execution summaries length
for MPP queries #1791 - Fix the panic that might occur when DML and DDL statements are executed concurrently #30940
- Fix the
privilege check fail
error when performing thegrant
andrevoke
operations to grant and revoke global level privileges #29675 - Fix the TiDB panic when executing the
ALTER TABLE.. ADD INDEX
statement in some cases #27687 - Fix the issue that the
enforce-mpp
configuration does not take effect in v5.0.4 #29252 - Fix the panic when using the
CASE WHEN
function on theENUM
data type #29357 - Fix wrong results of the
microsecond
function in vectorized expressions #29244 - Fix the issue of incomplete log information from the
auto analyze
result #29188 - Fix wrong results of the
hour
function in vectorized expression #28643 - Fix the unexpected error like
tidb_cast to Int32 is not supported
when the unsupportedcast
is pushed down to TiFlash #23907 - Fix a bug that the availability detection of MPP node does not work in some corner cases #3118
- Fix the
DATA RACE
issue when assigningMPP task ID
#27952 - Fix the
INDEX OUT OF RANGE
error for a MPP query after deleting an emptydual table
#28250 - Fix the TiDB panic when inserting invalid date values concurrently #25393
- Fix the unexpected
can not found column in Schema column
error for queries in the MPP mode #30980 - Fix the issue that TiDB might panic when TiFlash is shuting down #28096
- Fix the unexpected
index out of range
error when the planner is doing join reorder #24095 - Fix wrong results of the control functions (such as
IF
andCASE WHEN
) when using theENUM
type data as parameters of such functions #23114 - Fix the wrong result of
CONCAT(IFNULL(TIME(3))
#29498 - Fix wrong results of
GREATEST
andLEAST
when passing in unsignedBIGINT
arguments #30101 - Fix the issue that a SQL operation is canceled when its JSON type column joins its
CHAR
type column #29401 - Fix the data inconsistency issue caused by incorrect usage of lazy existence check and untouched key optimization #30410
- Fix the issue that window functions might return different results when using a transaction or not #29947
- Fix the issue that the SQL statements that contain
cast(integer as char) union string
return wrong results #29513 - Fix the issue that the length information is wrong when casting
Decimal
toString
#29417 - Fix the issue that the
Column 'col_name' in field list is ambiguous
error is reported unexpectedly when a SQL statement contains natural join #25041 - Fix the issue that the
GREATEST
function returns inconsistent results due to different values oftidb_enable_vectorized_expression
(set toon
oroff
) #29434 - Fix the issue that the planner might cache invalid plans for
join
in some cases #28087 - Fix the issue that the
index out of range [1] with length 1
error is reported when a SQL statement evaluates an aggregation result on the result of join in some cases #1978
TiKV
- 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 perform a reverse table scan #11440
- Fix the issue of negative sign when the decimal divide result is zero #29586
- Fix the issue that the accumulation of GC tasks might cause TiKV to be OOM (out of memory) #11410
- Fix the issue that the average latency of the by-instance gRPC requests is inaccurate in TiKV metrics #11299
- Fix a memory leak caused by monitoring data of statistics threads #11195
- Fix the issue of TiCDC panic that occurs when the downstream database is missing #11123
- Fix the issue that TiCDC adds scan retries frequently due to the Congest error #11082
- Fix the issue that the Raft connection is broken when the channel is full #11047
- Fix the issue of TiKV panic that occurs when the files do not exist when TiDB Lightning imports data #10438
- Fix the issue that TiDB cannot correctly identify whether the
Int64
types inMax
/Min
functions are a signed integer or not, which causes the wrong calculation result ofMax
/Min
#10158 - Fix the issue that the node of a TiKV replica is down after the node gets snapshots because TiKV cannot modify the metadata accurately #10225
- Fix the leak issue of the backup thread pool #10287
- Fix the issue of casting illegal strings into floating-point numbers #23322
PD
- Fix a panic issue that occurs after the TiKV node is removed #4344
- Fix the issue that operator can get blocked due to down store #3353
- Fix slow leader election caused by stucked Region syncer #3936
- Fix the issue that the speed of removing peers is limited when repairing the down nodes #4090
- Fix the issue that the hotspot cache cannot be cleared when the Region heartbeat is less than 60 seconds #4390
TiFlash
- Fix potential data inconsistency after altering a primary key column to a larger int data type
- Fix the issue that TiFlash fails to start up on some platforms, such as ARM, due to the absence of the
libnsl.so
library - Fix the issue that the
Store size
metric does not match the actual data size on a disk - Fix the issue that TiFlash crashes due to a
Cannot open file
error - Fix occasional crashes of TiFlash when an MPP query is killed
- Fix the unexpected error
3rd arguments of function substringUTF8 must be constants
- Fix query failures caused by excessive
OR
conditions - Fix the bug that results of
where <string>
are wrong - Fix inconsistent behaviors of
CastStringAsDecimal
between TiFlash and TiDB/TiKV - Fix query failures caused by the error
different types: expected Nullable(Int64), got Int64
- Fix query failures caused by the error
Unexpected type of column: Nullable(Nothing)
- Fix query failures caused by overflow when comparing data in the
DECIMAL
data type
Tools
TiCDC
- Fix the issue that some partitioned tables without valid indexes might be ignored when
force-replicate
is enabled #2834 - Fix the issue that
cdc cli
silently truncates user parameters when receiving unexpected parameters, causing the user input parameters to be lost #2303 - Fix the issue that TiCDC sync task might pause when an error occurs during writing a Kafka message #2978
- Fix a possible panic issue when encoding some types of columns into Open Protocol format #2758
- Fix the issue that Kafka may send excessively large messages by setting the default value of
max-message-bytes
to10M
#3081 - Fix the issue that TiCDC replication task might terminate when the upstream TiDB instance unexpectedly exits #3061
- Fix the issue that TiCDC process might panic when TiKV sends duplicate requests to the same Region #2386
- Fix the TiCDC replication interruption issue when multiple TiKVs crash or during a forced restart #3288
- Fix the negative value error in the changefeed checkpoint lag #3010
- Fix the issue of overly frequent warnings caused by MySQL sink deadlock #2706
- Fix the issue that Avro sink does not support parsing JSON type columns #3624
- Fix the bug that TiCDC reads the incorrect schema snapshot from TiKV when the TiKV owner restarts #2603
- Fix the memory leak issue after processing DDLs #3174
- Fix the bug that the
enable-old-value
configuration item is not automatically set totrue
on the Canal protocol #3676 - Fix the timezone error that occurs when the
cdc server
command runs on some Red Hat Enterprise Linux releases (such as 6.8 and 6.9) #3584 - Fix the issue of the inaccurate
txn_batch_size
monitoring metric for Kafka sink #3431 - Fix the issue that
tikv_cdc_min_resolved_ts_no_change_for_1m
keeps alerting when there is no changefeed #11017 - Fix the TiCDC panic issue that occurs when manually cleaning the task status in etcd #2980
- Fix the issue that changefeed does not fail fast enough when the ErrGCTTLExceeded error occurs #3111
- Fix the issue that scanning stock data might fail due to TiKV performing GC when scanning stock data takes too long #2470
- Fix OOM in container environments #1798
- Fix the issue that some partitioned tables without valid indexes might be ignored when
Backup & Restore (BR)
- Fix a bug that the average speed is inaccurately calculated for backup and restore #1405
Dumpling
- Fix the bug that Dumpling becomes very slow when dumping tables with the composite primary key or unique key #29386