Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
0c13eab
update v5.0.3 release notes at 2021-06-28T11:39:05
ti-srebot Jun 28, 2021
aff9162
add toc
TomShawn Jun 28, 2021
0780a1b
Apply suggestions from code review
TomShawn Jun 28, 2021
2dea32d
Update releases/release-5.0.3.md
TomShawn Jun 28, 2021
e0ea363
Update releases/release-5.0.3.md
TomShawn Jun 28, 2021
b417959
Update releases/release-5.0.3.md
TomShawn Jun 28, 2021
4c73a73
add tiflash notes
TomShawn Jun 28, 2021
c6bee1b
add tikv notes
TomShawn Jun 29, 2021
c028ea8
modify and edit notes for tidb, tikv and tiflash
TomShawn Jun 29, 2021
5ded653
add tools notes
TomShawn Jun 29, 2021
722772b
Apply suggestions from code review
TomShawn Jun 29, 2021
537d9d2
Apply suggestions from code review
TomShawn Jul 1, 2021
d392f2c
Update releases/release-5.0.3.md
TomShawn Jul 1, 2021
23bb68b
Update releases/release-5.0.3.md
TomShawn Jul 1, 2021
5c54049
Update releases/release-5.0.3.md
TomShawn Jul 1, 2021
0109f62
change pr to issue in bug fix section
TomShawn Jul 1, 2021
1f4f3cf
address comments from alex-quan and bb7133
TomShawn Jul 1, 2021
84fd899
add tidb_multi_stmt-mode note
TomShawn Jul 2, 2021
4cbb3d3
Update releases/release-5.0.3.md
TomShawn Jul 2, 2021
8031af9
Update releases/release-5.0.3.md
TomShawn Jul 2, 2021
546212c
add innodb_default_row_format note
TomShawn Jul 2, 2021
12d5783
Update releases/release-5.0.3.md
TomShawn Jul 2, 2021
edac83f
Update release-5.0.3.md
TomShawn Jul 2, 2021
442ab85
Update releases/release-5.0.3.md
TomShawn Jul 2, 2021
d1d494e
Update releases/release-5.0.3.md
TomShawn Jul 2, 2021
1748319
Update releases/release-5.0.3.md
TomShawn Jul 2, 2021
6f7610c
bump version
TomShawn Jul 2, 2021
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 @@ -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)
Expand Down
8 changes: 4 additions & 4 deletions download-ecosystem-tools.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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)

Expand All @@ -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)

Expand All @@ -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.

Expand Down
2 changes: 1 addition & 1 deletion pd-recover.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
6 changes: 3 additions & 3 deletions production-deployment-using-tiup.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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
Expand Down
8 changes: 4 additions & 4 deletions quick-start-with-tidb.md
Original file line number Diff line number Diff line change
Expand Up @@ -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`.

Expand Down Expand Up @@ -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`.

Expand Down
144 changes: 144 additions & 0 deletions releases/release-5.0.3.md
Original file line number Diff line number Diff line change
@@ -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)
1 change: 1 addition & 0 deletions releases/release-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion scale-tidb-using-tiup.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 <cluster-name>
TiDB Cluster: <cluster-name>
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
Expand Down
4 changes: 2 additions & 2 deletions ticdc/manage-ticdc.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 <cluster-name> v5.0.2
tiup cluster upgrade <cluster-name> v5.0.3
```

### Notes for upgrade
Expand Down
2 changes: 1 addition & 1 deletion tiup/tiup-component-cluster-deploy.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ tiup cluster deploy <cluster-name> <version> <topology.yaml> [flags]
```

- `<cluster-name>`: the name of the new cluster, which cannot be the same as the existing cluster names.
- `<version>`: the version number of the TiDB cluster to deploy, such as `v5.0.2`.
- `<version>`: the version number of the TiDB cluster to deploy, such as `v5.0.3`.
- `<topology.yaml>`: the prepared [topology file](/tiup/tiup-cluster-topology-reference.md).

## Options
Expand Down
Loading