TiDB 4.0.11 Release Notes
Release date: February 26, 2021
TiDB version: 4.0.11
New Features
TiDB
- Support the
utf8_unicode_ciandutf8mb4_unicode_cicollations #22558
- Support the
TiKV
TiFlash
- Add a Coprocessor thread pool to queue Coprocessor requests for execution, which avoids out of memory (OOM) in some cases, and add the
cop_pool_sizeandbatch_cop_pool_sizeconfiguration items with the default values ofNumOfPhysicalCores * 2
- Add a Coprocessor thread pool to queue Coprocessor requests for execution, which avoids out of memory (OOM) in some cases, and add the
Improvements
TiDB
- Reorder inner joins that are simplified from outer joins #22402
- Support multiple clusters in Grafana dashboards #22534
- Add a workaround for the issue of multiple statements #22468
- Divide the metrics of slow query into
internalandgeneral#22405 - Add interface for
utf8_unicode_ciandutf8mb4_unicode_cicollations #22099
TiKV
- Add metrics of server information for DBaaS #9591
- Support multiple clusters in Grafana dashboards #9572
- Report RocksDB metrics to TiDB #9316
- Record the suspension time for Coprocessor tasks #9277
- Add thresholds of key counts and key size for Load Base Split #9354
- Check whether the file exists before data import #9544
- Improve Fast Tune panels #9180
PD
- Support multiple clusters in Grafana dashboards #3398
TiFlash
- Optimize the performance of the
date_formatfunction - Optimize the memory consumption of handling ingest SST
- Optimize the retrying logic in Batch Coprocessor to reduce the probability of Region error
- Optimize the performance of the
Tools
TiCDC
- Add the version information in the
capturemetadata and add the CLI version of achangefeedin thechangefeedmetadata #1342
- Add the version information in the
TiDB Lightning
Bug Fixes
TiDB
- Fix the issue of abnormal
unicode_ciconstant propagation #22614 - Fix the issue that might cause wrong collation and coercibility #22602
- Fix the issue that might cause wrong collation results #22599
- Fix the issue of constant substitution for different collations #22582
- Fix a bug that the
likefunction might return wrong result when using collation #22531 - Fix the issue of incorrect
durationtype inference inleastandgreatestfunctions #22580 - Fix a bug that occurs when the
likefunction handles a single character wildcard (_) followed by a multiple character wildcard (%) #22575 - Fix the type inference error of the TiDB's built-in functions (
leastandgreatest) #22562 - Fix a bug that makes the
likefunction get the wrong result if the pattern string is a unicode string #22529 - Fix a bug that the point get query does not get the snapshot data when the
@@tidb_snapshotvariable is set #22527 - Fix the potential panic that occurs when generating hints from joins #22518
- Fix the issue that strings are incorrectly converted to the
BITtype #22420 - Fix the
index out of rangeerror that occurs when inserting values to thetidb_rowidcolumn #22359 - Fix a bug that the cached plan is incorrectly used #22353
- Fix the runtime panic in the
WEIGHT_STRINGfunction when the length of the binary/char string is too large #22332 - Forbid using the generated column when the number of function parameters is invalid #22174
- Correctly set the process information before building the execution plan #22148
- Fix the issue of inaccurate runtime statistics of
IndexLookUp#22136 - Add cache for the memory usage information when the cluster is deployed in a container #22116
- Fix the issue of the decoding plan errors #22022
- Report errors for using invalid window specifications #21976
- Report errors when the
PREPAREstatement is nested withEXECUTE,DEALLOCATEorPREPARE#21972 - Fix the issue that no error is reported when the
INSERT IGNOREstatement is used on a non-existing partition #21971 - Unify the encoding of
EXPLAINresults and slow log #21964 - Fix the issue of unknown columns in join when using the aggregate operator #21957
- Fix the wrong type inference in the
ceilingfunction #21936 - Fix the issue that the
Doubletype column ignores its decimal #21916 - Fix the issue that the correlated aggregation is calculated in subqueries #21877
- Report errors for the JSON object with key length >= 65536 #21870
- Fix the issue that the
dynamefunction is incompatible with MySQL #21850 - Fix the issue that the
to_base64function returnsNULLwhen the input data is too long #21813 - Fix the failure of comparing multiple fields in the subquery #21808
- Fix the issue that occurs when comparing the float type in JSON #21785
- Fix the issue that occurs when comparing the types of JSON objects #21718
- Fix the issue that the coercibility value of the
castfunction is incorrectly set #21714 - Fix an unexpected panic when using the
IFfunction #21711 - Fix the issue that the
NULLresult returned from JSON search is incompatible with MySQL #21700 - Fix the issue that occurs when checking the
only_full_group_bymode usingORDER BYandHAVING#21697 - Fix the issue that the units of
DayandTimeare incompatible with MySQL #21676 - Fix the issue that the default values of
LEADandLAGcannot adapt to the field type #21665 - Perform a check to ensure that the
LOAD DATAstatement can only load data into base tables #21638 - Fix the issue that occurs when
addtimeandsubtimefunctions handle invalid arguments #21635 - Change the round rule for approximate values to "round to the nearest even number" #21628
- Fix the issue that
WEEK()does not recognize@@GLOBAL.default_week_formatuntil it has been explicitly read #21623
- Fix the issue of abnormal
TiKV
- Fix the issue that TiKV is failed to build with
PROST=1#9604 - Fix the unmatched memory diagnostics #9589
- Fix the issue that the end key of a partial RawKV-restore range is inclusive #9583
- Fix the issue of TiKV panic that occurs when loading the old value of a key of a rolled-back transaction during TiCDC's incremental scan #9569
- Fix the configuration glitch of old values when changefeeds with different settings connect to one Region #9565
- Fix a crash issue that occurs when running a TiKV cluster on a machine with a network interface that lacks the MAC address (introduced in v4.0.9) #9516
- Fix the issue of TiKV OOM when backing up a huge Region #9448
- Fix the issue that
region-split-check-diffcannot be customized #9530 - Fix the issue of TiKV panic when the system time goes back #9542
- Fix the issue that TiKV is failed to build with
PD
TiFlash
- Fix a bug that the
min/maxresult is wrong for the decimal type - Fix a bug that TiFlash might crash when reading data
- Fix the issue that some data written after DDL operations might be lost after data compaction
- Fix the issue that TiFlash incorrectly handles decimal constants in Coprocessor
- Fix the potential crash during the learner read process
- Fix the inconsistent behaviors of division by
0orNULLbetween TiDB and TiFlash
- Fix a bug that the
Tools
TiCDC
- Fix a bug that the TiCDC service might unexpectedly exit when
ErrTaskStatusNotExistsand the closing ofcapturesession occur at the same time #1240 - Fix the old value switch issue that a
changefeedmight be affected by anotherchangefeed#1347 - Fix a bug that the TiCDC service might hang when processing a new
changefeedwith the invalidsort-engineparameter #1309 - Fix the issue of panic that occurs when getting the debugging information on non-owner nodes #1349
- Fix the issue that the
ticdc_processor_num_of_tablesandticdc_processor_table_resolved_tsmetrics are not properly updated when adding or removing tables #1351 - Fix the issue of potential data loss if a processor crashes when adding a table #1363
- Fix a bug that the owner might lead to abnormal TiCDC server exits during table migrations #1352
- Fix a bug that TiCDC does not exit in time after the service GC safepoint is lost #1367
- Fix a bug that the KV client might skip creating the event feed #1336
- Fix a bug that the atomicity of transactions is broken when the transactions are replicated to the downstream #1375
- Fix a bug that the TiCDC service might unexpectedly exit when
Backup & Restore (BR)
TiDB Lightning
- Fix a bug that
column count mismatchmight be triggered when using the TiDB-backend #535 - Fix a bug that TiDB-backend panics if the column count of the source file and the column count of the target table mismatch #528
- Fix a bug that TiKV might unexpectedly panic during TiDB Lightning's data import #554
- Fix a bug that