| 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 invalid UTF-8 string to a Real type, an error is reported directly. Starting from v4.0.16, TiDB processes the conversion according to the valid 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
IFandCASE WHEN) when using theENUMtype data as parameters of such functions #23114 - Fix the issue that the
GREATESTfunction returns inconsistent results due to different values oftidb_enable_vectorized_expression(onoroff) #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
joinin some cases #28087 - Fix a bug that TiDB cannot insert
nullinto a non-null column whensql_modeis empty #11648 - Fix the wrong result type of the
GREATESTandLEASTfunctions #29019 - Fix the
privilege check failerror when performing thegrantandrevokeoperations to grant and revoke global level privileges #29675 - Fix the panic when using the
CASE WHENfunction on theENUMdata type #29357 - Fix wrong results of the
microsecondfunction in vectorized expressions #29244 - Fix wrong results of the
hourfunction 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 analyzeresult #29188 - Fix the issue that using an invalid default date does not report an error when the
SQL_MODEis '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
DecimaltoString#29417 - Fix the issue of an extra column in the query result when
NATURAL JOINis used to join multiple tables #29481 - Fix the issue that
TopNis wrongly pushed down toindexPlanwhenIndexScanuses a prefix index #29711 - Fix the issue that retrying transactions with the auto-increment columns of
DOUBLEtype 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
Int64types inMax/Minfunctions 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_1mkeeps 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-replicateis 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
-