Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

releases: add v4.0.9 release notes #4294

Merged
merged 43 commits into from
Dec 21, 2020
Merged
Show file tree
Hide file tree
Changes from 28 commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
d27e7de
update v4.0.9 release notes at 2020-11-30T12:05:26
ti-srebot Nov 30, 2020
9f6e275
add to TOC, release-notes.md
TomShawn Nov 30, 2020
4f51817
update v4.0.9 release notes at 2020-11-30T13:17:16
ti-srebot Nov 30, 2020
b03ec10
Merge branch 'update-4.0.9' of https://github.com/ti-srebot/docs into…
TomShawn Nov 30, 2020
b925a5c
update
TomShawn Nov 30, 2020
2f2062f
Apply suggestions from JaySon-Huang
TomShawn Nov 30, 2020
68de6db
add tools
TomShawn Nov 30, 2020
62846ac
update tidb notes
TomShawn Nov 30, 2020
341657f
add PD notes
TomShawn Dec 1, 2020
1e8985e
Update releases/release-4.0.9.md
TomShawn Dec 1, 2020
49e3f11
add TiKV notes
TomShawn Dec 1, 2020
56779fb
Merge branch 'master' into update-4.0.9
TomShawn Dec 1, 2020
dfaaab2
Update releases/release-4.0.9.md
TomShawn Dec 1, 2020
efcc240
change release date
TomShawn Dec 2, 2020
db3dee8
Update releases/release-4.0.9.md
TomShawn Dec 4, 2020
6725f15
Update releases/release-4.0.9.md
TomShawn Dec 10, 2020
7590037
refine language
TomShawn Dec 11, 2020
6b47116
refine language
TomShawn Dec 11, 2020
dc31b44
refine language
TomShawn Dec 11, 2020
370efa0
change date
TomShawn Dec 11, 2020
3033d51
Merge branch 'master' into update-4.0.9
TomShawn Dec 14, 2020
09f64f0
Update releases/release-4.0.9.md
TomShawn Dec 14, 2020
6ad3702
Merge branch 'master' into update-4.0.9
TomShawn Dec 14, 2020
0a1a8da
Update releases/release-4.0.9.md
TomShawn Dec 14, 2020
b70ffb0
Apply suggestions from code review
TomShawn Dec 14, 2020
2a20831
refine language and format
TomShawn Dec 14, 2020
e488bc7
Merge branch 'master' into update-4.0.9
TomShawn Dec 14, 2020
ca6c4b8
Update releases/release-4.0.9.md
TomShawn Dec 14, 2020
0e28369
add new notes from ichn-hu, Win-Man, and you06
TomShawn Dec 15, 2020
50e4697
change date
TomShawn Dec 15, 2020
3caf11f
add 6 notes from bobotu, amyangfei and tangenta
TomShawn Dec 17, 2020
611ff9e
Merge branch 'master' into update-4.0.9
TomShawn Dec 18, 2020
502c5e4
Update release-4.0.9.md
TomShawn Dec 18, 2020
f5a2c1d
add a ticdc note
TomShawn Dec 18, 2020
a7da86a
Merge branch 'master' into update-4.0.9
TomShawn Dec 18, 2020
6a5143e
Update release-4.0.9.md
TomShawn Dec 18, 2020
456b3d4
Update releases/release-4.0.9.md
TomShawn Dec 18, 2020
95d4627
Update releases/release-4.0.9.md
TomShawn Dec 18, 2020
46d4e8b
add tikv notes from jay
TomShawn Dec 18, 2020
0215432
add tidb dashboard related notes
TomShawn Dec 18, 2020
79305cf
Merge branch 'master' into update-4.0.9
TomShawn Dec 18, 2020
87e33d9
Merge branch 'master' into update-4.0.9
TomShawn Dec 21, 2020
3828433
Update releases/release-4.0.9.md
TomShawn Dec 21, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions TOC.md
Original file line number Diff line number Diff line change
Expand Up @@ -529,6 +529,7 @@
+ [All Releases](/releases/release-notes.md)
+ [TiDB Roadmap](/roadmap.md)
+ v4.0
+ [4.0.9](/releases/release-4.0.9.md)
+ [4.0.8](/releases/release-4.0.8.md)
+ [4.0.7](/releases/release-4.0.7.md)
+ [4.0.6](/releases/release-4.0.6.md)
Expand Down
179 changes: 179 additions & 0 deletions releases/release-4.0.9.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
---
title: TiDB 4.0.9 Release Notes
---

# TiDB 4.0.9 Release Notes

Release date: December 15, 2020
TomShawn marked this conversation as resolved.
Show resolved Hide resolved

TiDB version: 4.0.9

## Compatibility Changes

+ TiDB

- Deprecate the `enable-streaming` configuration item [#21055](https://github.com/pingcap/tidb/pull/21055)

TomShawn marked this conversation as resolved.
Show resolved Hide resolved
## New Features

+ TiFlash

- Support storing the latest data of the storage engine on multiple disks (experimental)

TomShawn marked this conversation as resolved.
Show resolved Hide resolved
## Improvements

+ TiDB

- Avoid the (index) merge join in a heuristical way when converting equal conditions to other conditions [#21146](https://github.com/pingcap/tidb/pull/21146)
- Differentiate the types of user variables [#21107](https://github.com/pingcap/tidb/pull/21107)
- Support setting the `GOGC` variable in the configuration file [#20922](https://github.com/pingcap/tidb/pull/20922)
- Make the dumped binary time (`Timestamp` and `Datetime`) more compatible with MySQL [#21135](https://github.com/pingcap/tidb/pull/21135)
- Provide an error message for statements that use the `LOCK IN SHARE MODE` syntax [#21005](https://github.com/pingcap/tidb/pull/21005)
- Avoid outputting unnecessary warnings or errors when folding constants in shortcut-able expressions [#21040](https://github.com/pingcap/tidb/pull/21040)
- Raise an error when preparing the `LOAD DATA` statement [#21199](https://github.com/pingcap/tidb/pull/21199)
- Ignore the attribute of the integer zero-fill size when changing the column types [#20986](https://github.com/pingcap/tidb/pull/20986)
- Add the executor-related runtime information of DML statements in the result of `EXPLAIN ANALYZE` [#21066](https://github.com/pingcap/tidb/pull/21066)
- Disallow multiple updates on the primary key in a singe SQL statements [#21113](https://github.com/pingcap/tidb/pull/21113)
- Add a monitoring metric for the connection idle time [#21301](https://github.com/pingcap/tidb/pull/21301)

TomShawn marked this conversation as resolved.
Show resolved Hide resolved
+ TiKV

- Add the tag to trace the source of the `split` command [#8936](https://github.com/tikv/tikv/pull/8936)
- Support dynamically changing the `pessimistic-txn.pipelined` configuration [#9100](https://github.com/tikv/tikv/pull/9100)
- Reduce the impact on performance when running Backup & Restore and TiDB Lightning [#9098](https://github.com/tikv/tikv/pull/9098)
- Add monitoring metrics for the ingesting SST errors [#9096](https://github.com/tikv/tikv/pull/9096)
- Prevent hibernation when some peers are still catching up with logs [#9093](https://github.com/tikv/tikv/pull/9093)
- Increase the success rate of the pipelined pessimistic locking [#9086](https://github.com/tikv/tikv/pull/9086)
- Change the default value of `apply-max-batch-size` and `store-max-batch-size` to `1024` [#9020](https://github.com/tikv/tikv/pull/9020)
- Add the `max-background-flushes` configuration item [#8947](https://github.com/tikv/tikv/pull/8947)
- Enable the unified read pool for the storage module by default [#8887](https://github.com/tikv/tikv/pull/8887)
- Disable `force-consistency-checks` by default to improve performance [#9029](https://github.com/tikv/tikv/pull/9029)

TomShawn marked this conversation as resolved.
Show resolved Hide resolved
+ PD

- Check the TiKV cluster version when a TiKV stores become `Tombstone` [#3213](https://github.com/pingcap/pd/pull/3213)
- Disallow the TiKV store of a lower version to change from `Tombstone` back to `Up` [#3206](https://github.com/pingcap/pd/pull/3206)
- Update Dashboard to `v2020.11.26.1` [#3219](https://github.com/pingcap/pd/pull/3219)
TomShawn marked this conversation as resolved.
Show resolved Hide resolved

TomShawn marked this conversation as resolved.
Show resolved Hide resolved
+ TiFlash

- Reduce the latency of replica reads
- Refine TiFlash's error messages
- Limit the memory usage of cache data when the data volume is huge
- Add a monitoring metric for the number of coprocessor tasks being handled

+ Tools
TomShawn marked this conversation as resolved.
Show resolved Hide resolved

+ Backup & Restore (BR)

- Disallow the ambiguous `--checksum false` argument in the command line, which does not disable checksum. Accept `--checksum=false` only. [#588](https://github.com/pingcap/br/pull/588)
- Support changing the PD configuration temporarily [#596](https://github.com/pingcap/br/pull/596)
- Support analyzing tables after restore [#622](https://github.com/pingcap/br/pull/622)
- Retry for the `read index not ready` and `proposal in merging mode` errors [#626](https://github.com/pingcap/br/pull/626)

+ TiCDC

- Add an alert for enabling TiKV's Hibernate Region feature [#1120](https://github.com/pingcap/ticdc/pull/1120)
- Reduce memory usage in the schema storage [#1127](https://github.com/pingcap/ticdc/pull/1127)
- Add the feature of unified sorter, which accelerates replication when the data size of the incremental scan is large (experimental) [#1122](https://github.com/pingcap/ticdc/pull/1122)
- Support configuring the maximum message size and the maximum message batch in the TiCDC Open Protocol message (only for Kafka sink) [#1079](https://github.com/pingcap/ticdc/pull/1079)

TomShawn marked this conversation as resolved.
Show resolved Hide resolved
+ Dumpling

- Retry dumping data on failed chunks [#182](https://github.com/pingcap/dumpling/pull/182)
- Support configuring both the `-F` and `-r` arguments at the same time [#177](https://github.com/pingcap/dumpling/pull/177)
- Exclude system databases in `--filter` by default [#194](https://github.com/pingcap/dumpling/pull/194)
- Support the `--transactional-consistency` parameter and support rebuilding MySQL connections during retry [#199](https://github.com/pingcap/dumpling/pull/199)

+ TiDB Lightning

- Filter out all system schemas by default [#459](https://github.com/pingcap/tidb-lightning/pull/459)
- Support setting a default value for the auto-random primary key for the Local-backend or Importer-backend [#457](https://github.com/pingcap/tidb-lightning/pull/457)
- Use range properties to make the range split more precise in Local-backend [#422](https://github.com/pingcap/tidb-lightning/pull/422)
- Support a human-readable format (such as "2.5 GiB") in `tikv-importer.region-split-size`, `mydumper.read-block-size`, `mydumper.batch-size`, and `mydumper.max-region-size` [#471](https://github.com/pingcap/tidb-lightning/pull/471)

+ TiDB Binlog

- Exit the Drainer process with the non-zero code if the upstream PD is down or if applying DDL or DML statements to the downstream fails [#1012](https://github.com/pingcap/tidb-binlog/pull/1012)

## Bug Fixes

+ TiDB
TomShawn marked this conversation as resolved.
Show resolved Hide resolved

TomShawn marked this conversation as resolved.
Show resolved Hide resolved
- Fix the issue of incorrect results when using a prefix index with the `OR` condition [#21287](https://github.com/pingcap/tidb/pull/21287)
- Fix a bug that might cause panic when automatic retry is enabled [#21285](https://github.com/pingcap/tidb/pull/21285)
- Fix a bug that occurs when checking partition definition according to column type [#21273](https://github.com/pingcap/tidb/pull/21273)
- Fix a bug that the value type of the partition expression is not consistent with the partition column type [#21136](https://github.com/pingcap/tidb/pull/21136)
- Fix a bug that the hash-type partition does not check whether the partition name is unique [#21257](https://github.com/pingcap/tidb/pull/21257)
- Fix the wrong results returned after inserting a value of the non-`INT` type into the hash partitioned table [#21238](https://github.com/pingcap/tidb/pull/21238)
- Fix the unexpected error when using index join in the `INSERT` statement in some cases [#21249](https://github.com/pingcap/tidb/pull/21249)
- Fix the issue that the `BigInt` unsigned column value in the `CASE WHEN` operator is incorrectly converted to the `BigInt` signed value [#21236](https://github.com/pingcap/tidb/pull/21236)
- Fix a bug that index hash join and index merge join do not consider collation [#21219](https://github.com/pingcap/tidb/pull/21219)
- Fix a bug that the partitioned table does not consider collation in the `CREATE TABLE` and `SELECT` syntax [#21181](https://github.com/pingcap/tidb/pull/21181)
- Fix the issue that the query result of `slow_query` might miss some rows [#21211](https://github.com/pingcap/tidb/pull/21211)
- Fix the issue that `DELETE` might not delete data correctly when the database name is not in a pure lower representation [#21206](https://github.com/pingcap/tidb/pull/21206)
- Fix a bug that causes schema change after DML operations [#21050](https://github.com/pingcap/tidb/pull/21050)
- Fix the bug that the coalesced column cannot be queried when using join [#21021](https://github.com/pingcap/tidb/pull/21021)
- Fix the wrong results of some semi-join queries [#21019](https://github.com/pingcap/tidb/pull/21019)
- Fix the issue that the table lock does not take effect on the `UPDATE` statement [#21002](https://github.com/pingcap/tidb/pull/21002)
- Fix the issue of stack overflow that occurs when building the recursive view [#21001](https://github.com/pingcap/tidb/pull/21001)
- Fix the unexpected result returned when performing index merge join operations on outer join [#20954](https://github.com/pingcap/tidb/pull/20954)
- Fix the issue that sometimes a transaction that has an undetermined result might be treated as failed [#20925](https://github.com/pingcap/tidb/pull/20925)
- Fix the issue that `EXPLAIN FOR CONNECTION` cannot show the last query plan [#21315](https://github.com/pingcap/tidb/pull/21315)
- Fix the issue that when Index Merge is used in a transaction with the Read Committed isolation level, the result might be incorrect [#21253](https://github.com/pingcap/tidb/pull/21253)
- Fix the auto-ID allocation failure caused by the transaction retry after the write conflict [#21079](https://github.com/pingcap/tidb/pull/21079)
- Fix the issue that JSON data cannot be correctly imported to TiDB using `LOAD DATA` [#21074](https://github.com/pingcap/tidb/pull/21074)
- Fix the issue that the default value of newly added `Enum`-type columns is incorrect [#20998](https://github.com/pingcap/tidb/pull/20998)
- Fix the issue that the `adddate` function inserts invalid characters [#21176](https://github.com/pingcap/tidb/pull/21176)
- Fix the issue that the wrong `PointGet` plan generated in some situations causes wrong results [#21244](https://github.com/pingcap/tidb/pull/21244)

TomShawn marked this conversation as resolved.
Show resolved Hide resolved
TomShawn marked this conversation as resolved.
Show resolved Hide resolved
TomShawn marked this conversation as resolved.
Show resolved Hide resolved
+ TiKV

- Fix the issue that Coprocessor might return wrong results when there are more than 255 columns [#9131](https://github.com/tikv/tikv/pull/9131)
- Fix the issue that Region Merge might cause data loss during network partition [#9108](https://github.com/tikv/tikv/pull/9108)
- Fix the issue that the `ANALYZE` statement might cause panic when using the `latin1` character set [#9082](https://github.com/tikv/tikv/pull/9082)
- Fix the wrong results returned when converting the numeric type to the time type [#9031](https://github.com/tikv/tikv/pull/9031)
- Fix a bug that TiDB Lightning fails to ingest SST files to TiKV with the Importer-backend or Local-backend when Transparent Data Encryption (TDE) is enabled [#8995](https://github.com/tikv/tikv/pull/8995)
- Fix the invalid `advertise-status-addr` value (`0.0.0.0`) [#9036](https://github.com/tikv/tikv/pull/9036)
- Fix the issue that an error is returned indicating that a key exists when this key is locked and deleted in a committed transaction [#8930](https://github.com/tikv/tikv/pull/8930)
- Fix the issue that the RocksDB cache mapping error causes data corruption [#9029](https://github.com/tikv/tikv/pull/9029)
- Fix a bug that Follower Read might return stale data after the leader is transferred [#9240](https://github.com/tikv/tikv/pull/9240)

TomShawn marked this conversation as resolved.
Show resolved Hide resolved
TomShawn marked this conversation as resolved.
Show resolved Hide resolved
+ PD

- Fix the issue that the leader roles specified using placement rules do not take effect in some cases [#3208](https://github.com/pingcap/pd/pull/3208)
- Fix the issue that the `trace-region-flow` value is unexpectedly set to `false` [#3120](https://github.com/pingcap/pd/pull/3120)
- Fix a bug that the service safepoint with infinite Time To Live (TTL) does not work [#3143](https://github.com/pingcap/pd/pull/3143)

+ TiFlash

- Fix the issue that `INFORMATION_SCHEMA.CLUSTER_HARDWARE` might contain the information of disks that are not in use
- Fix the issue that the estimate on memory usage of Delta Cache is smaller than the actual usage
- Fix the memory leak caused by thread information statistics

+ Tools
TomShawn marked this conversation as resolved.
Show resolved Hide resolved

+ Backup & Restore (BR)

- Fix the failure caused by special characters in S3 secret access keys [#617](https://github.com/pingcap/br/pull/617)

+ TiCDC

- Fix the issue that multiple owners might exist when the owner campaign key is deleted [#1104](https://github.com/pingcap/ticdc/pull/1104)
TomShawn marked this conversation as resolved.
Show resolved Hide resolved
- Fix a bug that TiCDC might fail to continue replicating data when a TiKV node crashes or recovers from a crash. This bug only exists in v4.0.8. [#1198](https://github.com/pingcap/ticdc/pull/1198)
- Fix the issue that the metadata is repeatedly flushed to etcd before a table is initialized [#1191](https://github.com/pingcap/ticdc/pull/1191)
- Fix an issue of replication interruption caused by early GC or the latency of updating `TableInfo` when the schema storage caches TiDB tables [#1114](https://github.com/pingcap/ticdc/pull/1114)
- Fix the issue that the schema storage costs too much memory when DDL operations are frequent [#1127](https://github.com/pingcap/ticdc/pull/1127)
- Fix the goroutine leak when a changefeed is paused or stopped [#1075](https://github.com/pingcap/ticdc/pull/1075)
- Increase the maximum retry timeout to 60 seconds in Kafka producer to prevent replication interruption caused by the service or network jitter in the downstream Kafka [#1118](https://github.com/pingcap/ticdc/pull/1118)
TomShawn marked this conversation as resolved.
Show resolved Hide resolved
- Fix a bug that the Kafka batch size does not take effect [#1112](https://github.com/pingcap/ticdc/pull/1112)

TomShawn marked this conversation as resolved.
Show resolved Hide resolved
+ Dumpling

- Fix the issue that Dumpling might get blocked when its connection to the MySQL database server is closed [#190](https://github.com/pingcap/dumpling/pull/190)

+ TiDB Lightning

- Fix the issue that keys are encoded using the wrong field information [#437](https://github.com/pingcap/tidb-lightning/pull/437)
- Fix the issue that GC life time TTL does not take effect [#448](https://github.com/pingcap/tidb-lightning/pull/448)
- Fix the issue that causes panic when manually stops the running TiDB Lightning in the Local-backend mode [#484](https://github.com/pingcap/tidb-lightning/pull/484)
1 change: 1 addition & 0 deletions releases/release-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ aliases: ['/docs/dev/releases/release-notes/','/docs/dev/releases/rn/']

## 4.0

- [4.0.9](/releases/release-4.0.9.md)
- [4.0.8](/releases/release-4.0.8.md)
- [4.0.7](/releases/release-4.0.7.md)
- [4.0.6](/releases/release-4.0.6.md)
Expand Down