diff --git a/TOC.md b/TOC.md index 2f693f5fea6ae..a7210da81210c 100644 --- a/TOC.md +++ b/TOC.md @@ -539,6 +539,7 @@ + Release Notes + [All Releases](/releases/release-notes.md) + v5.0 + + [5.0.3](/releases/release-5.0.3.md) + [5.0.2](/releases/release-5.0.2.md) + [5.0.1](/releases/release-5.0.1.md) + [5.0 GA](/releases/release-5.0.0.md) diff --git a/download-ecosystem-tools.md b/download-ecosystem-tools.md index de438add13ae6..fd2403b5459bf 100644 --- a/download-ecosystem-tools.md +++ b/download-ecosystem-tools.md @@ -17,7 +17,7 @@ If you want to download the latest version of [TiDB Binlog](/tidb-binlog/tidb-bi > **Note:** > -> `{version}` in the above download link indicates the version number of TiDB. For example, the download link for `v5.0.2` is `https://download.pingcap.org/tidb-v5.0.2-linux-amd64.tar.gz`. +> `{version}` in the above download link indicates the version number of TiDB. For example, the download link for `v5.0.3` is `https://download.pingcap.org/tidb-v5.0.3-linux-amd64.tar.gz`. ## TiDB Lightning @@ -29,7 +29,7 @@ Download [TiDB Lightning](/tidb-lightning/tidb-lightning-overview.md) by using t > **Note:** > -> `{version}` in the above download link indicates the version number of TiDB Lightning. For example, the download link for `v5.0.2` is `https://download.pingcap.org/tidb-toolkit-v5.0.2-linux-amd64.tar.gz`. +> `{version}` in the above download link indicates the version number of TiDB Lightning. For example, the download link for `v5.0.3` is `https://download.pingcap.org/tidb-toolkit-v5.0.3-linux-amd64.tar.gz`. ## BR (backup and restore) @@ -41,7 +41,7 @@ Download [BR](/br/backup-and-restore-tool.md) by using the download link in the > **Note:** > -> `{version}` in the above download link indicates the version number of BR. For example, the download link for `v5.0.2` is `http://download.pingcap.org/tidb-toolkit-v5.0.2-linux-amd64.tar.gz`. +> `{version}` in the above download link indicates the version number of BR. For example, the download link for `v5.0.3` is `http://download.pingcap.org/tidb-toolkit-v5.0.3-linux-amd64.tar.gz`. ## TiDB DM (Data Migration) @@ -65,7 +65,7 @@ Download [Dumpling](/dumpling-overview.md) from the links below: > **Note:** > -> The `{version}` in the download link is the version number of Dumpling. For example, the link for downloading the `v5.0.2` version of Dumpling is `https://download.pingcap.org/tidb-toolkit-v5.0.2-linux-amd64.tar.gz`. You can view the currently released versions in [Dumpling Releases](https://github.com/pingcap/dumpling/releases). +> The `{version}` in the download link is the version number of Dumpling. For example, the link for downloading the `v5.0.3` version of Dumpling is `https://download.pingcap.org/tidb-toolkit-v5.0.3-linux-amd64.tar.gz`. You can view the currently released versions in [Dumpling Releases](https://github.com/pingcap/dumpling/releases). > > Dumpling supports arm64 linux. You can replace `amd64` in the download link with `arm64`, which means the `arm64` version of Dumpling. diff --git a/pd-recover.md b/pd-recover.md index 94107ac4c3cb8..0a4ab1cb00c4b 100644 --- a/pd-recover.md +++ b/pd-recover.md @@ -26,7 +26,7 @@ To download the latest version of PD Recover, directly download the TiDB package > **Note:** > -> `{version}` indicates the version number of TiDB. For example, if `{version}` is `v5.0.2`, the package download link is `https://download.pingcap.org/tidb-v5.0.2-linux-amd64.tar.gz`. +> `{version}` indicates the version number of TiDB. For example, if `{version}` is `v5.0.3`, the package download link is `https://download.pingcap.org/tidb-v5.0.3-linux-amd64.tar.gz`. ## Quick Start diff --git a/production-deployment-using-tiup.md b/production-deployment-using-tiup.md index 11215315ddb41..45b99b7676807 100644 --- a/production-deployment-using-tiup.md +++ b/production-deployment-using-tiup.md @@ -260,13 +260,13 @@ Then execute the `deploy` command to deploy the TiDB cluster: {{< copyable "shell-regular" >}} ```shell -tiup cluster deploy tidb-test v5.0.2 ./topology.yaml --user root [-p] [-i /home/root/.ssh/gcp_rsa] +tiup cluster deploy tidb-test v5.0.3 ./topology.yaml --user root [-p] [-i /home/root/.ssh/gcp_rsa] ``` In the above command: - The name of the deployed TiDB cluster is `tidb-test`. -- You can see the latest supported versions by running `tiup list tidb`. This document takes `v5.0.2` as an example. +- You can see the latest supported versions by running `tiup list tidb`. This document takes `v5.0.3` as an example. - The initialization configuration file is `topology.yaml`. - `--user root`: Log in to the target machine through the `root` key to complete the cluster deployment, or you can use other users with `ssh` and `sudo` privileges to complete the deployment. - `[-i]` and `[-p]`: optional. If you have configured login to the target machine without password, these parameters are not required. If not, choose one of the two parameters. `[-i]` is the private key of the `root` user (or other users specified by `--user`) that has access to the target machine. `[-p]` is used to input the user password interactively. @@ -288,7 +288,7 @@ TiUP supports managing multiple TiDB clusters. The command above outputs informa Starting /home/tidb/.tiup/components/cluster/v1.3.0/cluster list Name User Version Path PrivateKey ---- ---- ------- ---- ---------- -tidb-test tidb v5.0.2 /home/tidb/.tiup/storage/cluster/clusters/tidb-test /home/tidb/.tiup/storage/cluster/clusters/tidb-test/ssh/id_rsa +tidb-test tidb v5.0.3 /home/tidb/.tiup/storage/cluster/clusters/tidb-test /home/tidb/.tiup/storage/cluster/clusters/tidb-test/ssh/id_rsa ``` ## Step 6: Check the status of the deployed TiDB cluster diff --git a/quick-start-with-tidb.md b/quick-start-with-tidb.md index 70ac48c806f97..3dacbf31ae005 100644 --- a/quick-start-with-tidb.md +++ b/quick-start-with-tidb.md @@ -55,10 +55,10 @@ As a distributed system, a basic TiDB test cluster usually consists of 2 TiDB in {{< copyable "shell-regular" >}} ```shell - tiup playground v5.0.2 --db 2 --pd 3 --kv 3 --monitor + tiup playground v5.0.3 --db 2 --pd 3 --kv 3 --monitor ``` - The command downloads a version cluster to the local machine and starts it, such as v5.0.2. `--monitor` means that the monitoring component is also deployed. + The command downloads a version cluster to the local machine and starts it, such as v5.0.3. `--monitor` means that the monitoring component is also deployed. To view the latest version, run `tiup list tidb`. @@ -160,10 +160,10 @@ As a distributed system, a basic TiDB test cluster usually consists of 2 TiDB in {{< copyable "shell-regular" >}} ```shell - tiup playground v5.0.2 --db 2 --pd 3 --kv 3 --monitor + tiup playground v5.0.3 --db 2 --pd 3 --kv 3 --monitor ``` - The command downloads a version cluster to the local machine and starts it, such as v5.0.2. `--monitor` means that the monitoring component is also deployed. + The command downloads a version cluster to the local machine and starts it, such as v5.0.3. `--monitor` means that the monitoring component is also deployed. To view the latest version, run `tiup list tidb`. diff --git a/releases/release-5.0.3.md b/releases/release-5.0.3.md new file mode 100644 index 0000000000000..dd0cd804340e2 --- /dev/null +++ b/releases/release-5.0.3.md @@ -0,0 +1,144 @@ +--- +title: TiDB 5.0.3 Release Notes +--- + +# TiDB 5.0.3 Release Notes + +Release date: July 2, 2021 + +TiDB version: 5.0.3 + +## Compatibility Changes + ++ TiDB + + - After a v4.0 cluster is upgraded to v5.0 or a later version (dev or v5.1), the default value of the `tidb_multi_statement_mode` variable changes from `WARN` to `OFF` + - TiDB is now compatible with MySQL 5.7's noop variable `innodb_default_row_format`. Setting this variable will have no effect. [#23541](https://github.com/pingcap/tidb/issues/23541) + +## Feature Enhancements + ++ Tools + + + TiCDC + + - Add an HTTP API to get the changefeed information and the health information of the node [#1955](https://github.com/pingcap/ticdc/pull/1955) + - Add the SASL/SCRAM support for the kafka sink [#1942](https://github.com/pingcap/ticdc/pull/1942) + - Make TiCDC support `--data-dir` at the server level [#2070](https://github.com/pingcap/ticdc/pull/2070) + +## Improvements + ++ TiDB + + - Support pushing down the `TopN` operator to TiFlash [#25162](https://github.com/pingcap/tidb/pull/25162) + - Support pushing down the built-in function `json_unquote()` to TiKV [#24415](https://github.com/pingcap/tidb/issues/24415) + - Support removing the union branch from the dual table [#25614](https://github.com/pingcap/tidb/pull/25614) + - Support pushing down the built-in function `replace()` to TiFlash [#25565](https://github.com/pingcap/tidb/pull/25565) + - Support pushing down the built-in functions `unix_timestamp()`, `concat()`, `year()`, `day()`, `datediff()`, `datesub()`, and `concat_ws()` to TiFlash [#25564](https://github.com/pingcap/tidb/pull/25564) + - Optimize the aggregate operator's cost factor [#25241](https://github.com/pingcap/tidb/pull/25241) + - Support pushing down the `Limit` operator to TiFlash [#25159](https://github.com/pingcap/tidb/pull/25159) + - Support pushing down the built-in function `str_to_date` to TiFlash [#25148](https://github.com/pingcap/tidb/pull/25148) + - Allow the MPP outer join to choose the build table based on the table row count [#25142](https://github.com/pingcap/tidb/pull/25142) + - Support pushing down the built-in functions `left()`, `right()`, and `abs()` to TiFlash [#25133](https://github.com/pingcap/tidb/pull/25133) + - Support pushing down the Broadcast Cartesian join to TiFlash [#25106](https://github.com/pingcap/tidb/pull/25106) + - Support pushing down the `Union All` operator to TiFlash [#25051](https://github.com/pingcap/tidb/pull/25051) + - Support balancing the MPP query workload among different TiFlash nodes based on Regions [#24724](https://github.com/pingcap/tidb/pull/24724) + - Support invalidating stale Regions in the cache after the MPP query is executed [#24432](https://github.com/pingcap/tidb/pull/24432) + - Improve the MySQL compatibility of the built-in function `str_to_date` for the format specifiers `%b/%M/%r/%T` [#25767](https://github.com/pingcap/tidb/pull/25767) + ++ TiKV + + - Limit the TiCDC sink's memory consumption [#10305](https://github.com/tikv/tikv/pull/10305) + - Add the memory-bounded upper limit for the TiCDC old value cache [#10313](https://github.com/tikv/tikv/pull/10313) + ++ PD + + - Update TiDB Dashboard to v2021.06.15.1 [#3798](https://github.com/pingcap/pd/pull/3798) + ++ TiFlash + + - Support casting the `STRING` type to the `DOUBLE` type + - Support the `STR_TO_DATE()` function + - Optimize the non-joined data in right outer join using multiple threads + - Support the Cartesian join + - Support the `LEFT()` and `RIGHT()` functions + - Support automatically invalidating stale Regions in MPP queries + - Support the `ABS()` function + ++ Tools + + + TiCDC + + - Refine gRPC's reconnection logic and increase the KV client's throughput [#1586](https://github.com/pingcap/ticdc/issues/1586) [#1501](https://github.com/pingcap/ticdc/issues/1501#issuecomment-820027078) [#1682](https://github.com/pingcap/ticdc/pull/1682) [#1393](https://github.com/pingcap/ticdc/issues/1393) [#1847](https://github.com/pingcap/ticdc/pull/1847) [#1905](https://github.com/pingcap/ticdc/issues/1905) [#1904](https://github.com/pingcap/ticdc/issues/1904) + - Make the sorter I/O errors more user-friendly + +## Bug Fixes + ++ TiDB + + - Fix the issue that an incorrect result is returned when using merge join on the `SET` type column [#25669](https://github.com/pingcap/tidb/issues/25669) + - Fix the data corruption issue in the `IN` expression's arguments [#25591](https://github.com/pingcap/tidb/issues/25591) + - Avoid the sessions of GC being affected by global variables [#24976](https://github.com/pingcap/tidb/issues/24976) + - Fix the panic issue that occurs when using `limit` in the window function queries [#25344](https://github.com/pingcap/tidb/issues/25344) + - Fix the wrong value returned when querying a partitioned table using `Limit` [#24636](https://github.com/pingcap/tidb/issues/24636) + - Fix the issue that `IFNULL` does not correctly take effect on the `ENUM` or `SET` type column [#24944](https://github.com/pingcap/tidb/issues/24944) + - Fix the wrong results caused by changing the `count` in the join subqueries to `first_row` [#24865](https://github.com/pingcap/tidb/issues/24865) + - Fix the query hang issue that occurs when `ParallelApply` is used under the `TopN` operator [#24930](https://github.com/pingcap/tidb/issues/24930) + - Fix the issue that more results than expected are returned when executing SQL statements using multi-column prefix indexes [#24356](https://github.com/pingcap/tidb/issues/24356) + - Fix the issue that the `<=>` operator cannot correctly take effect [#24477](https://github.com/pingcap/tidb/issues/24477) + - Fix the data race issue of the parallel `Apply` operator [#23280](https://github.com/pingcap/tidb/issues/23280) + - Fix the issue that the `index out of range` error is reported when sorting the IndexMerge results of the PartitionUnion operator [#23919](https://github.com/pingcap/tidb/issues/23919) + - Fix the issue that setting the `tidb_snapshot` variable to an unexpectedly large value might damage the transaction isolation [#25680](https://github.com/pingcap/tidb/issues/25680) + - Fix the issue that the ODBC-styled constant (for example, `{d '2020-01-01'}`) cannot be used as the expression [#25531](https://github.com/pingcap/tidb/issues/25531) + - Fix the issue that `SELECT DISTINCT` converted to `Batch Get` causes incorrect results [#25320](https://github.com/pingcap/tidb/issues/25320) + - Fix the issue that backing off queries from TiFlash to TiKV cannot be triggered [#23665](https://github.com/pingcap/tidb/issues/23665) [#24421](https://github.com/pingcap/tidb/issues/24421) + - Fix the `index-out-of-range` error that occurs when checking `only_full_group_by` [#23839](https://github.com/pingcap/tidb/issues/23839)) + - Fix the issue that the result of index join in correlated subqueries is wrong [#25799](https://github.com/pingcap/tidb/issues/25799) + ++ TiKV + + - Fix the wrong `tikv_raftstore_hibernated_peer_state` metric [#10330](https://github.com/tikv/tikv/issues/10330) + - Fix the wrong arguments type of the `json_unquote()` function in the coprocessor [#10176](https://github.com/tikv/tikv/issues/10176) + - Skip clearing callback during graceful shutdown to avoid breaking ACID in some cases [#10353](https://github.com/tikv/tikv/issues/10353) [#10307](https://github.com/tikv/tikv/issues/10307) + - Fix a bug that the read index is shared for replica reads on a Leader [#10347](https://github.com/tikv/tikv/issues/10347) + - Fix the wrong function that casts `DOUBLE` to `DOUBLE` [#25200](https://github.com/pingcap/tidb/issues/25200) ++ PD + + - Fix the data race issue that occurs when loading TTL configurations after the scheduler is started [#3771](https://github.com/tikv/pd/issues/3771) + - Fix a bug that the `is_learner` field of the `TIKV_REGION_PEERS` table in TiDB is incorrect [#3372](https://github.com/tikv/pd/issues/3372) [#24293](https://github.com/pingcap/tidb/issues/24293) + - Fix the issue that when all TiKV nodes in a zone are offline or down, PD does not schedule replicas to other zones [#3705](https://github.com/tikv/pd/issues/3705) + - Fix the issue that PD might get panic after the scatter Region scheduler is added [#3762](https://github.com/tikv/pd/pull/3762) + ++ TiFlash + + - Fix the issue that TiFlash keeps restarting because of the split failure + - Fix the potential issue that TiFlash cannot delete the delta data + - Fix a bug that TiFlash adds wrong padding for non-binary characters in the `CAST` function + - Fix the issue of incorrect results when handling aggregation queries with complex `GROUP BY` columns + - Fix the TiFlash panic issue that occurs under heavy write pressure + - Fix the panic that occurs when the right jon key is not nullalbe and the left join key is nullable + - Fix the potential issue that the `read-index` requests take a long time + - Fix the panic issue that occurs when the read load is heavy + - Fix the panic issue that might occur when the `Date_Format` function is called with the `STRING` type argument and `NULL` values + ++ Tools + + + TiCDC + + - Fix the issue that TiCDC owner exits when refreshing the checkpoint [#1902](https://github.com/pingcap/ticdc/issues/1902) + - Fix a bug that some MySQL connection might leak after MySQL sink meets the error and pauses [#1946](https://github.com/pingcap/ticdc/pull/1946) + - Fix the panic issue that occurs when TiCDC fails to read `/proc/meminfo` [#2024](https://github.com/pingcap/ticdc/pull/2024) + - Reduce TiCDC's runtime memory consumption [#2012](https://github.com/pingcap/ticdc/pull/2012) [#1958](https://github.com/pingcap/ticdc/pull/1958) + - Fix a bug that might cause TiCDC server panic due to the late calculation of resolved ts [#1576](https://github.com/pingcap/ticdc/issues/1576) + - Fix the potential deadlock issue for the processor [#2142](https://github.com/pingcap/ticdc/pull/2142) + + + Backup & Restore (BR) + + - Fix a bug that all system tables are filtered during restore [#1197](https://github.com/pingcap/br/issues/1197) [#1201](https://github.com/pingcap/br/issues/1201) + - Fix the issue that Backup & Restore reports the error of "file already exists" when TDE is enabled during the restore [#1179](https://github.com/pingcap/br/issues/1179) + + + TiDB Lightning + + - Fix the TiDB Lightning panic issue for some special data [#1213](https://github.com/pingcap/br/issues/1213) + - Fix the EOF error reported when TiDB Lightning splits the imported large CSV files [#1133](https://github.com/pingcap/br/issues/1133) + - Fix a bug that an excessively large base value is generated when TiDB Lightning imports tables with the `auto_increment` column of the `FLOAT` or `DOUBLE` type [#1186](https://github.com/pingcap/br/pull/1186) + - Fix the issue that TiDB fails to parse the `DECIMAL` type data in Parquet files [#1277](https://github.com/pingcap/br/pull/1277) diff --git a/releases/release-notes.md b/releases/release-notes.md index 9d9b1983ffe46..d6aec30f4aef5 100644 --- a/releases/release-notes.md +++ b/releases/release-notes.md @@ -6,6 +6,7 @@ title: Release Notes ## 5.0 +- [5.0.3](/releases/release-5.0.3.md) - [5.0.2](/releases/release-5.0.2.md) - [5.0.1](/releases/release-5.0.1.md) - [5.0 GA](/releases/release-5.0.0.md) diff --git a/scale-tidb-using-tiup.md b/scale-tidb-using-tiup.md index b9d678bd104d1..0ae0d3ecaaacc 100644 --- a/scale-tidb-using-tiup.md +++ b/scale-tidb-using-tiup.md @@ -257,7 +257,7 @@ If you want to remove a TiKV node from the `10.0.1.5` host, take the following s ``` Starting /root/.tiup/components/cluster/v1.3.0/cluster display TiDB Cluster: - TiDB Version: v5.0.2 + TiDB Version: v5.0.3 ID Role Host Ports Status Data Dir Deploy Dir -- ---- ---- ----- ------ -------- ---------- 10.0.1.3:8300 cdc 10.0.1.3 8300 Up - deploy/cdc-8300 diff --git a/ticdc/manage-ticdc.md b/ticdc/manage-ticdc.md index 4da8af0a7ab4d..d89d3e7774d5a 100644 --- a/ticdc/manage-ticdc.md +++ b/ticdc/manage-ticdc.md @@ -9,14 +9,14 @@ This document describes how to manage the TiCDC cluster and replication tasks us ## Upgrade TiCDC using TiUP -This section introduces how to upgrade the TiCDC cluster using TiUP. In the following example, assume that you need to upgrade TiCDC and the entire TiDB cluster to v5.0.2. +This section introduces how to upgrade the TiCDC cluster using TiUP. In the following example, assume that you need to upgrade TiCDC and the entire TiDB cluster to v5.0.3. {{< copyable "shell-regular" >}} ```shell tiup update --self && \ tiup update --all && \ -tiup cluster upgrade v5.0.2 +tiup cluster upgrade v5.0.3 ``` ### Notes for upgrade diff --git a/tiup/tiup-component-cluster-deploy.md b/tiup/tiup-component-cluster-deploy.md index 2d87a85d37de6..9a59767957917 100644 --- a/tiup/tiup-component-cluster-deploy.md +++ b/tiup/tiup-component-cluster-deploy.md @@ -13,7 +13,7 @@ tiup cluster deploy [flags] ``` - ``: the name of the new cluster, which cannot be the same as the existing cluster names. -- ``: the version number of the TiDB cluster to deploy, such as `v5.0.2`. +- ``: the version number of the TiDB cluster to deploy, such as `v5.0.3`. - ``: the prepared [topology file](/tiup/tiup-cluster-topology-reference.md). ## Options diff --git a/upgrade-tidb-using-tiup.md b/upgrade-tidb-using-tiup.md index 41e2396dff4c6..0e323219b9e93 100644 --- a/upgrade-tidb-using-tiup.md +++ b/upgrade-tidb-using-tiup.md @@ -149,12 +149,12 @@ If your application has a maintenance window for the database to be stopped for tiup cluster upgrade ``` -For example, if you want to upgrade the cluster to v5.0.2: +For example, if you want to upgrade the cluster to v5.0.3: {{< copyable "shell-regular" >}} ```shell -tiup cluster upgrade v5.0.2 +tiup cluster upgrade v5.0.3 ``` > **Note:** @@ -204,7 +204,7 @@ tiup cluster display ``` Cluster type: tidb Cluster name: -Cluster version: v5.0.2 +Cluster version: v5.0.3 ``` > **Note:** @@ -254,7 +254,7 @@ You can upgrade the tool version by using TiUP to install the `ctl` component of {{< copyable "shell-regular" >}} ```shell -tiup install ctl:v5.0.2 +tiup install ctl:v5.0.3 ``` ## TiDB 5.0 compatibility changes