From bbf14bfc57ebcb763d2eaaf9cbcd7838f54470d9 Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Thu, 4 Jun 2020 22:59:40 +0800 Subject: [PATCH 1/3] cherry pick #2677 to release-3.1 Signed-off-by: sre-bot --- TOC.md | 1 + releases/release-3.0.13.md | 2 - releases/release-3.0.14.md | 2 - releases/release-3.1.2.md | 27 +++++ releases/release-4.0.0-rc.1.md | 149 +++++++++++++++++++++++++ releases/release-4.0.0-rc.2.md | 197 +++++++++++++++++++++++++++++++++ releases/release-notes.md | 1 + 7 files changed, 375 insertions(+), 4 deletions(-) create mode 100644 releases/release-3.1.2.md create mode 100644 releases/release-4.0.0-rc.1.md create mode 100644 releases/release-4.0.0-rc.2.md diff --git a/TOC.md b/TOC.md index 1ed2222ab6f7f..d8a0308431b14 100644 --- a/TOC.md +++ b/TOC.md @@ -372,6 +372,7 @@ - [Roadmap](/roadmap.md) + [Releases](/releases/release-notes.md) + v3.1 + - [3.1.2](/releases/release-3.1.2.md) - [3.1.1](/releases/release-3.1.1.md) - [3.1.0 GA](/releases/release-3.1.0-ga.md) - [3.1.0-rc](/releases/release-3.1.0-rc.md) diff --git a/releases/release-3.0.13.md b/releases/release-3.0.13.md index 16494ab4a0895..5b31ba4dbc3c1 100644 --- a/releases/release-3.0.13.md +++ b/releases/release-3.0.13.md @@ -10,8 +10,6 @@ Release date: April 22, 2020 TiDB version: 3.0.13 -TiUP version: 3.0.13 - ## Bug Fixes + TiDB diff --git a/releases/release-3.0.14.md b/releases/release-3.0.14.md index 82fd6dd27dfd1..4fcd0fc693aa5 100644 --- a/releases/release-3.0.14.md +++ b/releases/release-3.0.14.md @@ -10,8 +10,6 @@ Release date: May 9, 2020 TiDB version: 3.0.14 -TiUP version: 3.0.14 - ## Compatibility Changes + TiDB diff --git a/releases/release-3.1.2.md b/releases/release-3.1.2.md new file mode 100644 index 0000000000000..b8547c5016180 --- /dev/null +++ b/releases/release-3.1.2.md @@ -0,0 +1,27 @@ +--- +title: TiDB 3.1.2 Release Notes +category: Releases +--- + +# TiDB 3.1.2 Release Notes + +Release date: June 4, 2020 + +TiDB version: 3.1.2 + +## Bug Fixes + ++ TiKV + + - Fix the error handling issue during backup and restoration with S3 and GCS [#7965](https://github.com/tikv/tikv/pull/7965) + - Fix the `DefaultNotFound` error that occurs during restoration [#7838](https://github.com/tikv/tikv/pull/7938) + ++ Tools + + - Backup & Restore (BR) + + - Retry automatically when the network is poor to improve stability with S3 and GCS storages [#314](https://github.com/pingcap/br/pull/314) [#7965](https://github.com/tikv/tikv/pull/7965) + - Fix a restoration failure that occurs because the Region leader cannot be found when restoring small tables [#303](https://github.com/pingcap/br/pull/303) + - Fix a data loss issue during restoration when a table’s row ID exceeds `2^(63)` [#323](https://github.com/pingcap/br/pull/323) + - Fix the issue that empty databases and tables cannot be restored [#318](https://github.com/pingcap/br/pull/318) + - Support using AWS KMS for server-side encryption (SSE) when targeting the S3 storage [#261](https://github.com/pingcap/br/pull/261) diff --git a/releases/release-4.0.0-rc.1.md b/releases/release-4.0.0-rc.1.md new file mode 100644 index 0000000000000..a1cf03d50856d --- /dev/null +++ b/releases/release-4.0.0-rc.1.md @@ -0,0 +1,149 @@ +--- +title: TiDB 4.0 RC.1 Release Notes +category: Releases +aliases: ['/docs/dev/releases/4.0.0-rc.1/'] +--- + +# TiDB 4.0 RC.1 Release Notes + +Release date: April 28, 2020 + +TiDB version: 4.0.0-rc.1 + +## Compatibility Changes + ++ TiKV + + - Disable the Hibernate Region feature by default [#7618](https://github.com/tikv/tikv/pull/7618) + ++ TiDB Binlog + + - Support the sequence DDL operation in Drainer [#950](https://github.com/pingcap/tidb-binlog/pull/950) + +## Important Bug Fixes + ++ TiDB + + - Fix the issue that the `INSERT ... ON DUPLICATE UPDATE` statement might be incorrectly executed on multiple rows in an explicit transaction because `MemBuffer` is not checked [#16689](https://github.com/pingcap/tidb/pull/16689) + - Fix the data inconsistency when locking duplicated keys on multiple rows [#16769](https://github.com/pingcap/tidb/pull/16769) + - Fix the panic that occurs when recycling the non-superbatch idle connection between TiDB instances [#16303](https://github.com/pingcap/tidb/pull/16303) + ++ TiKV + + - Fix the deadlock issue caused by the probe request from TiDB [#7540](https://github.com/tikv/tikv/pull/7540) + - Fix the issue that the minimum commit timestamp of a transaction might overflow which affects data correctness [#7638](https://github.com/tikv/tikv/pull/7638) + ++ TiFlash + + - Fix the data loss issue caused by the `rename table` operation when multiple data paths are configured + - Fix the issue that an error occurs when reading data from a merged Region + - Fix the issue that an error occurs when reading data from a Region that is in the abnormal state + - Modify the mapping of table names in TiFlash to correctly support `recover table`/`flashback table` + - Modify the storage path to fix the potential data loss issue that occurs when renaming the table + - Fix the potential panic of TiDB when Super Batch is enabled + - Modify the read mode in the online update scenario to improve the read performance + ++ TiCDC + + - Fix the replication failure that occurs because the schema internally maintained in TiCDC fails to correctly handle the timing issue of read and write operations [#438](https://github.com/pingcap/ticdc/pull/438) [#450](https://github.com/pingcap/ticdc/pull/450) [#478](https://github.com/pingcap/ticdc/pull/478) [#496](https://github.com/pingcap/ticdc/pull/496) + - Fix the bug that the TiKV client fails to correctly maintain the internal resources when encountering some TiKV anomalies [#499](https://github.com/pingcap/ticdc/pull/499) [#492](https://github.com/pingcap/ticdc/pull/492) + - Fix the bug that meta data is not correctly cleaned up and abnormally remains in the TiCDC nodes [#488](https://github.com/pingcap/ticdc/pull/488) [#504](https://github.com/pingcap/ticdc/pull/504) + - Fix the issue that the TiKV client fails to correctly handle the repeated sending of the prewrite event [#446](https://github.com/pingcap/ticdc/pull/446) + - Fix the issue that the TiKV client fails to correctly handle the redundant prewrite events received before the initialization [#448](https://github.com/pingcap/ticdc/pull/448) + ++ Backup & Restore (BR) + + - Fix the issue that checksum is still executed when checksum is disabled [#223](https://github.com/pingcap/br/pull/223) + - Fix the incremental replication failure when `auto-random` or `alter-pk` is enabled in TiDB [#230](https://github.com/pingcap/br/pull/230) [#231](https://github.com/pingcap/br/pull/231) + +## New Features + ++ TiDB + + - Support sending Coprocessor requests to TiFlash in batches [#16226](https://github.com/pingcap/tidb/pull/16226) + - Enable the Coprocessor cache feature by default [#16710](https://github.com/pingcap/tidb/pull/16710) + - Parse only the registered sections of a statement in the special comment of the SQL statement [#16157](https://github.com/pingcap/tidb/pull/16157) + - Support using the `SHOW CONFIG` syntax to show the configurations of PD and TiKV instances [#16475](https://github.com/pingcap/tidb/pull/16475) + ++ TiKV + + - Support using the user-owned KMS key for the server-side encryption when backing up data to S3 [#7630](https://github.com/tikv/tikv/pull/7630) + - Enable the load-based `split region` operation [#7623](https://github.com/tikv/tikv/pull/7623) + - Support validating common names [#7468](https://github.com/tikv/tikv/pull/7468) + - Add the file lock check to avoid starting multiple TiKV instances that are bound to the same address [#7447](https://github.com/tikv/tikv/pull/7447) + - Support AWS KMS in encryption at rest [#7465](https://github.com/tikv/tikv/pull/7465) + ++ Placement Driver (PD) + + - Remove `config manager` to let other components control their component configurations [#2349](https://github.com/pingcap/pd/pull/2349) + ++ TiFlash + + - Add the metrics report related to the read and write workloads of DeltaTree engine + - Cache the `handle` and `version` columns to reduce the disk I/O of a single read or write request + - Support pushing down the `fromUnixTime` and `dateFormat` functions + - Evaluate the global state according to the first disk and report this evaluation + - Add the graphics in Grafana related to the read and write workloads of DeltaTree engine + - Optimize the decimal data encoding in the `Chunk` codec + - Implement the gRPC API of Diagnostics (SQL diagnosis) to support querying system tables such as `INFORMATION_SCHEMA.CLUSTER_INFO` + ++ TiCDC + + - Support sending messages in batches in the Kafka sink module [#426](https://github.com/pingcap/ticdc/pull/426) + - Support file sorting in the processor [#477](https://github.com/pingcap/ticdc/pull/477) + - Support automatic `resolve lock` [#459](https://github.com/pingcap/ticdc/pull/459) + - Add the feature that automatically updates the TiCDC service GC safe point to PD [#487](https://github.com/pingcap/ticdc/pull/487) + - Add the timezone setting for data replication [#498](https://github.com/pingcap/ticdc/pull/498) + ++ Backup and Restore (BR) + + - Support configuring S3/GCS in the storage URL [#246](https://github.com/pingcap/br/pull/246) + +## Bug Fixes + ++ TiDB + +- Fix the issue that negative numbers cannot be correctly displayed in the system table because the columns are defined as unsigned [#16004](https://github.com/pingcap/tidb/pull/16004) +- Add a warning when the `use_index_merge` hint contains the invalid index name [#15960](https://github.com/pingcap/tidb/pull/15960) +- Forbid multiple instances of a TiDB server sharing the same temporary directory [#16026](https://github.com/pingcap/tidb/pull/16026) +- Fix the panic that occurs during the execution of `explain for connection` when the plan cache is enabled [#16285](https://github.com/pingcap/tidb/pull/16285) +- Fix the issue that the result of the `tidb_capture_plan_baselines` system variable is incorrectly displayed [#16048](https://github.com/pingcap/tidb/pull/16048) +- Fix the issue that the `group by` clause in the `prepare` statement is incorrectly parsed [#16377](https://github.com/pingcap/tidb/pull/16377) +- Fix the panic that might occur during the execution of the `analyze primary key` statement [#16081](https://github.com/pingcap/tidb/pull/16081) +- Fix the issue that the TiFlash store information in the `cluster_info` system table is wrong [#16024](https://github.com/pingcap/tidb/pull/16024) +- Fix the panic that might occur during the Index Merge process [#16360](https://github.com/pingcap/tidb/pull/16360) +- Fix the issue that an incorrect result might occur when the Index Merge reader reads the generated columns [#16359](https://github.com/pingcap/tidb/pull/16359) +- Fix the incorrect display of the default sequence value in the `show create table` statement [#16526](https://github.com/pingcap/tidb/pull/16526) +- Fix the issue that the `not-null` error is returned because the sequence is used as the default values of the primary key [#16510](https://github.com/pingcap/tidb/pull/16510) +- Fix the issue that no error is reported for a blocked SQL execution when TiKV continues to return the `StaleCommand` error [#16530](https://github.com/pingcap/tidb/pull/16530) +- Fix the issue that an error is reported if you only specify `COLLATE` when creating a database; add the missing `COLLATE` part in the result of `SHOW CREATE DATABASE` [#16540](https://github.com/pingcap/tidb/pull/16540) +- Fix the partition pruning failure when the plan cache is enabled [#16723](https://github.com/pingcap/tidb/pull/16723) +- Fix the bug that `PointGet` returns wrong results when handling the overflow [#16755](https://github.com/pingcap/tidb/pull/16755) +- Fix the issue that a wrong result is returned when querying the `slow_query` system table with equal time values [#16806](https://github.com/pingcap/tidb/pull/16806) + ++ TiKV + + - Address the OpenSSL security issue: CVE-2020-1967 [#7622](https://github.com/tikv/tikv/pull/7622) + - Avoid protecting rollback records written by `BatchRollback` to improve performance when many write conflicts exist in optimistic transactions [#7604](https://github.com/tikv/tikv/pull/7604) + - Fix the issue that the needless wake-up of transactions results in useless retry and performance reduction in heavy lock-race workloads [#7551](https://github.com/tikv/tikv/pull/7551) + - Fix the issue that the Region might be stuck in the multi-time merging [#7518](https://github.com/tikv/tikv/pull/7518) + - Fix the issue that the learner is not deleted when deleting the learner [#7518](https://github.com/tikv/tikv/pull/7518) + - Fix the issue that follower read might cause panic in raft-rs [#7408](https://github.com/tikv/tikv/pull/7408) + - Fix the bug that a SQL operation might fail because of the `group by constant` error [#7383](https://github.com/tikv/tikv/pull/7383) + - Fix the issue that an optimistic lock might block reads if the corresponding primary lock is a pessimistic lock [#7328](https://github.com/tikv/tikv/pull/7328) + ++ PD + + - Fix the issue that some APIs might fail in the TLS validation [#2363](https://github.com/pingcap/pd/pull/2363) + - Fix the issue that the configuration API cannot accept a configuration item with a prefix [#2354](https://github.com/pingcap/pd/pull/2354) + - Fix the issue that the `500` error is returned when the scheduler is not found [#2328](https://github.com/pingcap/pd/pull/2328) + - Fix the issue that the `404` error is returned for the `scheduler config balance-hot-region-scheduler list` command [#2321](https://github.com/pingcap/pd/pull/2321) + ++ TiFlash + + - Disable the coarse-grained index optimization for the storage engine + - Fix the bug that an exception is thrown when resolving locks for Regions and some locks need to be skipped + - Fix the null pointer exception (NPE) when collecting the Coprocessor statistics + - Fix the check for Region meta to ensure that the process of Region Split/Region Merge is correct + - Fix the issue that the message size exceeds the limit for gRPC because the size of Coprocessor response is not estimated + - Fix the handling of the `AdminCmdType::Split` command in TiFlash diff --git a/releases/release-4.0.0-rc.2.md b/releases/release-4.0.0-rc.2.md new file mode 100644 index 0000000000000..b9c7227e0e6bc --- /dev/null +++ b/releases/release-4.0.0-rc.2.md @@ -0,0 +1,197 @@ +--- +title: TiDB 4.0 RC.2 Release Notes +category: Releases +--- + +# TiDB 4.0 RC.2 Release Notes + +Release date: May 15, 2020 + +TiDB version: 4.0.0-rc.2 + +## Compatibility Changes + ++ TiDB + + - Remove the size limit for a single transaction (100 MB) when TiDB Binlog is enabled. Now the size limit for a transaction is 10 GB. However, if TiDB Binlog is enabled and the downstream is Kafka, configure the `txn-total-size-limit` parameter according to the message size limit of 1 GB in Kafka [#16941](https://github.com/pingcap/tidb/pull/16941) + - Change the behavior from querying the default time range to returning an error and requesting a specified time range if the time range is not specified when querying the `CLUSTER_LOG` table [#17003](https://github.com/pingcap/tidb/pull/17003) + - If the unsupported `sub-partition` or `linear hash` option is specified when creating the partitioned table using the `CREATE TABLE` statement, the normal table is created rather than the partitioned table with the options ignored [#17197](https://github.com/pingcap/tidb/pull/17197) + ++ TiKV + + - Move the encryption-related configuration to the security-related configuration, which means changing `[encryption]` in the TiKV configuration file to `[security.encryption]` [#7810](https://github.com/tikv/tikv/pull/7810) + ++ Tools + + - TiDB Lightning + + - Change the default SQL mode to `ONLY_FULL_GROUP_BY,NO_AUTO_CREATE_USER` when importing data to improve compatibility [#316](https://github.com/pingcap/tidb-lightning/pull/316) + - Disallow accessing the PD or TiKV port in the tidb-backend mode [#312](https://github.com/pingcap/tidb-lightning/pull/312) + - Print the log information to the tmp file by default, and print the path of the tmp file when TiDB Lightning is started [#313](https://github.com/pingcap/tidb-lightning/pull/313) + +## Important Bug Fixes + ++ TiDB + + - Fix the issue that the wrong partition is chosen when the `WHERE` clause has only one equivalent condition [#17054](https://github.com/pingcap/tidb/pull/17054) + - Fix the issue of wrong results caused by building the incorrect Index range when the `WHERE` clause only contains the string column [#16660](https://github.com/pingcap/tidb/pull/16660) + - Fix the panic issue that occurs when executing the `PointGet` query in the transaction after the `DELETE` operation [#16991](https://github.com/pingcap/tidb/pull/16991) + - Fix the issue that the GC worker might encounter the deadlock when an error occurs [#16915](https://github.com/pingcap/tidb/pull/16915) + - Avoid the unnecessary RegionMiss retry when the TiKV response is slow but not down [#16956](https://github.com/pingcap/tidb/pull/16956) + - Change the log level in the client in the handshake phase of the MySQL protocol to `DEBUG` to solve the problem that interferes with log output [#16881](https://github.com/pingcap/tidb/pull/16881) + - Fix the issue that the Region is not pre-split according to the `PRE_SPLIT_REGIONS` information defined by the table after the `TRUNCATE` operation [#16776](https://github.com/pingcap/tidb/pull/16776) + - Fix the issue of soaring goroutine caused by retry when TiKV is unavailable during the second phase of the two-phase commit [#16876](https://github.com/pingcap/tidb/pull/16876) + - Fix the panic issue of statement execution when some expressions cannot be pushed down [#16869](https://github.com/pingcap/tidb/pull/16869) + - Fix the wrong execution result of the IndexMerge operation on the partitioned table [#17124](https://github.com/pingcap/tidb/pull/17124) + - Fix the performance reduction of `wide_table` caused by the mutex contention of Memory Trackers [#17234](https://github.com/pingcap/tidb/pull/17234) + ++ TiFlash + + - Fix the issue that the system cannot start normally after the upgrade if the name of the database or table contains special characters + +## New Features + ++ TiDB + + - Add support for the `BACKUP` and `RESTORE` commands to back up and restore data [#16960](https://github.com/pingcap/tidb/pull/16960) + - Support pre-checking the data volume in a single Region before commit and pre-splitting the Region when the data volume exceeds the threshold [#16959](https://github.com/pingcap/tidb/pull/16959) + - Add the new `LAST_PLAN_FROM_CACHE` variable with a `Session` scope to indicate whether the last executed statement hits the plan cache [#16830](https://github.com/pingcap/tidb/pull/16830) + - Support recording the `Cop_time` information in slow log and the `SLOW_LOG` table [#16904](https://github.com/pingcap/tidb/pull/16904) + - Add in Grafana more metrics that monitor the memory status of Go Runtime [#16928](https://github.com/pingcap/tidb/pull/16928) + - Support outputting the `forUpdateTS` and `Read Consistency` isolation level information in General Log [#16946](https://github.com/pingcap/tidb/pull/16946) + - Support collapsing duplicate requests of resolving locks in TiKV Region [#16925](https://github.com/pingcap/tidb/pull/16925) + - Support using the `SET CONFIG` statement to modify the configuration of PD/TiKV nodes [#16853](https://github.com/pingcap/tidb/pull/16853) + - Support the `auto_random` option in the `CREATE TABLE` statement [#16813](https://github.com/pingcap/tidb/pull/16813) + - Allocate TaskID for the DistSQL request to help TiKV better schedule and process requests [#17155](https://github.com/pingcap/tidb/pull/17155) + - Support displaying the version information of the TiDB server after logging into the MySQL client [#17187](https://github.com/pingcap/tidb/pull/17187) + - Support the `ORDER BY` clause in the `GROUP_CONCAT` function [#16990](https://github.com/pingcap/tidb/pull/16990) + - Support displaying the `Plan_from_cache` information in slow log to indicate whether the statement hits plan cache [#17121](https://github.com/pingcap/tidb/pull/17121) + - Add the feature that TiDB Dashboard can display the capacity information of TiFlash multi-disk deployment + - Add the feature of querying the TiFlash log using SQL statements in Dashboard + ++ TiKV + + - Support encryption debugging for tikv-ctl, so that tikv-ctl can be used to operate and manage the cluster when the encryption storage is enabled [#7698](https://github.com/tikv/tikv/pull/7698) + - Support encrypting the lock column family in snapshots [#7712](https://github.com/tikv/tikv/pull/7712) + - Use the heatmap in the Grafana dashboard for Raftstore latency summary to better diagnose the jitter issue [#7717](https://github.com/tikv/tikv/pull/7717) + - Support setting the upper limit for the size of the gRPC message [#7824](https://github.com/tikv/tikv/pull/7824) + - Add in Grafana dashboard the encryption-related monitoring metrics [#7827](https://github.com/tikv/tikv/pull/7827) + - Support Application-Layer Protocol Negotiation (ALPN) [#7825](https://github.com/tikv/tikv/pull/7825) + - Add more statistics about Titan [#7818](https://github.com/tikv/tikv/pull/7818) + - Support using the task ID provided by the client as the identifier in the unified read pool to avoid that the priority of a task is lowered by another task in the same transaction [#7814](https://github.com/tikv/tikv/pull/7814) + - Improve the performance of the `batch insert` request [#7718](https://github.com/tikv/tikv/pull/7718) + ++ PD + + - Eliminate the speed limit of removing peers when making a node offline [#2372](https://github.com/pingcap/pd/pull/2372) + ++ TiFlash + + - Change the name of the Count graph of **Read Index** in Grafana to **Ops** + - Optimize the data for opening file descriptors when the system load is low to reduce system resource consumption + - Add the capacity-related configuration parameter to limit the the data storage capacity + ++ Tools + + - TiDB Lightning + + - Add the `fetch-mode` sub-command in tidb-lightning-ctl to print the TiKV cluster mode [#287](https://github.com/pingcap/tidb-lightning/pull/287) + + - TiCDC + + - Support managing the replication task by using `cdc cli` (changefeed) [#546](https://github.com/pingcap/ticdc/pull/546) + + - Backup & Restore (BR) + + - Support automatically adjusting GC time during backup [#257](https://github.com/pingcap/br/pull/257) + - Adjust PD parameters when restoring data to speed up the restoration [#198](https://github.com/pingcap/br/pull/198) + +## Bug Fixes + ++ TiDB + + - Improve the logic that determines whether to use vectorization for expression execution in multiple operators [#16383](https://github.com/pingcap/tidb/pull/16383) + - Fix the issue that the `IndexMerge` hint fails to check the database name correctly [#16932](https://github.com/pingcap/tidb/pull/16932) + - Forbid truncating the sequence object [#17037](https://github.com/pingcap/tidb/pull/17037) + - Fix the issue that the `INSERT`/`UPDATE`/`ANALYZE`/`DELETE` statements can be performed on a sequence object [#16957](https://github.com/pingcap/tidb/pull/16957) + - Fix the issue that the internal SQL statements in the bootstrap phase are not correctly marked as internal queries in the Statement Summary table [#17062](https://github.com/pingcap/tidb/pull/17062) + - Fix the error that occurs when a filter condition supported by TiFlash but not by TiKV is pushed down to the `IndexLookupJoin` operator [#17036](https://github.com/pingcap/tidb/pull/17036) + - Fix the concurrency issue of the `LIKE` expression that might occur after the collation is enabled [#16997](https://github.com/pingcap/tidb/pull/16997) + - Fix the issue that the `LIKE` function cannot correctly build the `Range` query index after the collation is enabled [#16783](https://github.com/pingcap/tidb/pull/16783) + - Fix the issue that a wrong value is returned when executing `@@LAST_PLAN_FROM_CACHE` after the `Plan Cache` statement is triggered [#16831](https://github.com/pingcap/tidb/pull/16831) + - Fix the issue that `TableFilter` on the index is missed when calculating candidate paths for `IndexMerge` [#16947](https://github.com/pingcap/tidb/pull/16947) + - Fix the issue that a physical query plan cannot be generated when using the `MergeJoin` hint and the `TableDual` operator exists [#17016](https://github.com/pingcap/tidb/pull/17016) + - Fix the wrong capitalization of the values in the `Stmt_Type` column of the Statement Summary table [#17018](https://github.com/pingcap/tidb/pull/17018) + - Fix the issue that the `Permission Denied` error is reported because the service cannot be started when different users use the same `tmp-storage-path` [#16996](https://github.com/pingcap/tidb/pull/16996) + - Fix the issue that the `NotNullFlag` result type is incorrectly set for an expression whose result type is determined by multiple input columns, such as `CASE WHEN` [#16995](https://github.com/pingcap/tidb/pull/16995) + - Fix the issue that the green GC might leave unresolved locks when dirty stores exist [#16949](https://github.com/pingcap/tidb/pull/16949) + - Fix the issue that the green GC might leave unresolved locks when encountering a single key with multiple different locks [#16948](https://github.com/pingcap/tidb/pull/16948) + - Fix the issue of inserting a wrong value in the `INSERT VALUE` statement because a sub-query refers to a parent query column [#16952](https://github.com/pingcap/tidb/pull/16952) + - Fix the issue of incorrect results when using the `AND` operator on the `Float` value [#16666](https://github.com/pingcap/tidb/pull/16666) + - Fix the wrong information of the `WAIT_TIME` field in the expensive log [#16907](https://github.com/pingcap/tidb/pull/16907) + - Fix the issue that the `SELECT FOR UPDATE` statement cannot be recorded in the slow log in the pessimistic transaction mode [#16897](https://github.com/pingcap/tidb/pull/16897) + - Fix the wrong result that occurs when executing `SELECT DISTINCT` on a column of the `Enum` or `Set` type [#16892](https://github.com/pingcap/tidb/pull/16892) + - Fix the display error of `auto_random_base` in the `SHOW CREATE TABLE` statement [#16864](https://github.com/pingcap/tidb/pull/16864) + - Fix the incorrect value of `string_value` in the `WHERE` clause [#16559](https://github.com/pingcap/tidb/pull/16559) + - Fix the issue that the error message of the `GROUP BY` window function is inconsistent with that of MySQL [#16165](https://github.com/pingcap/tidb/pull/16165) + - Fix the issue that the `FLASH TABLE` statement fails to execute when the database name contains the uppercase letter [#17167](https://github.com/pingcap/tidb/pull/17167) + - Fix the inaccurate memory tracing of the Projection executor [#17118](https://github.com/pingcap/tidb/pull/17118) + - Fix the issue of incorrect time filtering of the `SLOW_QUERY` table in different time zones [#17164](https://github.com/pingcap/tidb/pull/17164) + - Fix the panic issue that occurs when `IndexMerge` is used with the virtual generated column [#17126](https://github.com/pingcap/tidb/pull/17126) + - Fix the capitalization issue of the `INSTR` and `LOCATE` function [#17068](https://github.com/pingcap/tidb/pull/17068) + - Fix the issue that the `tikv server timeout` error is reported frequently after the `tidb_allow_batch_cop` configuration is enabled [#17161](https://github.com/pingcap/tidb/pull/17161) + - Fix the issue that the result of performing `XOR` operation on the Float type is inconsistent with that of MySQL 8.0 [#16978](https://github.com/pingcap/tidb/pull/16978) + - Fix the issue that no error is reported when the unsupported `ALTER TABLE REORGANIZE PARTITION` statement is executed [#17178](https://github.com/pingcap/tidb/pull/17178) + - Fix the issue that an error is reported when `EXPLAIN FORMAT="dot" FOR CONNECTION ID` encounters an unsupported plan [#17160](https://github.com/pingcap/tidb/pull/17160) + - Fix the record issue of the prepared statement in the `EXEC_COUNT` column of the Statement Summary table [#17086](https://github.com/pingcap/tidb/pull/17086) + - Fix the issue that the value is not validated when setting the Statement Summary system variable [#17129](https://github.com/pingcap/tidb/pull/17129) + - Fix the issue that an error is reported if an overflow value is used to query the `UNSIGNED BIGINT` primary key when the plan cache is enabled [#17120](https://github.com/pingcap/tidb/pull/17120) + - Fix the incorrect QPS display by the machine instance and request type on the Grafana **TiDB Summary** dashboard [#17105](https://github.com/pingcap/tidb/pull/17105) + ++ TiKV + + - Fix the issue that many empty Regions are generated after restoration [#7632](https://github.com/tikv/tikv/pull/7632) + - Fix the panic issue of Raftstore when receiving out-of-order read index responses [#7370](https://github.com/tikv/tikv/pull/7370) + - Fix the issue that an invalid storage or coprocessor read pool configuration might not be rejected when the unified thread pool is enabled [#7513](https://github.com/tikv/tikv/pull/7513) + - Fix the panic issue of the `join` operation when the TiKV server is shut down [#7713](https://github.com/tikv/tikv/pull/7713) + - Fix the issue that no result is returned when searching TiKV slow logs via diagnostics API [#7776](https://github.com/tikv/tikv/pull/7776) + - Fix the issue that notable memory fragmentation is generated when the TiKV node is running for a long time [#7556](https://github.com/tikv/tikv/pull/7556) + - Fix the issue that the SQL statement fails to execute when an invalid date is stored [#7268](https://github.com/tikv/tikv/pull/7268) + - Fix the issue that the backup data cannot be restored from GCS [#7739](https://github.com/tikv/tikv/pull/7739) + - Fix the issue that KMS key ID is not validated during encryption at rest [#7719](https://github.com/tikv/tikv/pull/7719) + - Fix the underlying correctness issue of the Coprocessor in compilers of different architecture [#7714](https://github.com/tikv/tikv/pull/7714) [#7730](https://github.com/tikv/tikv/pull/7730) + - Fix the `snapshot ingestion` error when encrytion is enabled [#7815](https://github.com/tikv/tikv/pull/7815) + - Fix the `Invalid cross-device link` error when rewriting the configuration file [#7817](https://github.com/tikv/tikv/pull/7817) + - Fix the issue of wrong toml format when writing the configuration file to an empty file [#7817](https://github.com/tikv/tikv/pull/7817) + - Fix the issue that a destroyed peer in Raftstore can still process requests [#7836](https://github.com/tikv/tikv/pull/7836) + ++ PD + + - Fix the `404` issue that occurs when using the `region key` command in pd-ctl [#2399](https://github.com/pingcap/pd/pull/2399) + - Fix the issue that the monitor metrics of TSO and ID allocation are missing from the Grafana dashboard [#2405](https://github.com/pingcap/pd/pull/2405) + - Fix the issue that pd-recover is not included in the Docker image [#2406](https://github.com/pingcap/pd/pull/2406) + - Parse the path of data directory to an absolute path to fix the issue that TiDB Dashboard might not correctly display PD information [#2420](https://github.com/pingcap/pd/pull/2420) + - Fix the issue that there is no default output when using the `scheduler config shuffle-region-scheduler` command in pd-ctl [#2416](https://github.com/pingcap/pd/pull/2416) + ++ TiFlash + + - Fix the issue that the wrong information of used capacity is report in some scenarios + ++ Tools + + - TiDB Binlog + + - Fix the issue that data of the `mediumint` type is not processed when the downstream is Kafka [#962](https://github.com/pingcap/tidb-binlog/pull/962) + - Fix the issue that the reparo fails to parse the DDL statement when the database name in DDL is a keyword [#961](https://github.com/pingcap/tidb-binlog/pull/961) + + - TiCDC + + - Fix the issue of using the wrong time zone when the `TZ` environment variable is not set [#512](https://github.com/pingcap/ticdc/pull/512) + - Fix the issue that the owner does not clean up the resources when the server exits because some errors are not handled correctly [#528](https://github.com/pingcap/ticdc/pull/528) + - Fix the issue that TiCDC might be stuck when reconnecting to TiKV [#531](https://github.com/pingcap/ticdc/pull/531) + - Optimize the memory usage when initializing the table schema [#534](https://github.com/pingcap/ticdc/pull/534) + - Use the `watch` mode to monitor the replication status changes and perform quasi-real-time updates to reduce replication delay [#481](https://github.com/pingcap/ticdc/pull/481) + + + Backup & Restore (BR) + + - Fix the issue that inserting data might trigger the `duplicate entry` error after BR restores a table with the `auto_random` attribute [#241](https://github.com/pingcap/br/issues/241) diff --git a/releases/release-notes.md b/releases/release-notes.md index bcc892a7c41aa..0b95b710db92e 100644 --- a/releases/release-notes.md +++ b/releases/release-notes.md @@ -8,6 +8,7 @@ aliases: ['/docs/v3.1/releases/rn/'] ## 3.1 +- [3.1.2](/releases/release-3.1.2.md) - [3.1.1](/releases/release-3.1.1.md) - [3.1.0 GA](/releases/release-3.1.0-ga.md) - [3.1.0-rc](/releases/release-3.1.0-rc.md) From 16806d0766dd12ada23048f2c4e846539452b3c6 Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Thu, 4 Jun 2020 23:06:05 +0800 Subject: [PATCH 2/3] Delete release-4.0.0-rc.1.md --- releases/release-4.0.0-rc.1.md | 149 --------------------------------- 1 file changed, 149 deletions(-) delete mode 100644 releases/release-4.0.0-rc.1.md diff --git a/releases/release-4.0.0-rc.1.md b/releases/release-4.0.0-rc.1.md deleted file mode 100644 index a1cf03d50856d..0000000000000 --- a/releases/release-4.0.0-rc.1.md +++ /dev/null @@ -1,149 +0,0 @@ ---- -title: TiDB 4.0 RC.1 Release Notes -category: Releases -aliases: ['/docs/dev/releases/4.0.0-rc.1/'] ---- - -# TiDB 4.0 RC.1 Release Notes - -Release date: April 28, 2020 - -TiDB version: 4.0.0-rc.1 - -## Compatibility Changes - -+ TiKV - - - Disable the Hibernate Region feature by default [#7618](https://github.com/tikv/tikv/pull/7618) - -+ TiDB Binlog - - - Support the sequence DDL operation in Drainer [#950](https://github.com/pingcap/tidb-binlog/pull/950) - -## Important Bug Fixes - -+ TiDB - - - Fix the issue that the `INSERT ... ON DUPLICATE UPDATE` statement might be incorrectly executed on multiple rows in an explicit transaction because `MemBuffer` is not checked [#16689](https://github.com/pingcap/tidb/pull/16689) - - Fix the data inconsistency when locking duplicated keys on multiple rows [#16769](https://github.com/pingcap/tidb/pull/16769) - - Fix the panic that occurs when recycling the non-superbatch idle connection between TiDB instances [#16303](https://github.com/pingcap/tidb/pull/16303) - -+ TiKV - - - Fix the deadlock issue caused by the probe request from TiDB [#7540](https://github.com/tikv/tikv/pull/7540) - - Fix the issue that the minimum commit timestamp of a transaction might overflow which affects data correctness [#7638](https://github.com/tikv/tikv/pull/7638) - -+ TiFlash - - - Fix the data loss issue caused by the `rename table` operation when multiple data paths are configured - - Fix the issue that an error occurs when reading data from a merged Region - - Fix the issue that an error occurs when reading data from a Region that is in the abnormal state - - Modify the mapping of table names in TiFlash to correctly support `recover table`/`flashback table` - - Modify the storage path to fix the potential data loss issue that occurs when renaming the table - - Fix the potential panic of TiDB when Super Batch is enabled - - Modify the read mode in the online update scenario to improve the read performance - -+ TiCDC - - - Fix the replication failure that occurs because the schema internally maintained in TiCDC fails to correctly handle the timing issue of read and write operations [#438](https://github.com/pingcap/ticdc/pull/438) [#450](https://github.com/pingcap/ticdc/pull/450) [#478](https://github.com/pingcap/ticdc/pull/478) [#496](https://github.com/pingcap/ticdc/pull/496) - - Fix the bug that the TiKV client fails to correctly maintain the internal resources when encountering some TiKV anomalies [#499](https://github.com/pingcap/ticdc/pull/499) [#492](https://github.com/pingcap/ticdc/pull/492) - - Fix the bug that meta data is not correctly cleaned up and abnormally remains in the TiCDC nodes [#488](https://github.com/pingcap/ticdc/pull/488) [#504](https://github.com/pingcap/ticdc/pull/504) - - Fix the issue that the TiKV client fails to correctly handle the repeated sending of the prewrite event [#446](https://github.com/pingcap/ticdc/pull/446) - - Fix the issue that the TiKV client fails to correctly handle the redundant prewrite events received before the initialization [#448](https://github.com/pingcap/ticdc/pull/448) - -+ Backup & Restore (BR) - - - Fix the issue that checksum is still executed when checksum is disabled [#223](https://github.com/pingcap/br/pull/223) - - Fix the incremental replication failure when `auto-random` or `alter-pk` is enabled in TiDB [#230](https://github.com/pingcap/br/pull/230) [#231](https://github.com/pingcap/br/pull/231) - -## New Features - -+ TiDB - - - Support sending Coprocessor requests to TiFlash in batches [#16226](https://github.com/pingcap/tidb/pull/16226) - - Enable the Coprocessor cache feature by default [#16710](https://github.com/pingcap/tidb/pull/16710) - - Parse only the registered sections of a statement in the special comment of the SQL statement [#16157](https://github.com/pingcap/tidb/pull/16157) - - Support using the `SHOW CONFIG` syntax to show the configurations of PD and TiKV instances [#16475](https://github.com/pingcap/tidb/pull/16475) - -+ TiKV - - - Support using the user-owned KMS key for the server-side encryption when backing up data to S3 [#7630](https://github.com/tikv/tikv/pull/7630) - - Enable the load-based `split region` operation [#7623](https://github.com/tikv/tikv/pull/7623) - - Support validating common names [#7468](https://github.com/tikv/tikv/pull/7468) - - Add the file lock check to avoid starting multiple TiKV instances that are bound to the same address [#7447](https://github.com/tikv/tikv/pull/7447) - - Support AWS KMS in encryption at rest [#7465](https://github.com/tikv/tikv/pull/7465) - -+ Placement Driver (PD) - - - Remove `config manager` to let other components control their component configurations [#2349](https://github.com/pingcap/pd/pull/2349) - -+ TiFlash - - - Add the metrics report related to the read and write workloads of DeltaTree engine - - Cache the `handle` and `version` columns to reduce the disk I/O of a single read or write request - - Support pushing down the `fromUnixTime` and `dateFormat` functions - - Evaluate the global state according to the first disk and report this evaluation - - Add the graphics in Grafana related to the read and write workloads of DeltaTree engine - - Optimize the decimal data encoding in the `Chunk` codec - - Implement the gRPC API of Diagnostics (SQL diagnosis) to support querying system tables such as `INFORMATION_SCHEMA.CLUSTER_INFO` - -+ TiCDC - - - Support sending messages in batches in the Kafka sink module [#426](https://github.com/pingcap/ticdc/pull/426) - - Support file sorting in the processor [#477](https://github.com/pingcap/ticdc/pull/477) - - Support automatic `resolve lock` [#459](https://github.com/pingcap/ticdc/pull/459) - - Add the feature that automatically updates the TiCDC service GC safe point to PD [#487](https://github.com/pingcap/ticdc/pull/487) - - Add the timezone setting for data replication [#498](https://github.com/pingcap/ticdc/pull/498) - -+ Backup and Restore (BR) - - - Support configuring S3/GCS in the storage URL [#246](https://github.com/pingcap/br/pull/246) - -## Bug Fixes - -+ TiDB - -- Fix the issue that negative numbers cannot be correctly displayed in the system table because the columns are defined as unsigned [#16004](https://github.com/pingcap/tidb/pull/16004) -- Add a warning when the `use_index_merge` hint contains the invalid index name [#15960](https://github.com/pingcap/tidb/pull/15960) -- Forbid multiple instances of a TiDB server sharing the same temporary directory [#16026](https://github.com/pingcap/tidb/pull/16026) -- Fix the panic that occurs during the execution of `explain for connection` when the plan cache is enabled [#16285](https://github.com/pingcap/tidb/pull/16285) -- Fix the issue that the result of the `tidb_capture_plan_baselines` system variable is incorrectly displayed [#16048](https://github.com/pingcap/tidb/pull/16048) -- Fix the issue that the `group by` clause in the `prepare` statement is incorrectly parsed [#16377](https://github.com/pingcap/tidb/pull/16377) -- Fix the panic that might occur during the execution of the `analyze primary key` statement [#16081](https://github.com/pingcap/tidb/pull/16081) -- Fix the issue that the TiFlash store information in the `cluster_info` system table is wrong [#16024](https://github.com/pingcap/tidb/pull/16024) -- Fix the panic that might occur during the Index Merge process [#16360](https://github.com/pingcap/tidb/pull/16360) -- Fix the issue that an incorrect result might occur when the Index Merge reader reads the generated columns [#16359](https://github.com/pingcap/tidb/pull/16359) -- Fix the incorrect display of the default sequence value in the `show create table` statement [#16526](https://github.com/pingcap/tidb/pull/16526) -- Fix the issue that the `not-null` error is returned because the sequence is used as the default values of the primary key [#16510](https://github.com/pingcap/tidb/pull/16510) -- Fix the issue that no error is reported for a blocked SQL execution when TiKV continues to return the `StaleCommand` error [#16530](https://github.com/pingcap/tidb/pull/16530) -- Fix the issue that an error is reported if you only specify `COLLATE` when creating a database; add the missing `COLLATE` part in the result of `SHOW CREATE DATABASE` [#16540](https://github.com/pingcap/tidb/pull/16540) -- Fix the partition pruning failure when the plan cache is enabled [#16723](https://github.com/pingcap/tidb/pull/16723) -- Fix the bug that `PointGet` returns wrong results when handling the overflow [#16755](https://github.com/pingcap/tidb/pull/16755) -- Fix the issue that a wrong result is returned when querying the `slow_query` system table with equal time values [#16806](https://github.com/pingcap/tidb/pull/16806) - -+ TiKV - - - Address the OpenSSL security issue: CVE-2020-1967 [#7622](https://github.com/tikv/tikv/pull/7622) - - Avoid protecting rollback records written by `BatchRollback` to improve performance when many write conflicts exist in optimistic transactions [#7604](https://github.com/tikv/tikv/pull/7604) - - Fix the issue that the needless wake-up of transactions results in useless retry and performance reduction in heavy lock-race workloads [#7551](https://github.com/tikv/tikv/pull/7551) - - Fix the issue that the Region might be stuck in the multi-time merging [#7518](https://github.com/tikv/tikv/pull/7518) - - Fix the issue that the learner is not deleted when deleting the learner [#7518](https://github.com/tikv/tikv/pull/7518) - - Fix the issue that follower read might cause panic in raft-rs [#7408](https://github.com/tikv/tikv/pull/7408) - - Fix the bug that a SQL operation might fail because of the `group by constant` error [#7383](https://github.com/tikv/tikv/pull/7383) - - Fix the issue that an optimistic lock might block reads if the corresponding primary lock is a pessimistic lock [#7328](https://github.com/tikv/tikv/pull/7328) - -+ PD - - - Fix the issue that some APIs might fail in the TLS validation [#2363](https://github.com/pingcap/pd/pull/2363) - - Fix the issue that the configuration API cannot accept a configuration item with a prefix [#2354](https://github.com/pingcap/pd/pull/2354) - - Fix the issue that the `500` error is returned when the scheduler is not found [#2328](https://github.com/pingcap/pd/pull/2328) - - Fix the issue that the `404` error is returned for the `scheduler config balance-hot-region-scheduler list` command [#2321](https://github.com/pingcap/pd/pull/2321) - -+ TiFlash - - - Disable the coarse-grained index optimization for the storage engine - - Fix the bug that an exception is thrown when resolving locks for Regions and some locks need to be skipped - - Fix the null pointer exception (NPE) when collecting the Coprocessor statistics - - Fix the check for Region meta to ensure that the process of Region Split/Region Merge is correct - - Fix the issue that the message size exceeds the limit for gRPC because the size of Coprocessor response is not estimated - - Fix the handling of the `AdminCmdType::Split` command in TiFlash From e2797d5b8719ec26a9df1529e9b7eba841ea2b57 Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Thu, 4 Jun 2020 23:06:25 +0800 Subject: [PATCH 3/3] Delete release-4.0.0-rc.2.md --- releases/release-4.0.0-rc.2.md | 197 --------------------------------- 1 file changed, 197 deletions(-) delete mode 100644 releases/release-4.0.0-rc.2.md diff --git a/releases/release-4.0.0-rc.2.md b/releases/release-4.0.0-rc.2.md deleted file mode 100644 index b9c7227e0e6bc..0000000000000 --- a/releases/release-4.0.0-rc.2.md +++ /dev/null @@ -1,197 +0,0 @@ ---- -title: TiDB 4.0 RC.2 Release Notes -category: Releases ---- - -# TiDB 4.0 RC.2 Release Notes - -Release date: May 15, 2020 - -TiDB version: 4.0.0-rc.2 - -## Compatibility Changes - -+ TiDB - - - Remove the size limit for a single transaction (100 MB) when TiDB Binlog is enabled. Now the size limit for a transaction is 10 GB. However, if TiDB Binlog is enabled and the downstream is Kafka, configure the `txn-total-size-limit` parameter according to the message size limit of 1 GB in Kafka [#16941](https://github.com/pingcap/tidb/pull/16941) - - Change the behavior from querying the default time range to returning an error and requesting a specified time range if the time range is not specified when querying the `CLUSTER_LOG` table [#17003](https://github.com/pingcap/tidb/pull/17003) - - If the unsupported `sub-partition` or `linear hash` option is specified when creating the partitioned table using the `CREATE TABLE` statement, the normal table is created rather than the partitioned table with the options ignored [#17197](https://github.com/pingcap/tidb/pull/17197) - -+ TiKV - - - Move the encryption-related configuration to the security-related configuration, which means changing `[encryption]` in the TiKV configuration file to `[security.encryption]` [#7810](https://github.com/tikv/tikv/pull/7810) - -+ Tools - - - TiDB Lightning - - - Change the default SQL mode to `ONLY_FULL_GROUP_BY,NO_AUTO_CREATE_USER` when importing data to improve compatibility [#316](https://github.com/pingcap/tidb-lightning/pull/316) - - Disallow accessing the PD or TiKV port in the tidb-backend mode [#312](https://github.com/pingcap/tidb-lightning/pull/312) - - Print the log information to the tmp file by default, and print the path of the tmp file when TiDB Lightning is started [#313](https://github.com/pingcap/tidb-lightning/pull/313) - -## Important Bug Fixes - -+ TiDB - - - Fix the issue that the wrong partition is chosen when the `WHERE` clause has only one equivalent condition [#17054](https://github.com/pingcap/tidb/pull/17054) - - Fix the issue of wrong results caused by building the incorrect Index range when the `WHERE` clause only contains the string column [#16660](https://github.com/pingcap/tidb/pull/16660) - - Fix the panic issue that occurs when executing the `PointGet` query in the transaction after the `DELETE` operation [#16991](https://github.com/pingcap/tidb/pull/16991) - - Fix the issue that the GC worker might encounter the deadlock when an error occurs [#16915](https://github.com/pingcap/tidb/pull/16915) - - Avoid the unnecessary RegionMiss retry when the TiKV response is slow but not down [#16956](https://github.com/pingcap/tidb/pull/16956) - - Change the log level in the client in the handshake phase of the MySQL protocol to `DEBUG` to solve the problem that interferes with log output [#16881](https://github.com/pingcap/tidb/pull/16881) - - Fix the issue that the Region is not pre-split according to the `PRE_SPLIT_REGIONS` information defined by the table after the `TRUNCATE` operation [#16776](https://github.com/pingcap/tidb/pull/16776) - - Fix the issue of soaring goroutine caused by retry when TiKV is unavailable during the second phase of the two-phase commit [#16876](https://github.com/pingcap/tidb/pull/16876) - - Fix the panic issue of statement execution when some expressions cannot be pushed down [#16869](https://github.com/pingcap/tidb/pull/16869) - - Fix the wrong execution result of the IndexMerge operation on the partitioned table [#17124](https://github.com/pingcap/tidb/pull/17124) - - Fix the performance reduction of `wide_table` caused by the mutex contention of Memory Trackers [#17234](https://github.com/pingcap/tidb/pull/17234) - -+ TiFlash - - - Fix the issue that the system cannot start normally after the upgrade if the name of the database or table contains special characters - -## New Features - -+ TiDB - - - Add support for the `BACKUP` and `RESTORE` commands to back up and restore data [#16960](https://github.com/pingcap/tidb/pull/16960) - - Support pre-checking the data volume in a single Region before commit and pre-splitting the Region when the data volume exceeds the threshold [#16959](https://github.com/pingcap/tidb/pull/16959) - - Add the new `LAST_PLAN_FROM_CACHE` variable with a `Session` scope to indicate whether the last executed statement hits the plan cache [#16830](https://github.com/pingcap/tidb/pull/16830) - - Support recording the `Cop_time` information in slow log and the `SLOW_LOG` table [#16904](https://github.com/pingcap/tidb/pull/16904) - - Add in Grafana more metrics that monitor the memory status of Go Runtime [#16928](https://github.com/pingcap/tidb/pull/16928) - - Support outputting the `forUpdateTS` and `Read Consistency` isolation level information in General Log [#16946](https://github.com/pingcap/tidb/pull/16946) - - Support collapsing duplicate requests of resolving locks in TiKV Region [#16925](https://github.com/pingcap/tidb/pull/16925) - - Support using the `SET CONFIG` statement to modify the configuration of PD/TiKV nodes [#16853](https://github.com/pingcap/tidb/pull/16853) - - Support the `auto_random` option in the `CREATE TABLE` statement [#16813](https://github.com/pingcap/tidb/pull/16813) - - Allocate TaskID for the DistSQL request to help TiKV better schedule and process requests [#17155](https://github.com/pingcap/tidb/pull/17155) - - Support displaying the version information of the TiDB server after logging into the MySQL client [#17187](https://github.com/pingcap/tidb/pull/17187) - - Support the `ORDER BY` clause in the `GROUP_CONCAT` function [#16990](https://github.com/pingcap/tidb/pull/16990) - - Support displaying the `Plan_from_cache` information in slow log to indicate whether the statement hits plan cache [#17121](https://github.com/pingcap/tidb/pull/17121) - - Add the feature that TiDB Dashboard can display the capacity information of TiFlash multi-disk deployment - - Add the feature of querying the TiFlash log using SQL statements in Dashboard - -+ TiKV - - - Support encryption debugging for tikv-ctl, so that tikv-ctl can be used to operate and manage the cluster when the encryption storage is enabled [#7698](https://github.com/tikv/tikv/pull/7698) - - Support encrypting the lock column family in snapshots [#7712](https://github.com/tikv/tikv/pull/7712) - - Use the heatmap in the Grafana dashboard for Raftstore latency summary to better diagnose the jitter issue [#7717](https://github.com/tikv/tikv/pull/7717) - - Support setting the upper limit for the size of the gRPC message [#7824](https://github.com/tikv/tikv/pull/7824) - - Add in Grafana dashboard the encryption-related monitoring metrics [#7827](https://github.com/tikv/tikv/pull/7827) - - Support Application-Layer Protocol Negotiation (ALPN) [#7825](https://github.com/tikv/tikv/pull/7825) - - Add more statistics about Titan [#7818](https://github.com/tikv/tikv/pull/7818) - - Support using the task ID provided by the client as the identifier in the unified read pool to avoid that the priority of a task is lowered by another task in the same transaction [#7814](https://github.com/tikv/tikv/pull/7814) - - Improve the performance of the `batch insert` request [#7718](https://github.com/tikv/tikv/pull/7718) - -+ PD - - - Eliminate the speed limit of removing peers when making a node offline [#2372](https://github.com/pingcap/pd/pull/2372) - -+ TiFlash - - - Change the name of the Count graph of **Read Index** in Grafana to **Ops** - - Optimize the data for opening file descriptors when the system load is low to reduce system resource consumption - - Add the capacity-related configuration parameter to limit the the data storage capacity - -+ Tools - - - TiDB Lightning - - - Add the `fetch-mode` sub-command in tidb-lightning-ctl to print the TiKV cluster mode [#287](https://github.com/pingcap/tidb-lightning/pull/287) - - - TiCDC - - - Support managing the replication task by using `cdc cli` (changefeed) [#546](https://github.com/pingcap/ticdc/pull/546) - - - Backup & Restore (BR) - - - Support automatically adjusting GC time during backup [#257](https://github.com/pingcap/br/pull/257) - - Adjust PD parameters when restoring data to speed up the restoration [#198](https://github.com/pingcap/br/pull/198) - -## Bug Fixes - -+ TiDB - - - Improve the logic that determines whether to use vectorization for expression execution in multiple operators [#16383](https://github.com/pingcap/tidb/pull/16383) - - Fix the issue that the `IndexMerge` hint fails to check the database name correctly [#16932](https://github.com/pingcap/tidb/pull/16932) - - Forbid truncating the sequence object [#17037](https://github.com/pingcap/tidb/pull/17037) - - Fix the issue that the `INSERT`/`UPDATE`/`ANALYZE`/`DELETE` statements can be performed on a sequence object [#16957](https://github.com/pingcap/tidb/pull/16957) - - Fix the issue that the internal SQL statements in the bootstrap phase are not correctly marked as internal queries in the Statement Summary table [#17062](https://github.com/pingcap/tidb/pull/17062) - - Fix the error that occurs when a filter condition supported by TiFlash but not by TiKV is pushed down to the `IndexLookupJoin` operator [#17036](https://github.com/pingcap/tidb/pull/17036) - - Fix the concurrency issue of the `LIKE` expression that might occur after the collation is enabled [#16997](https://github.com/pingcap/tidb/pull/16997) - - Fix the issue that the `LIKE` function cannot correctly build the `Range` query index after the collation is enabled [#16783](https://github.com/pingcap/tidb/pull/16783) - - Fix the issue that a wrong value is returned when executing `@@LAST_PLAN_FROM_CACHE` after the `Plan Cache` statement is triggered [#16831](https://github.com/pingcap/tidb/pull/16831) - - Fix the issue that `TableFilter` on the index is missed when calculating candidate paths for `IndexMerge` [#16947](https://github.com/pingcap/tidb/pull/16947) - - Fix the issue that a physical query plan cannot be generated when using the `MergeJoin` hint and the `TableDual` operator exists [#17016](https://github.com/pingcap/tidb/pull/17016) - - Fix the wrong capitalization of the values in the `Stmt_Type` column of the Statement Summary table [#17018](https://github.com/pingcap/tidb/pull/17018) - - Fix the issue that the `Permission Denied` error is reported because the service cannot be started when different users use the same `tmp-storage-path` [#16996](https://github.com/pingcap/tidb/pull/16996) - - Fix the issue that the `NotNullFlag` result type is incorrectly set for an expression whose result type is determined by multiple input columns, such as `CASE WHEN` [#16995](https://github.com/pingcap/tidb/pull/16995) - - Fix the issue that the green GC might leave unresolved locks when dirty stores exist [#16949](https://github.com/pingcap/tidb/pull/16949) - - Fix the issue that the green GC might leave unresolved locks when encountering a single key with multiple different locks [#16948](https://github.com/pingcap/tidb/pull/16948) - - Fix the issue of inserting a wrong value in the `INSERT VALUE` statement because a sub-query refers to a parent query column [#16952](https://github.com/pingcap/tidb/pull/16952) - - Fix the issue of incorrect results when using the `AND` operator on the `Float` value [#16666](https://github.com/pingcap/tidb/pull/16666) - - Fix the wrong information of the `WAIT_TIME` field in the expensive log [#16907](https://github.com/pingcap/tidb/pull/16907) - - Fix the issue that the `SELECT FOR UPDATE` statement cannot be recorded in the slow log in the pessimistic transaction mode [#16897](https://github.com/pingcap/tidb/pull/16897) - - Fix the wrong result that occurs when executing `SELECT DISTINCT` on a column of the `Enum` or `Set` type [#16892](https://github.com/pingcap/tidb/pull/16892) - - Fix the display error of `auto_random_base` in the `SHOW CREATE TABLE` statement [#16864](https://github.com/pingcap/tidb/pull/16864) - - Fix the incorrect value of `string_value` in the `WHERE` clause [#16559](https://github.com/pingcap/tidb/pull/16559) - - Fix the issue that the error message of the `GROUP BY` window function is inconsistent with that of MySQL [#16165](https://github.com/pingcap/tidb/pull/16165) - - Fix the issue that the `FLASH TABLE` statement fails to execute when the database name contains the uppercase letter [#17167](https://github.com/pingcap/tidb/pull/17167) - - Fix the inaccurate memory tracing of the Projection executor [#17118](https://github.com/pingcap/tidb/pull/17118) - - Fix the issue of incorrect time filtering of the `SLOW_QUERY` table in different time zones [#17164](https://github.com/pingcap/tidb/pull/17164) - - Fix the panic issue that occurs when `IndexMerge` is used with the virtual generated column [#17126](https://github.com/pingcap/tidb/pull/17126) - - Fix the capitalization issue of the `INSTR` and `LOCATE` function [#17068](https://github.com/pingcap/tidb/pull/17068) - - Fix the issue that the `tikv server timeout` error is reported frequently after the `tidb_allow_batch_cop` configuration is enabled [#17161](https://github.com/pingcap/tidb/pull/17161) - - Fix the issue that the result of performing `XOR` operation on the Float type is inconsistent with that of MySQL 8.0 [#16978](https://github.com/pingcap/tidb/pull/16978) - - Fix the issue that no error is reported when the unsupported `ALTER TABLE REORGANIZE PARTITION` statement is executed [#17178](https://github.com/pingcap/tidb/pull/17178) - - Fix the issue that an error is reported when `EXPLAIN FORMAT="dot" FOR CONNECTION ID` encounters an unsupported plan [#17160](https://github.com/pingcap/tidb/pull/17160) - - Fix the record issue of the prepared statement in the `EXEC_COUNT` column of the Statement Summary table [#17086](https://github.com/pingcap/tidb/pull/17086) - - Fix the issue that the value is not validated when setting the Statement Summary system variable [#17129](https://github.com/pingcap/tidb/pull/17129) - - Fix the issue that an error is reported if an overflow value is used to query the `UNSIGNED BIGINT` primary key when the plan cache is enabled [#17120](https://github.com/pingcap/tidb/pull/17120) - - Fix the incorrect QPS display by the machine instance and request type on the Grafana **TiDB Summary** dashboard [#17105](https://github.com/pingcap/tidb/pull/17105) - -+ TiKV - - - Fix the issue that many empty Regions are generated after restoration [#7632](https://github.com/tikv/tikv/pull/7632) - - Fix the panic issue of Raftstore when receiving out-of-order read index responses [#7370](https://github.com/tikv/tikv/pull/7370) - - Fix the issue that an invalid storage or coprocessor read pool configuration might not be rejected when the unified thread pool is enabled [#7513](https://github.com/tikv/tikv/pull/7513) - - Fix the panic issue of the `join` operation when the TiKV server is shut down [#7713](https://github.com/tikv/tikv/pull/7713) - - Fix the issue that no result is returned when searching TiKV slow logs via diagnostics API [#7776](https://github.com/tikv/tikv/pull/7776) - - Fix the issue that notable memory fragmentation is generated when the TiKV node is running for a long time [#7556](https://github.com/tikv/tikv/pull/7556) - - Fix the issue that the SQL statement fails to execute when an invalid date is stored [#7268](https://github.com/tikv/tikv/pull/7268) - - Fix the issue that the backup data cannot be restored from GCS [#7739](https://github.com/tikv/tikv/pull/7739) - - Fix the issue that KMS key ID is not validated during encryption at rest [#7719](https://github.com/tikv/tikv/pull/7719) - - Fix the underlying correctness issue of the Coprocessor in compilers of different architecture [#7714](https://github.com/tikv/tikv/pull/7714) [#7730](https://github.com/tikv/tikv/pull/7730) - - Fix the `snapshot ingestion` error when encrytion is enabled [#7815](https://github.com/tikv/tikv/pull/7815) - - Fix the `Invalid cross-device link` error when rewriting the configuration file [#7817](https://github.com/tikv/tikv/pull/7817) - - Fix the issue of wrong toml format when writing the configuration file to an empty file [#7817](https://github.com/tikv/tikv/pull/7817) - - Fix the issue that a destroyed peer in Raftstore can still process requests [#7836](https://github.com/tikv/tikv/pull/7836) - -+ PD - - - Fix the `404` issue that occurs when using the `region key` command in pd-ctl [#2399](https://github.com/pingcap/pd/pull/2399) - - Fix the issue that the monitor metrics of TSO and ID allocation are missing from the Grafana dashboard [#2405](https://github.com/pingcap/pd/pull/2405) - - Fix the issue that pd-recover is not included in the Docker image [#2406](https://github.com/pingcap/pd/pull/2406) - - Parse the path of data directory to an absolute path to fix the issue that TiDB Dashboard might not correctly display PD information [#2420](https://github.com/pingcap/pd/pull/2420) - - Fix the issue that there is no default output when using the `scheduler config shuffle-region-scheduler` command in pd-ctl [#2416](https://github.com/pingcap/pd/pull/2416) - -+ TiFlash - - - Fix the issue that the wrong information of used capacity is report in some scenarios - -+ Tools - - - TiDB Binlog - - - Fix the issue that data of the `mediumint` type is not processed when the downstream is Kafka [#962](https://github.com/pingcap/tidb-binlog/pull/962) - - Fix the issue that the reparo fails to parse the DDL statement when the database name in DDL is a keyword [#961](https://github.com/pingcap/tidb-binlog/pull/961) - - - TiCDC - - - Fix the issue of using the wrong time zone when the `TZ` environment variable is not set [#512](https://github.com/pingcap/ticdc/pull/512) - - Fix the issue that the owner does not clean up the resources when the server exits because some errors are not handled correctly [#528](https://github.com/pingcap/ticdc/pull/528) - - Fix the issue that TiCDC might be stuck when reconnecting to TiKV [#531](https://github.com/pingcap/ticdc/pull/531) - - Optimize the memory usage when initializing the table schema [#534](https://github.com/pingcap/ticdc/pull/534) - - Use the `watch` mode to monitor the replication status changes and perform quasi-real-time updates to reduce replication delay [#481](https://github.com/pingcap/ticdc/pull/481) - - + Backup & Restore (BR) - - - Fix the issue that inserting data might trigger the `duplicate entry` error after BR restores a table with the `auto_random` attribute [#241](https://github.com/pingcap/br/issues/241)