diff --git a/TOC.md b/TOC.md index eb5b7bb9b2b7..12a2b204f146 100644 --- a/TOC.md +++ b/TOC.md @@ -529,6 +529,7 @@ + 版本发布历史 + [发布版本汇总](/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 1ed5172eadff..12d2105f864b 100644 --- a/download-ecosystem-tools.md +++ b/download-ecosystem-tools.md @@ -16,7 +16,7 @@ title: TiDB 工具下载 > **注意:** > -> 下载链接中的 `{version}` 为 TiDB 的版本号。例如,`v5.0.2` 版本的下载链接为 `https://download.pingcap.org/tidb-v5.0.2-linux-amd64.tar.gz`。 +> 下载链接中的 `{version}` 为 TiDB 的版本号。例如,`v5.0.3` 版本的下载链接为 `https://download.pingcap.org/tidb-v5.0.3-linux-amd64.tar.gz`。 ## TiDB Lightning @@ -28,7 +28,7 @@ title: TiDB 工具下载 > **注意:** > -> 下载链接中的 `{version}` 为 TiDB Lightning 的版本号。例如,`v5.0.2` 版本的下载链接为 `https://download.pingcap.org/tidb-toolkit-v5.0.2-linux-amd64.tar.gz`。 +> 下载链接中的 `{version}` 为 TiDB Lightning 的版本号。例如,`v5.0.3` 版本的下载链接为 `https://download.pingcap.org/tidb-toolkit-v5.0.3-linux-amd64.tar.gz`。 ## 备份和恢复 (BR) 工具 @@ -40,7 +40,7 @@ title: TiDB 工具下载 > **注意:** > -> 下载链接中的 `{version}` 为 BR 的版本号。例如,`v5.0.2` 版本的下载链接为 `https://download.pingcap.org/tidb-toolkit-v5.0.2-linux-amd64.tar.gz`。 +> 下载链接中的 `{version}` 为 BR 的版本号。例如,`v5.0.3` 版本的下载链接为 `https://download.pingcap.org/tidb-toolkit-v5.0.3-linux-amd64.tar.gz`。 ## TiDB DM (Data Migration) @@ -64,7 +64,7 @@ title: TiDB 工具下载 > **注意:** > -> - 下载链接中的 `{version}` 为 Dumpling 的版本号。例如,`v5.0.2` 版本的下载链接为 `https://download.pingcap.org/tidb-toolkit-v5.0.2-linux-amd64.tar.gz`。可以通过 [Dumpling Release](https://github.com/pingcap/dumpling/releases) 查看当前已发布版本。 +> - 下载链接中的 `{version}` 为 Dumpling 的版本号。例如,`v5.0.3` 版本的下载链接为 `https://download.pingcap.org/tidb-toolkit-v5.0.3-linux-amd64.tar.gz`。可以通过 [Dumpling Release](https://github.com/pingcap/dumpling/releases) 查看当前已发布版本。 > - Dumpling 已支持 arm64 linux,将下载链接中的 amd64 替换为 arm64,即表示 arm64 版 Dumpling。 ## sync-diff-inspector diff --git a/pd-recover.md b/pd-recover.md index 33460f4114e9..7c73ce49cfd7 100644 --- a/pd-recover.md +++ b/pd-recover.md @@ -29,7 +29,7 @@ PD Recover 包含在 TiDB 安装包中。直接下载 TiDB 安装包即可获取 > **注意:** > -> `{version}` 是 TiDB 的版本号。例如,`v5.0.2` 的安装包下载链接为 `https://download.pingcap.org/tidb-v5.0.2-linux-amd64.tar.gz`。 +> `{version}` 是 TiDB 的版本号。例如,`v5.0.3` 的安装包下载链接为 `https://download.pingcap.org/tidb-v5.0.3-linux-amd64.tar.gz`。 ## 快速开始 diff --git a/production-deployment-using-tiup.md b/production-deployment-using-tiup.md index 28a591211bf3..875100fdf114 100644 --- a/production-deployment-using-tiup.md +++ b/production-deployment-using-tiup.md @@ -263,13 +263,13 @@ tiup cluster check ./topology.yaml --apply --user root [-p] [-i /home/root/.ssh/ {{< 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] ``` 以上部署命令中: - 通过 TiUP cluster 部署的集群名称为 `tidb-test` -- 可以通过执行 `tiup list tidb` 来查看 TiUP 支持的最新可用版本,后续内容以版本 `v5.0.2` 为例 +- 可以通过执行 `tiup list tidb` 来查看 TiUP 支持的最新可用版本,后续内容以版本 `v5.0.3` 为例 - 初始化配置文件为 `topology.yaml` - --user root:通过 root 用户登录到目标主机完成集群部署,该用户需要有 ssh 到目标机器的权限,并且在目标机器有 sudo 权限。也可以用其他有 ssh 和 sudo 权限的用户完成部署。 - [-i] 及 [-p]:非必选项,如果已经配置免密登陆目标机,则不需填写。否则选择其一即可,[-i] 为可登录到目标机的 root 用户(或 --user 指定的其他用户)的私钥,也可使用 [-p] 交互式输入该用户的密码 @@ -291,7 +291,7 @@ TiUP 支持管理多个 TiDB 集群,该命令会输出当前通过 TiUP cluste 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 ``` ## 第 6 步:检查部署的 TiDB 集群情况 diff --git a/quick-start-with-tidb.md b/quick-start-with-tidb.md index e2d55d94e135..7bed97f349b4 100644 --- a/quick-start-with-tidb.md +++ b/quick-start-with-tidb.md @@ -60,10 +60,10 @@ TiDB 是一个分布式系统。最基础的 TiDB 测试集群通常由 2 个 Ti {{< 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 ``` - 上述命令会在本地下载并启动某个版本的集群(例如 v5.0.2),`--monitor` 表示同时部署监控组件。最新版本可以通过执行 `tiup list tidb` 来查看。运行结果将显示集群的访问方式: + 上述命令会在本地下载并启动某个版本的集群(例如 v5.0.3),`--monitor` 表示同时部署监控组件。最新版本可以通过执行 `tiup list tidb` 来查看。运行结果将显示集群的访问方式: ```log CLUSTER START SUCCESSFULLY, Enjoy it ^-^ @@ -161,10 +161,10 @@ TiDB 是一个分布式系统。最基础的 TiDB 测试集群通常由 2 个 Ti {{< 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 ``` - 上述命令会在本地下载并启动某个版本的集群(例如 v5.0.2),`--monitor` 表示同时部署监控组件。最新版本可以通过执行 `tiup list tidb` 来查看。运行结果将显示集群的访问方式: + 上述命令会在本地下载并启动某个版本的集群(例如 v5.0.3),`--monitor` 表示同时部署监控组件。最新版本可以通过执行 `tiup list tidb` 来查看。运行结果将显示集群的访问方式: ```log CLUSTER START SUCCESSFULLY, Enjoy it ^-^ diff --git a/releases/release-5.0.3.md b/releases/release-5.0.3.md new file mode 100644 index 000000000000..98af6f34a218 --- /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 + +发版日期:2021 年 7 月 2 日 + +TiDB 版本:5.0.3 + +## 兼容性更改 + ++ TiDB + + - v4.0 集群升级到 v5.0 或更高版本(dev 和 v5.1)的集群后,`tidb_multi_statement_mode` 变量的默认值由 `WARN` 变为 `OFF` + - 兼容 MySQL 5.7 的 noop 变量 `innodb_default_row_format`,配置此变量无实际效果 [#23541](https://github.com/pingcap/tidb/issues/23541) + +## 功能增强 + ++ Tools + + + TiCDC + + - 增加 HTTP API 获取 TiCDC changefeed 信息和节点健康信息 [#1955](https://github.com/pingcap/ticdc/pull/1955) + - 为 kafka 下游增加 SASL/SCRAM 支持 [#1942](https://github.com/pingcap/ticdc/pull/1942) + - 使 TiCDC 在 server 级别支持 `--data-dir` 配置 [#2070](https://github.com/pingcap/ticdc/pull/2070) + +## 提升改进 + ++ TiDB + + - 支持将 `TopN` 算子下推到 TiFlash [#25162](https://github.com/pingcap/tidb/pull/25162) + - 支持将内置函数 `json_unquote()` 下推到 TiKV [#24415](https://github.com/pingcap/tidb/issues/24415) + - 支持在 Dual 表上移除 `Union` 算子的优化 [#25614](https://github.com/pingcap/tidb/pull/25614) + - 支持将内置函数 `replace()` 下推到 TiFlash [#25565](https://github.com/pingcap/tidb/pull/25565) + - 支持将内置函数 `unix_timestamp()`、`concat()`、`year()`、`day()`、`datediff()`、`datesub()`、`concat_ws()` 下推到 TiFlash [#25564](https://github.com/pingcap/tidb/pull/25564) + - 优化聚合算子的代价常数 [#25241](https://github.com/pingcap/tidb/pull/25241) + - 支持将 `Limit` 算子下推到 TiFlash [#25159](https://github.com/pingcap/tidb/pull/25159) + - 支持将内置函数 `str_to_date()` 下推到 TiFlash [#25148](https://github.com/pingcap/tidb/pull/25148) + - 允许 MPP outer join 根据表行数选择构建表 [#25142](https://github.com/pingcap/tidb/pull/25142) + - 支持将内置函数 `left()`、`right()`、`abs()` 下推到 TiFlash [#25133](https://github.com/pingcap/tidb/pull/25133) + - 支持将 Broadcast Cartesian Join 下推到 TiFlash [#25106](https://github.com/pingcap/tidb/pull/25106) + - 支持将 `Union All` 算子下推到 TiFlash [#25051](https://github.com/pingcap/tidb/pull/25051) + - 支持 MPP 查询任务按 Region 均衡到不同 TiFlash 节点上 [#24724](https://github.com/pingcap/tidb/pull/24724) + - 支持执行 MPP 查询后将缓存中过时的 Region 无效化 [#24432](https://github.com/pingcap/tidb/pull/24432) + - 提升内置函数 `str_to_date` 在格式指定器中 `%b/%M/%r/%T` 的 MySQL 兼容性 [#25767](https://github.com/pingcap/tidb/pull/25767) + ++ TiKV + + - 限制 TiCDC sink 的内存消耗 [#10305](https://github.com/tikv/tikv/pull/10305) + - 为 TiCDC old value 缓存增加基于内存使用量的上限 [#10313](https://github.com/tikv/tikv/pull/10313) + ++ PD + + - 将 TiDB Dashboard 升级至 v2021.06.15.1 [#3798](https://github.com/pingcap/pd/pull/3798) + ++ TiFlash + + - 支持将 `STRING` 类型转换为 `DOUBLE` 类型 + - 支持 `STR_TO_DATE()` 函数 + - 通过多线程优化右外连接中的非连接数据 + - 支持笛卡尔积 Join + - 支持 `LEFT()` 和 `RIGHT()` 函数 + - 支持在 MPP 查询中自动清理过期的 Region 信息 + - 支持 `ABS()` 函数 + ++ Tools + + + TiCDC + + - 优化 gRPC 的重连逻辑,提升 KV client 的吞吐 [#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) + - 优化 sorter I/O 报错信息 + +## Bug 修复 + ++ TiDB + + - 修复在 `SET` 类型列上 Merge Join 结果不正确的问题 [#25669](https://github.com/pingcap/tidb/issues/25669) + - 修复 `IN` 表达式参数的数据腐蚀问题 [#25591](https://github.com/pingcap/tidb/issues/25591) + - 避免 GC 的 session 受全局变量的影响 [#24976](https://github.com/pingcap/tidb/issues/24976) + - 修复了在窗口函数查询中使用 `Limit` 时出现 panic 问题 [#25344](https://github.com/pingcap/tidb/issues/25344) + - 修复查询分区表时使用 `Limit` 返回错误值的问题 [#24636](https://github.com/pingcap/tidb/issues/24636) + - 修复了 `IFNULL` 在 `ENUM` 或 `SET` 类型上不能正确生效的问题 [#24944](https://github.com/pingcap/tidb/issues/24944) + - 修复了 Join 子查询中的 `count` 被改写为 `first_row` 导致结果不正确的问题 [#24865](https://github.com/pingcap/tidb/issues/24865) + - 修复了 `TopN` 算子下使用 `ParallelApply` 查询时卡住的问题 [#24930](https://github.com/pingcap/tidb/issues/24930) + - 修复了使用含有多列的前缀索引查询时出现多余结果的问题 [#24356](https://github.com/pingcap/tidb/issues/24356) + - 修复了操作符 `<=>` 不能正确生效的问题 [#24477](https://github.com/pingcap/tidb/issues/24477) + - 修复并行 `Apply` 算子的数据竞争问题 [#23280](https://github.com/pingcap/tidb/issues/23280) + - 修复对 PartitionUnion 算子的 IndexMerge 结果排序时出现 `index out of range` 错误 [#23919](https://github.com/pingcap/tidb/issues/23919) + - 修复 `tidb_snapshot` 被允许设置为非预期的过大值,而可能造成事务隔离性被破坏的问题 [25680]( https://github.com/pingcap/tidb/issues/25680) + - 修复 ODBC 类常数(例如 `{d '2020-01-01'}`)不能被用作表达式的问题 [#25531](https://github.com/pingcap/tidb/issues/25531) + - 修复 `SELECT DISTINCT` 被转化为 Batch Get 而导致结果不正确的问题 [#25320](https://github.com/pingcap/tidb/issues/25320) + - 修复无法触发将查询从 TiFlash 回退到 TiKV 的问题 [#23665](https://github.com/pingcap/tidb/issues/23665) [#24421](https://github.com/pingcap/tidb/issues/24421) + - 修复在检查 `only_full_group_by` 时的 `index-out-of-range` 错误 [#23839](https://github.com/pingcap/tidb/issues/23839) + - 修复关联子查询中 Index Join 的结果不正确问题 [#25799](https://github.com/pingcap/tidb/issues/25799) + ++ TiKV + + - 修复错误的 `tikv_raftstore_hibernated_peer_state` 监控指标 [#10330](https://github.com/tikv/tikv/issues/10330) + - 修复 coprocessor 中 `json_unquote()` 函数错误的参数类型 [#10176](https://github.com/tikv/tikv/issues/10176) + - 正常关机时跳过清理 Raftstore 的回调从而避免在某些情况下破坏事务的 ACID [#10353](https://github.com/tikv/tikv/issues/10353) [#10307](https://github.com/tikv/tikv/issues/10307) + - 修复在 Leader 上 Replica Read 共享 Read Index 的问题 [#10347](https://github.com/tikv/tikv/issues/10347) + - 修复 coprocessor 转换 `DOUBLE` 到 `DOUBLE` 的错误函数 [#25200](https://github.com/pingcap/tidb/issues/25200) ++ PD + + - 修复在 scheduler 启动之后,加载 TTL 配置产生的数据竞争问题 [#3771](https://github.com/tikv/pd/issues/3771) + - 修复 `is_learner` 字段在 TiDB 的 `TIKV_REGION_PEERS` 表中显示异常的问题 [#3372](https://github.com/tikv/pd/issues/3372) [#24293](https://github.com/pingcap/tidb/issues/24293) + - 修复在一个 zone 内所有 TiKV 节点下线或宕机的情况下,PD 不往其他 zone 调度数据的问题 [#3705](https://github.com/tikv/pd/issues/3705) + - 修复在添加 scatter range 调度器后导致 PD 挂掉的问题 [#3762](https://github.com/tikv/pd/pull/3762) + ++ TiFlash + + - 修复因 split 失败而不断重启的问题 + - 修复无法删除 Delta 历史数据的潜在问题 + - 修复在 `CAST` 函数中为非二进制字符串填充错误数据的问题 + - 修复处理包含复杂 `GROUP BY` 列的聚合查询时结果不正确的问题 + - 修复写入压力过大时出现进程崩溃的问题 + - 修复右连接键不为空且左连接键可为空时进程崩溃的问题 + - 修复 `read-index` 请求耗时长的潜在问题 + - 修复读负载高的情况下进程崩溃的问题 + - 修复 `Date_Format` 函数在参数类型为 `STRING` 且包含 `NULL` 值时可能导致 TiFlash server 崩溃的问题 + ++ Tools + + + TiCDC + + - 修复 TiCDC owner 在刷新 checkpoint 时异常退出的问题 [#1902](https://github.com/pingcap/ticdc/issues/1902) + - 修复写 MySQL 下游出错暂停时 MySQL 连接泄漏的问题 [#1946](https://github.com/pingcap/ticdc/pull/1946) + - 修复 TiCDC 读取 `/proc/meminfo` 失败时出现的 panic 问题 [#2024](https://github.com/pingcap/ticdc/pull/2024) + - 减少 TiCDC 运行时的内存使用 [#2012](https://github.com/pingcap/ticdc/pull/2012) [#1958](https://github.com/pingcap/ticdc/pull/1958) + - 修复 resolved ts 计算慢导致 TiCDC panic 的问题 [#1576](https://github.com/pingcap/ticdc/issues/1576) + - 修复 processor 潜在的死锁问题 [#2142](https://github.com/pingcap/ticdc/pull/2142) + + + Backup & Restore (BR) + + - 修复 BR 恢复中忽略了所有系统表的问题 [#1197](https://github.com/pingcap/br/issues/1197) [#1201](https://github.com/pingcap/br/issues/1201) + - 修复在 Backup & Restore 数据恢复期间开启 TDE 会报出文件已存在的错误 [#1179](https://github.com/pingcap/br/issues/1179) + + + TiDB Lightning + + - 修复 TiDB Lightning 在特殊数据下 panic 的问题 [#1213](https://github.com/pingcap/br/issues/1213) + - 修复 TiDB Lightning 导入大文件拆分时遇到的 EOF 报错问题 [#1133](https://github.com/pingcap/br/issues/1133) + - 修复 TiDB Lightning 导入含 `auto_increment` 的 `DOUBLE` 或 `FLOAT` 类型列的表时生成极大 base 值的问题 [#1186](https://github.com/pingcap/br/pull/1186) + - 修复 TiDB Lightning 解析 Parquet 文件中 `DECIMAL` 类型数据失败的问题 [#1277](https://github.com/pingcap/br/pull/1277) diff --git a/releases/release-notes.md b/releases/release-notes.md index dea45e2dd863..b52995e44a46 100644 --- a/releases/release-notes.md +++ b/releases/release-notes.md @@ -8,6 +8,7 @@ TiDB 历史版本发布声明如下: ## 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 2384f91f8de0..ef07b722e12e 100644 --- a/scale-tidb-using-tiup.md +++ b/scale-tidb-using-tiup.md @@ -246,7 +246,7 @@ 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 diff --git a/ticdc/manage-ticdc.md b/ticdc/manage-ticdc.md index 11714bde47d2..6351e0ad3a40 100644 --- a/ticdc/manage-ticdc.md +++ b/ticdc/manage-ticdc.md @@ -8,14 +8,14 @@ title: TiCDC 运维操作及任务管理 ## 使用 TiUP 升级 TiCDC -本部分介绍如何使用 TiUP 来升级 TiCDC 集群。在以下例子中,假设需要将 TiCDC 组件和整个 TiDB 集群升级到 v5.0.2。 +本部分介绍如何使用 TiUP 来升级 TiCDC 集群。在以下例子中,假设需要将 TiCDC 组件和整个 TiDB 集群升级到 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 ``` ### 升级的注意事项 diff --git a/tiup/tiup-component-cluster-deploy.md b/tiup/tiup-component-cluster-deploy.md index 63e24d5be883..8535bc46da3c 100644 --- a/tiup/tiup-component-cluster-deploy.md +++ b/tiup/tiup-component-cluster-deploy.md @@ -13,7 +13,7 @@ tiup cluster deploy [flags] ``` - `` 表示新集群的名字,不能和现有集群同名 -- `` 为要部署的 TiDB 集群版本号,如 `v5.0.2` +- `` 为要部署的 TiDB 集群版本号,如 `v5.0.3` - `` 为事先编写好的[拓扑文件](/tiup/tiup-cluster-topology-reference.md) ## 选项 diff --git a/upgrade-tidb-using-tiup.md b/upgrade-tidb-using-tiup.md index c108b2d33d68..c9fc38af2be4 100644 --- a/upgrade-tidb-using-tiup.md +++ b/upgrade-tidb-using-tiup.md @@ -139,12 +139,12 @@ tiup cluster check --cluster tiup cluster upgrade ``` -以升级到 5.0.2 版本为例: +以升级到 5.0.3 版本为例: {{< copyable "shell-regular" >}} ``` -tiup cluster upgrade v5.0.2 +tiup cluster upgrade v5.0.3 ``` > **注意:** @@ -192,7 +192,7 @@ tiup cluster display ``` Cluster type: tidb Cluster name: -Cluster version: v5.0.2 +Cluster version: v5.0.3 ``` > **注意:** @@ -242,7 +242,7 @@ tiup cluster upgrade --force {{< copyable "" >}} ``` -tiup install ctl:v5.0.2 +tiup install ctl:v5.0.3 ``` ## 5. TiDB 5.0 兼容性变化