title | summary |
---|---|
TiDB 4.0.16 Release Notes |
TiDB 4.0.16 was released on December 17, 2021. The release includes compatibility changes for TiKV and Tools, improvements for TiDB, TiKV, and Tools, bug fixes for TiDB, TiKV, PD, TiFlash, TiDB Binlog, and TiCDC. The bug fixes address various issues such as query panics, wrong results, panics, and memory leaks. The release also includes fixes for TiCDC replication interruption, OOM in container environments, and memory leak issues. |
Release date: December 17, 2021
TiDB version: 4.0.16
-
TiKV
- Before v4.0.16, when TiDB converts an illegal UTF-8 string to a Real type, an error is reported directly. Starting from v4.0.16, TiDB processes the conversion according to the legal UTF-8 prefix in the string #11466
-
Tools
-
TiDB
- Upgrade the Grafana version from 7.5.7 to 7.5.11
-
TiKV
- Reduce disk space consumption by adopting the zstd algorithm to compress SST files when restoring data using Backup & Restore or importing data using Local-backend of TiDB Lightning #11469
-
Tools
-
TiDB
- Fix the query panic caused by overflow in the statistics module when converting a range to points for cost estimation #23625
- 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 issue that the
GREATEST
function returns inconsistent results due to different values oftidb_enable_vectorized_expression
(on
oroff
) #29434 - Fix the panic when applying index join on prefix indexes in some cases #24547
- Fix the issue that planner might cache invalid plans for
join
in some cases #28087 - Fix a bug that TiDB cannot insert
null
into a non-null column whensql_mode
is empty #11648 - Fix the wrong result type of the
GREATEST
andLEAST
functions #29019 - Fix the
privilege check fail
error when performing thegrant
andrevoke
operations to grant and revoke global level privileges #29675 - 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 wrong results of the
hour
function in vectorized expression #28643 - Fix the issue that optimistic transaction conflicts might cause transactions to block each other #11148
- Fix the issue of incomplete log information from the
auto analyze
result #29188 - Fix the issue that using an invalid default date does not report an error when the
SQL_MODE
is 'NO_ZERO_IN_DATE' #26766 - Fix the issue that the Coprocessor Cache panel in Grafana does not display metrics. Now, Grafana displays the number of
hits
/miss
/evict
#26338 - Fix the issue that concurrently truncating the same partition causes DDL statements to stuck #26229
- Fix the issue that the length information is wrong when converting
Decimal
toString
#29417 - Fix the issue of an extra column in the query result when
NATURAL JOIN
is used to join multiple tables #29481 - Fix the issue that
TopN
is wrongly pushed down toindexPlan
whenIndexScan
uses a prefix index #29711 - Fix the issue that retrying transactions with the auto-increment columns of
DOUBLE
type causes data corruption #29892
-
TiKV
- Fix a panic issue that occurs when Region merge, ConfChange, and Snapshot happen at the same time in extreme conditions #11475
- Fix the issue of negative sign when the decimal divide result is zero #29586
- Fix the issue that the average latency of the by-instance gRPC requests is inaccurate in TiKV metrics #11299
- Fix the issue of TiCDC panic that occurs when the downstream database is missing #11123
- Fix the issue that the Raft connection is broken when the channel is full #11047
- 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 CDC adds scan retries frequently due to the Congest error #11082
-
PD
-
TiFlash
- Fix the issue that TiFlash fails to start up on some platforms due to the absence of library
nsl
- Fix the issue that TiFlash fails to start up on some platforms due to the absence of library
-
Tools
-
TiDB Binlog
- Fix the bug that Drainer exits when transporting a transaction greater than 1 GB #28659
-
TiCDC
- Fix the negative value error in the changefeed checkpoint lag #3010
- Fix OOM in container environments #1798
- Fix the TiCDC replication interruption issue when multiple TiKVs crash or during a forced restart #3288
- Fix the memory leak issue after processing DDLs #3174
- Fix the issue that changefeed does not fail fast enough when the ErrGCTTLExceeded error occurs #3111
- 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 issue that the volume of Kafka messages generated by TiCDC is not constrained by
max-message-size
#2962 - Fix the issue that
tikv_cdc_min_resolved_ts_no_change_for_1m
keeps alerting when there is no changefeed #11017 - Fix the issue that TiCDC sync task might pause when an error occurs during writing a Kafka message #2978
- Fix the issue that some partitioned tables without valid indexes might be ignored when
force-replicate
is enabled #2834 - Fix the memory leak issue when creating a new changefeed #2389
- Fix the issue that might cause inconsistent data due to Sink components advancing resolved ts early #3503
- Fix the issue that scanning stock data might fail due to TiKV performing GC when scanning stock data takes too long #2470
- Fix the issue that the changefeed update command does not recognize global command line parameters #2803
-