Skip to content

Commit 0490cd1

Browse files
authored
releases: add tidb 4.0.15 release notes (#6475)
1 parent 3c2e0ff commit 0490cd1

File tree

3 files changed

+142
-1
lines changed

3 files changed

+142
-1
lines changed

TOC.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -557,7 +557,7 @@
557557
+ [All Releases](/releases/release-notes.md)
558558
+ v5.2
559559
+ [5.2.1](/releases/release-5.2.1.md)
560-
+ [5.2.0](/releases/release-5.2.0.md)
560+
+ [5.2.0](/releases/release-5.2.0.md)
561561
+ v5.1
562562
+ [5.1.1](/releases/release-5.1.1.md)
563563
+ [5.1.0](/releases/release-5.1.0.md)
@@ -568,6 +568,7 @@
568568
+ [5.0 GA](/releases/release-5.0.0.md)
569569
+ [5.0.0-rc](/releases/release-5.0.0-rc.md)
570570
+ v4.0
571+
+ [4.0.15](/releases/release-4.0.15.md)
571572
+ [4.0.14](/releases/release-4.0.14.md)
572573
+ [4.0.13](/releases/release-4.0.13.md)
573574
+ [4.0.12](/releases/release-4.0.12.md)

releases/release-4.0.15.md

Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
---
2+
title: TiDB 4.0.15 Release Notes
3+
---
4+
5+
# TiDB 4.0.15 Release Notes
6+
7+
Release Date: September 27, 2021
8+
9+
TiDB version: 4.0.15
10+
11+
## Compatibility changes
12+
13+
+ TiDB
14+
15+
- Fix the issue that executing `SHOW VARIABLES` in a new session is slow. This fix reverts some changes made in [#21045](https://github.com/pingcap/tidb/pull/21045) and might cause compatibility issues. [#24326](https://github.com/pingcap/tidb/issues/24326)
16+
+ The following bug fixes change execution results, which might cause upgrade incompatibilities:
17+
- Fix the issue that `greatest(datetime) union null` returns empty string [#26532](https://github.com/pingcap/tidb/issues/26532)
18+
- Fix the issue that the `having` clause might not work correctly [#26496](https://github.com/pingcap/tidb/issues/26496)
19+
- Fix the wrong execution results that occur when the collations around the `between` expression are different [#27146](https://github.com/pingcap/tidb/issues/27146)
20+
- Fix the result wrong that occurs when the argument of the `extract` function is a negative duration [#27236](https://github.com/pingcap/tidb/issues/27236)
21+
- Fix the wrong execution results that occur when the column in the `group_concat` function has a non-bin collation [#27429](https://github.com/pingcap/tidb/issues/27429)
22+
- Fix the issue of wrong character set and collation for the `case when` expression [#26662](https://github.com/pingcap/tidb/issues/26662)
23+
- Fix the issue that column information is missed when converting the `Apply` operator to `Join` [#27233](https://github.com/pingcap/tidb/issues/27233)
24+
- Fix the issue of unexpected behavior when casting the invalid string to `DATE` [#26762](https://github.com/pingcap/tidb/issues/26762)
25+
- Fix a bug that the `count distinct` result on multiple columns is wrong when the new collation is enabled [#27091](https://github.com/pingcap/tidb/issues/27091)
26+
27+
## Feature enhancement
28+
29+
+ TiKV
30+
31+
- Support changing TiCDC configurations dynamically [#10645](https://github.com/tikv/tikv/issues/10645)
32+
33+
## Improvements
34+
35+
+ TiDB
36+
37+
- Trigger auto-analyze based on the histogram row count [#24237](https://github.com/pingcap/tidb/issues/24237)
38+
39+
+ TiKV
40+
41+
- Handle read ready and write ready separately to reduce read latency [#10475](https://github.com/tikv/tikv/issues/10475)
42+
- The slow log of TiKV coprocessor only considers the time spent on processing requests. [#10841](https://github.com/tikv/tikv/issues/10841)
43+
- Drop log instead of blocking threads when the slogger thread is overloaded and the queue is filled up [#10841](https://github.com/tikv/tikv/issues/10841)
44+
- Reduce the size of Resolved TS messages to save network bandwidth [#2448](https://github.com/pingcap/ticdc/issues/2448)
45+
46+
+ PD
47+
48+
- Improve the performance of synchronizing Region information between PDs [#3932](https://github.com/tikv/pd/pull/3932)
49+
50+
+ Tools
51+
52+
+ Backup & Restore (BR)
53+
54+
- Split and scatter Regions concurrently to improve restore speed [#1363](https://github.com/pingcap/br/pull/1363)
55+
- Retry BR tasks when encountering the PD request error or the TiKV I/O timeout error [#27787](https://github.com/pingcap/tidb/issues/27787)
56+
- Reduce empty Regions when restoring many small tables to avoid affecting cluster operations after the restore [#1374](https://github.com/pingcap/br/issues/1374)
57+
- Perform the `rebase auto id` operation while creating tables, which saves the separate `rebase auto id` DDL operation and speeds up restore [#1424](https://github.com/pingcap/br/pull/1424)
58+
59+
+ Dumpling
60+
61+
- Filter the skipped databases before getting the table information to improve the filtering efficiency of `SHOW TABLE STATUS` [#337](https://github.com/pingcap/dumpling/pull/337)
62+
- Use `SHOW FULL TABLES` to get table information for tables to be exported, because `SHOW TABLE STATUS` cannot work properly in some MySQL versions [#322](https://github.com/pingcap/dumpling/issues/322)
63+
- Support backing up MySQL-compatible databases that do not support the `START TRANSACTION ... WITH CONSISTENT SNAPSHOT` or the `SHOW CREATE TABLE` syntax [#309](https://github.com/pingcap/dumpling/issues/309)
64+
- Refine the Dumpling warning log to avoid the misleading information that a dump fails [#340](https://github.com/pingcap/dumpling/pull/340)
65+
66+
+ TiDB Lightning
67+
68+
- Support importing data into tables that have expression index or the index that depends on virtual generated columns [#1404](https://github.com/pingcap/br/issues/1404)
69+
70+
+ TiCDC
71+
72+
- Always pulls old values from TiKV internally to improve usability [#2397](https://github.com/pingcap/ticdc/pull/2397)
73+
- Reduce the goroutine usage when a table's Regions are all transferred away from a TiKV node [#2284](https://github.com/pingcap/ticdc/issues/2284)
74+
- Optimize workerpool for fewer goroutines when concurrency is high [#2211](https://github.com/pingcap/ticdc/issues/2211)
75+
- Execute DDL statements asynchronously to avoid affecting other changefeeds [#2295](https://github.com/pingcap/ticdc/issues/2295)
76+
- Add a global gRPC connection pool and share gRPC connections among KV clients [#2531](https://github.com/pingcap/ticdc/pull/2531)
77+
- Fail fast for unrecoverable DML errors [#1724](https://github.com/pingcap/ticdc/issues/1724)
78+
- Optimize memory management when the Unified Sorter is using memory to sort data [#2553](https://github.com/pingcap/ticdc/issues/2553)
79+
- Add Prometheus metrics for DDL executions [#2595](https://github.com/pingcap/ticdc/issues/2595) [#2669](https://github.com/pingcap/ticdc/issues/2669)
80+
- Prohibit operating TiCDC clusters across major or minor versions [#2601](https://github.com/pingcap/ticdc/pull/2601)
81+
- Remove `file sorter` [#2325](https://github.com/pingcap/ticdc/pull/2325)
82+
- Clean up changefeed metrics when a changefeed is removed, and clean up processor metrics when a processor exits [#2156](https://github.com/pingcap/ticdc/issues/2156)
83+
- Optimize the lock-resolving algorithm after a Region is initialized [#2188](https://github.com/pingcap/ticdc/issues/2188)
84+
85+
## Bug fixes
86+
87+
+ TiDB
88+
89+
- Fix a bug that collation is incorrectly set for binary literals when building ranges [#23672](https://github.com/pingcap/tidb/issues/23672)
90+
91+
- Fix the "index out of range" error that occurs when a query includes both `GROUP BY` and `UNION` [#26553](https://github.com/pingcap/tidb/pull/26553)
92+
- Fix the issue that TiDB might fail to send requests if TiKV has tombstone stores [#23676](https://github.com/pingcap/tidb/issues/23676) [#24648](https://github.com/pingcap/tidb/issues/24648)
93+
- Remove the undocumented `/debug/sub-optimal-plan` HTTP API [#27264](https://github.com/pingcap/tidb/pull/27264)
94+
95+
+ TiKV
96+
97+
- Fix the issue that BR reports the "file already exists" error when TDE is enabled during data restore [#1179](https://github.com/pingcap/br/issues/1179)
98+
- Fix the potential disk full issue caused by corrupted snapshot files [#10813](https://github.com/tikv/tikv/issues/10813)
99+
- Fix the issue that TiKV deletes stale Regions too frequently [#10680](https://github.com/tikv/tikv/issues/10680)
100+
- Fix the issue that TiKV frequently reconnects the PD client [#9690](https://github.com/tikv/tikv/issues/9690)
101+
- Check stale file information from the encryption file dictionary [#9115](https://github.com/tikv/tikv/issues/9115)
102+
103+
+ PD
104+
105+
- Fix the issue that PD does not fix the down peers in time [#4077](https://github.com/tikv/pd/issues/4077)
106+
- Fix a bug that PD might panic when scaling out TiKV [#3868](https://github.com/tikv/pd/issues/3868)
107+
108+
+ TiFlash
109+
110+
- Fix the potential issue of data inconsistency that occurs when TiFlash is deployed on multiple disks
111+
- Fix a bug of incorrect results that occurs when queries contain filters like `CONSTANT`, `<`, `<=`, `>`, `>=`, or `COLUMN`
112+
- Fix the issue that the store size in metrics is inaccurate under heavy writing
113+
- Fix a potential bug that TiFlash cannot restore data when deployed on multiple disks
114+
- Fix the potential issue that TiFlash cannot garbage-collect the delta data after running for a long time
115+
116+
+ Tools
117+
118+
+ Backup & Restore (BR)
119+
120+
- Fix a bug that the average speed is inaccurately calculated for backup and restore [#1405](https://github.com/pingcap/br/issues/1405)
121+
122+
+ TiCDC
123+
124+
- Fix the `ErrSchemaStorageTableMiss` error that occurs when the DDL Job duplication is encountered in the integrated test [#2422](https://github.com/pingcap/ticdc/issues/2422)
125+
- Fix a bug that a changefeed cannot be removed if the `ErrGCTTLExceeded` error occurs [#2391](https://github.com/pingcap/ticdc/issues/2391)
126+
- Fix the issue that outdated capture might appear in the output of the `capture list` command [#2388](https://github.com/pingcap/ticdc/issues/2388)
127+
- Fix the deadlock issue in the TiCDC processor [#2017](https://github.com/pingcap/ticdc/pull/2017)
128+
- Fix a data inconsistency issue that occurs because multiple processors might write data to the same table when this table is being re-scheduled [#2230](https://github.com/pingcap/ticdc/issues/2230)
129+
- Fix a bug that the `EtcdWorker` snapshot isolation is violated in metadata management [#2557](https://github.com/pingcap/ticdc/pull/2557)
130+
- Fix the issue that the changefeed cannot be stopped due to the DDL sink error [#2552](https://github.com/pingcap/ticdc/issues/2552)
131+
- Fix the issue of TiCDC Open Protocol: TiCDC outputs an empty value when there is no change in a transaction [#2612](https://github.com/pingcap/ticdc/issues/2612)
132+
- Fix a bug that causes TiCDC to panic on the unsigned `TINYINT` type [#2648](https://github.com/pingcap/ticdc/issues/2648)
133+
- Decrease the gRPC window size to avoid the OOM that occurs when TiCDC captures too many Regions [#2202](https://github.com/pingcap/ticdc/issues/2202)
134+
- Fix the OOM issue that occurs when TiCDC captures too many Regions [#2673](https://github.com/pingcap/ticdc/issues/2673)
135+
- Fix the issue of process panic that occurs when encoding the data types such as `mysql.TypeString, mysql.TypeVarString, mysql.TypeVarchar` into JSON [#2758](https://github.com/pingcap/ticdc/issues/2758)
136+
- Fix the a memory leak issue that might occur when creating a new changefeed [#2389](https://github.com/pingcap/ticdc/issues/2389)
137+
- Fix a bug that DDL handling fails when a changefeed starts at the finish TS of a schema change [#2603](https://github.com/pingcap/ticdc/issues/2603)
138+
- Fix the issue of potential DDL loss when the owner crashes when executing DDL statements [#1260](https://github.com/pingcap/ticdc/issues/1260)
139+
- Fix the issue of insecure concurrent access to the map in `SinkManager` [#2298](https://github.com/pingcap/ticdc/pull/2298)

releases/release-notes.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ aliases: ['/docs/dev/releases/release-notes/','/docs/dev/releases/rn/']
2525

2626
## 4.0
2727

28+
- [4.0.15](/releases/release-4.0.15.md)
2829
- [4.0.14](/releases/release-4.0.14.md)
2930
- [4.0.13](/releases/release-4.0.13.md)
3031
- [4.0.12](/releases/release-4.0.12.md)

0 commit comments

Comments
 (0)