From 9ddd03dbec48411e46834896f43f3feb91dc1662 Mon Sep 17 00:00:00 2001 From: qiancai Date: Mon, 5 Jun 2023 15:52:41 +0800 Subject: [PATCH 001/121] Create release-7.2.0.md --- releases/release-7.2.0.md | 230 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 230 insertions(+) create mode 100644 releases/release-7.2.0.md diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md new file mode 100644 index 000000000000..ba998911a0ff --- /dev/null +++ b/releases/release-7.2.0.md @@ -0,0 +1,230 @@ +--- +title: TiDB 7.2.0 Release Notes +summary: 了解 TiDB 7.2.0 版本的新功能、兼容性变更、改进提升,以及错误修复。 +--- + +# TiDB 7.2.0 Release Notes + +发版日期:2023 年 x 月 x 日 + +TiDB 版本:7.2.0 + +试用链接:[快速体验](https://docs.pingcap.com/zh/tidb/v7.2/quick-start-with-tidb) | [下载离线包](https://cn.pingcap.com/product-community/) + +在 7.2.0 版本中,你可以获得以下关键特性: + + + +## 功能详情 + +### 可扩展性 + + + +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +### 性能 + +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +### 稳定性 + +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +### 高可用 + +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +### SQL 功能 + +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +### 数据库管理 + +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +### 可观测性 + +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +### 安全 + +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +### 数据迁移 + +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +## 兼容性变更 + +> **注意:** +> +> 以下为从 v7.0.0 升级至当前版本 (v7.2.0) 所需兼容性变更信息。如果从 v6.6.0 或之前版本升级到当前版本,可能也需要考虑和查看中间版本 release notes 中提到的兼容性变更信息。 + +### 行为变更 + + + +* 兼容性 1 + +* 兼容性 2 + +### 系统变量 + +| 变量名 | 修改类型(包括新增/修改/删除) | 描述 | +|--------|------------------------------|------| +| | | | +| | | | +| | | | +| | | | + +### 配置文件参数 + +| 配置文件 | 配置项 | 修改类型 | 描述 | +| -------- | -------- | -------- | -------- | +| | | | | +| | | | | +| | | | | +| | | | | + +## 废弃功能 + +## 改进提升 + ++ TiDB + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + ++ TiKV + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + ++ PD + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + ++ TiFlash + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + ++ Tools + + + Backup & Restore (BR) + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + + + TiCDC + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + + + TiDB Data Migration (DM) + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + + + TiDB Lightning + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + + + TiUP + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + +## 错误修复 + ++ TiDB + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + ++ TiKV + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + ++ PD + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + ++ TiFlash + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + ++ Tools + + + Backup & Restore (BR) + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + + + TiCDC + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + + + TiDB Data Migration (DM) + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + + + TiDB Lightning + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + + + TiUP + + - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + +## 贡献者 + +感谢来自 TiDB 社区的贡献者们: + +- [贡献者 GitHub ID]() \ No newline at end of file From b541224bc05bf24839ed40798eab4ca9ba40fbc1 Mon Sep 17 00:00:00 2001 From: joey-yez <104608045+joey-yez@users.noreply.github.com> Date: Fri, 9 Jun 2023 11:17:25 +0800 Subject: [PATCH 002/121] Update release-7.2.0.md --- releases/release-7.2.0.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index ba998911a0ff..57a09cbbb242 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -35,6 +35,17 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](链接)。 +* 新增支持下推两个[窗口函数](/tiflash/tiflash-supported-pushdown-calculations.md) 至 TiFlash [#7427](https://github.com/pingcap/tiflash/issues/7427) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@xxx** + + * `FIRST_VALUE` + * `LAST_VALUE` + +* TiFlash 支持副本选择策略 [#44106](https://github.com/pingcap/tidb/issues/44106) @[XuHuaiyu](https://github.com/XuHuaiyu) **tw@xxx** + + 在 v7.2.0 版本之前,TiFlash 尽量使用所有节点的副本进行数据扫描及 MPP 计算,以提供最强大的性能。在 v7.2.0 版本中,TiFlash 引入副本选择策略,可以根据节点区域属性,选择特定的副本,并调度部分节点进行数据扫描及 MPP 计算。当集群部署在超过一个机房,并且每个机房都拥有完整的 TiFlash 数据副本时,可以只选择当前机房的 TiFlash 副本,在当前机房的 TiFlash 节点中进行数据扫描和 MPP 计算,避免大量跨机房的网络数据传输。新增系统变量 [`tiflash_replica_read`](/system-variables.md#tiflash_replica_read) 用于设定节点选择策略。 + + 更多信息,请参考[用户文档](/system-variables.md#tiflash_replica_read)。 + ### 稳定性 * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** @@ -59,6 +70,18 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](链接)。 +* TiDB 支持完整的分区类型管理功能 [#42728](https://github.com/pingcap/tidb/issues/42728) @[mjonss](https://github.com/mjonss) + + 在 v7.2.0 之前,TiDB 中的分区表不能调整分区类型。从 v7.2.0 开始,TiDB 支持将分区表修改为非分区表、将非分区表修改为分区表、修改分区类型功能。你可以根据需要灵活调整表的分区类型、数量。例如,通过 `ALTER TABLE t PARTITION BY ...` 语句修改分区类型。 + + 更多信息,请参考[用户文档](/partitioned-table.md#分区管理)。 + +* LIST 分区表支持 DEFAULT 分区功能 [#42728](https://github.com/pingcap/tidb/issues/42728) @[mjonss](https://github.com/mjonss) + + LIST 分区表必须指定所有的分区,不满足任何分区条件的数据,无法正常写入该表。从 v7.2.0 开始,TiDB 支持 [默认 LIST 分区](/partitioned-table.md#list-分区) 功能。该功能启用时,所有不符合已有 LIST 分区的数据将被保存在默认 LIST 分区中。通过系统变量 `tidb_enable_default_list_partition` 控制是否启用默认 LIST 分区gonna。 + + 更多信息,请参考[用户文档](/partitioned-table.md#list-分区)。 + ### 数据库管理 * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** From 2385b26901c1d371c1f9637275128c92533289ae Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Fri, 9 Jun 2023 11:42:13 +0800 Subject: [PATCH 003/121] added supplementary info --- releases/release-7.2.0.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 57a09cbbb242..7a0cbd38a9ca 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -35,12 +35,12 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](链接)。 -* 新增支持下推两个[窗口函数](/tiflash/tiflash-supported-pushdown-calculations.md) 至 TiFlash [#7427](https://github.com/pingcap/tiflash/issues/7427) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@xxx** +* 新增支持下推两个[窗口函数](/tiflash/tiflash-supported-pushdown-calculations.md) 至 TiFlash [#7427](https://github.com/pingcap/tiflash/issues/7427) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@qiancai** * `FIRST_VALUE` * `LAST_VALUE` -* TiFlash 支持副本选择策略 [#44106](https://github.com/pingcap/tidb/issues/44106) @[XuHuaiyu](https://github.com/XuHuaiyu) **tw@xxx** +* TiFlash 支持副本选择策略 [#44106](https://github.com/pingcap/tidb/issues/44106) @[XuHuaiyu](https://github.com/XuHuaiyu) **tw@qiancai** 在 v7.2.0 版本之前,TiFlash 尽量使用所有节点的副本进行数据扫描及 MPP 计算,以提供最强大的性能。在 v7.2.0 版本中,TiFlash 引入副本选择策略,可以根据节点区域属性,选择特定的副本,并调度部分节点进行数据扫描及 MPP 计算。当集群部署在超过一个机房,并且每个机房都拥有完整的 TiFlash 数据副本时,可以只选择当前机房的 TiFlash 副本,在当前机房的 TiFlash 节点中进行数据扫描和 MPP 计算,避免大量跨机房的网络数据传输。新增系统变量 [`tiflash_replica_read`](/system-variables.md#tiflash_replica_read) 用于设定节点选择策略。 @@ -70,13 +70,13 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](链接)。 -* TiDB 支持完整的分区类型管理功能 [#42728](https://github.com/pingcap/tidb/issues/42728) @[mjonss](https://github.com/mjonss) +* TiDB 支持完整的分区类型管理功能 [#42728](https://github.com/pingcap/tidb/issues/42728) @[mjonss](https://github.com/mjonss) **tw@qiancai** 在 v7.2.0 之前,TiDB 中的分区表不能调整分区类型。从 v7.2.0 开始,TiDB 支持将分区表修改为非分区表、将非分区表修改为分区表、修改分区类型功能。你可以根据需要灵活调整表的分区类型、数量。例如,通过 `ALTER TABLE t PARTITION BY ...` 语句修改分区类型。 更多信息,请参考[用户文档](/partitioned-table.md#分区管理)。 -* LIST 分区表支持 DEFAULT 分区功能 [#42728](https://github.com/pingcap/tidb/issues/42728) @[mjonss](https://github.com/mjonss) +* LIST 分区表支持 DEFAULT 分区功能 [#42728](https://github.com/pingcap/tidb/issues/42728) @[mjonss](https://github.com/mjonss) **tw@qiancai** LIST 分区表必须指定所有的分区,不满足任何分区条件的数据,无法正常写入该表。从 v7.2.0 开始,TiDB 支持 [默认 LIST 分区](/partitioned-table.md#list-分区) 功能。该功能启用时,所有不符合已有 LIST 分区的数据将被保存在默认 LIST 分区中。通过系统变量 `tidb_enable_default_list_partition` 控制是否启用默认 LIST 分区gonna。 From 22637c6a6c928bfd2d64c34ff167a4fe2529b3d0 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Fri, 9 Jun 2023 11:48:00 +0800 Subject: [PATCH 004/121] Update releases/release-7.2.0.md --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 7a0cbd38a9ca..13dc3251d3ba 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -118,7 +118,7 @@ TiDB 版本:7.2.0 > **注意:** > -> 以下为从 v7.0.0 升级至当前版本 (v7.2.0) 所需兼容性变更信息。如果从 v6.6.0 或之前版本升级到当前版本,可能也需要考虑和查看中间版本 release notes 中提到的兼容性变更信息。 +> 以下为从 v7.1.0 升级至当前版本 (v7.2.0) 所需兼容性变更信息。如果从 v7.0.0 或之前版本升级到当前版本,可能也需要考虑和查看中间版本 release notes 中提到的兼容性变更信息。 ### 行为变更 From a7b045bcca50d521ec5742b35a21b60456c41ca9 Mon Sep 17 00:00:00 2001 From: Roger Song Date: Sun, 11 Jun 2023 16:08:24 +0800 Subject: [PATCH 005/121] Enabling tidb_remove_orderby_in_subquery by default --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 13dc3251d3ba..d69e1c2003c4 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -132,7 +132,7 @@ TiDB 版本:7.2.0 | 变量名 | 修改类型(包括新增/修改/删除) | 描述 | |--------|------------------------------|------| -| | | | +| [`tidb_remove_orderby_in_subquery`](/system-variables.md#tidb_remove_orderby_in_subquery-从-v610-版本开始引入)| 修改 | 从 v7.2.0 及之后版本中默认为 `ON`, 即优化器改写会考虑消除子查询中的排序操作。 | | | | | | | | | | | | | From 152fcf7a5233be330ebc14391ea93fe40d3283e6 Mon Sep 17 00:00:00 2001 From: Roger Song Date: Sun, 11 Jun 2023 21:52:56 +0800 Subject: [PATCH 006/121] CMD to show the progress of stats collection --- releases/release-7.2.0.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index d69e1c2003c4..c47789edbabd 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -98,6 +98,12 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](链接)。 +* 为统计信息收集增加进度展示 [#issue号](链接) @[hawkingrei](https://github.com/hawkingrei) + + 对大表的统计信息收集经常会持续比较长的时间。 在过去的版本里,用户无从得知统计信息收集的进度,进而没法预测完成时间。 在 v7.2.0 中, TiDB 加入了对统计信息收集进度的信息展示。 新加入 [`SHOW ANALYZE SUMMARY`]() 命令,能够以表或分区为单位展示总体工作量,当前进度,以及对完成时间的预测。 在大规模数据导入、SQL 性能优化等场景下,用户能够了解整体任务进展,提升用户体验。 + + 更多信息,请参考[用户文档](链接)。 + ### 安全 * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** From 26a3a9d380b99334ff8dc065f39be404b9370125 Mon Sep 17 00:00:00 2001 From: Roger Song Date: Sun, 11 Jun 2023 22:31:22 +0800 Subject: [PATCH 007/121] analyze enhancement: skip useless --- releases/release-7.2.0.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index c47789edbabd..cdb4bb1ce9f2 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -46,6 +46,10 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](/system-variables.md#tiflash_replica_read)。 +* 提升统计信息收集的性能 [#issue号](链接) @[xuyifangreeneyes](https://github.com/xuyifangreeneyes) + + v7.2.0 优化了统计信息的收集策略,会选择跳过一部分重复的信息,以及对优化器价值不高的信息,提升统计信息收集的整体速度达 30% 。 这个提升有利于 TiDB 对数据库对象的统计信息进行更及时的更新,使得生成的执行计划更准确, 从而达到提升数据库整体性能的目的。 + ### 稳定性 * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** From cc7cfaa55d47c8167bf28bb2196558dfcb211af1 Mon Sep 17 00:00:00 2001 From: Roger Song Date: Sun, 11 Jun 2023 23:43:16 +0800 Subject: [PATCH 008/121] runaway query management --- releases/release-7.2.0.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index cdb4bb1ce9f2..a3c200876976 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -58,6 +58,17 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](链接)。 +* 自动管理资源超出预期的查询 (实验特性) [#issue号](链接) @[nolouch](https://github.com/nolouch) @[glorv](https://github.com/glorv) @[Connor1996](https://github.com/Connor1996) @[JmPotato](https://github.com/JmPotato) @[CabinfeverB](https://github.com/CabinfeverB) @[HuSharp](https://github.com/HuSharp) + + 突发的 SQL 性能问题引发数据库整体性能下降,是数据库稳定性最常见的挑战。 造成 SQL 性能问题的原因有很多, 有可能是未经充分测试的新 SQL,数据量剧烈变化,执行计划突变等等,这些问题很难从源头上完全规避。 TiDB 在 v7.2.0 加入了对资源超出预期的查询的管理能力,在上述问题发生时,能够快速降低影响范围。 + + 用户可以针对某个资源组 (Resource Group) 设置查询的最长执行时间。 当查询的执行时间超过设置时, 自动降低查询的优先级或者取消查询。 用户还可以设置在一段时间内通过文本立即匹配已经识别出的查询, 从而避免问题查询的并发度太高时,在识别阶段就造成大量消耗的情况。 + + 对资源超出预期查询的自动管理, 为用户提供了有效的手段,快速应对突发的查询性能问题,降低问题对数据库整体性能的影响,从而提升数据库的稳定性。 + + 更多信息,请参考[用户文档](链接)。 + + ### 高可用 * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** From 8d934318fa4695f111e12393fedf44d1c3b91490 Mon Sep 17 00:00:00 2001 From: Roger Song Date: Mon, 12 Jun 2023 00:10:22 +0800 Subject: [PATCH 009/121] Reduce the time consumed by "admin check table/index" --- releases/release-7.2.0.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index a3c200876976..a2834ed5b824 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -50,6 +50,12 @@ TiDB 版本:7.2.0 v7.2.0 优化了统计信息的收集策略,会选择跳过一部分重复的信息,以及对优化器价值不高的信息,提升统计信息收集的整体速度达 30% 。 这个提升有利于 TiDB 对数据库对象的统计信息进行更及时的更新,使得生成的执行计划更准确, 从而达到提升数据库整体性能的目的。 +* 提升表和索引一致性检查的性能 [#issue号](链接) @[wjhuang2016](https://github.com/wjhuang2016) + + TiDB 在新版本中优化了数据一致性校验的方式,大幅提升了 [`ADMIN CHECK [TABLE|INDEX]`](/sql-statements/sql-statement-admin-check-table-index.md) 的执行效率, 性能提升接近 200 倍。 这个能力可以大幅减少大型表数据导入的时间, 提升数据导入的体验。 设置 [`tidb_enable_fast_table_check`]() 为 `TRUE` 启用这个新机制。 + + 更多信息,请参考[用户文档](链接) + ### 稳定性 * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** From 7beb74fe23262fb317de91a9ff6e73bfc953ba81 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 12 Jun 2023 10:56:50 +0800 Subject: [PATCH 010/121] Apply suggestions from code review --- releases/release-7.2.0.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index a2834ed5b824..672f66df93fb 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -46,11 +46,11 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](/system-variables.md#tiflash_replica_read)。 -* 提升统计信息收集的性能 [#issue号](链接) @[xuyifangreeneyes](https://github.com/xuyifangreeneyes) +* 提升统计信息收集的性能 [#issue号](链接) @[xuyifangreeneyes](https://github.com/xuyifangreeneyes) **tw@hfxsd** v7.2.0 优化了统计信息的收集策略,会选择跳过一部分重复的信息,以及对优化器价值不高的信息,提升统计信息收集的整体速度达 30% 。 这个提升有利于 TiDB 对数据库对象的统计信息进行更及时的更新,使得生成的执行计划更准确, 从而达到提升数据库整体性能的目的。 -* 提升表和索引一致性检查的性能 [#issue号](链接) @[wjhuang2016](https://github.com/wjhuang2016) +* 提升表和索引一致性检查的性能 [#issue号](链接) @[wjhuang2016](https://github.com/wjhuang2016) **tw@qiancai** TiDB 在新版本中优化了数据一致性校验的方式,大幅提升了 [`ADMIN CHECK [TABLE|INDEX]`](/sql-statements/sql-statement-admin-check-table-index.md) 的执行效率, 性能提升接近 200 倍。 这个能力可以大幅减少大型表数据导入的时间, 提升数据导入的体验。 设置 [`tidb_enable_fast_table_check`]() 为 `TRUE` 启用这个新机制。 @@ -64,7 +64,7 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](链接)。 -* 自动管理资源超出预期的查询 (实验特性) [#issue号](链接) @[nolouch](https://github.com/nolouch) @[glorv](https://github.com/glorv) @[Connor1996](https://github.com/Connor1996) @[JmPotato](https://github.com/JmPotato) @[CabinfeverB](https://github.com/CabinfeverB) @[HuSharp](https://github.com/HuSharp) +* 自动管理资源超出预期的查询 (实验特性) [#issue号](链接) @[nolouch](https://github.com/nolouch) @[glorv](https://github.com/glorv) @[Connor1996](https://github.com/Connor1996) @[JmPotato](https://github.com/JmPotato) @[CabinfeverB](https://github.com/CabinfeverB) @[HuSharp](https://github.com/HuSharp) **tw@hfxsd** 突发的 SQL 性能问题引发数据库整体性能下降,是数据库稳定性最常见的挑战。 造成 SQL 性能问题的原因有很多, 有可能是未经充分测试的新 SQL,数据量剧烈变化,执行计划突变等等,这些问题很难从源头上完全规避。 TiDB 在 v7.2.0 加入了对资源超出预期的查询的管理能力,在上述问题发生时,能够快速降低影响范围。 @@ -119,7 +119,7 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](链接)。 -* 为统计信息收集增加进度展示 [#issue号](链接) @[hawkingrei](https://github.com/hawkingrei) +* 为统计信息收集增加进度展示 [#issue号](链接) @[hawkingrei](https://github.com/hawkingrei) **tw@Oreoxmt** 对大表的统计信息收集经常会持续比较长的时间。 在过去的版本里,用户无从得知统计信息收集的进度,进而没法预测完成时间。 在 v7.2.0 中, TiDB 加入了对统计信息收集进度的信息展示。 新加入 [`SHOW ANALYZE SUMMARY`]() 命令,能够以表或分区为单位展示总体工作量,当前进度,以及对完成时间的预测。 在大规模数据导入、SQL 性能优化等场景下,用户能够了解整体任务进展,提升用户体验。 From e03fb3ac2e17a71026e595856e1511e59ea74954 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 12 Jun 2023 11:48:24 +0800 Subject: [PATCH 011/121] Apply suggestions from code review Co-authored-by: Frank945946 <108602632+Frank945946@users.noreply.github.com> --- releases/release-7.2.0.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 672f66df93fb..3fa58bab4ca2 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -140,9 +140,15 @@ TiDB 版本:7.2.0 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) 更多信息,请参考[用户文档](链接)。 - +* 引入新的 SQL statement “import into”,该 SQL 集成了 Lightning 物理导入模式(local backend)的能力,大大提升导入数据的效率。[#42930](https://github.com/pingcap/tidb/issues/42930) @[D3Hunter](https://github.com/D3Hunter)--实验特性 +"import into " 集成了 Lightning 物理导入模式(local backend)的能力,用户可直接编写 "import into“ SQL 导入数据到 TiDB,同时还支持将数据导入任务拆分成多个子任务调度到多个 TiDB 节点,进行并行导入,提升导入性能。在导入空表的场景,用户无需再部署和管理 Lightning ,降低了导入数据难度的同时,大大提升了导入数据效率。 +更多信息,请参考[用户文档](链接)。 +* Lightning 物理导入模式(local backend)支持在导入数据前对需要导入的数据是否存在键值冲突进行检测并处理。[#41629](https://github.com/pingcap/tidb/issues/41629)@[gozssky](https://github.com/gozssky) @[lance6716](https://github.com/lance6716) +Lightning 物理导入模式(local backend)支持在导入数据前根据目标表的 PK、UK 定义对源文件的数据是否存在键值冲突进行检测。如发现存在冲突数据,在导入过程中用户可以通过配置策略如 replace 或 ignore 来处理冲突的数据,为用户提供了便利性。同时,用户也可以在实际数据导入之前,根据检测结果,提前发现冲突的记录,并排查原因,从源头保障数据质量,保证导入数据的准确性。 +更多信息,请参考[用户文档](链接)。 ## 兼容性变更 - +从 7.2 版本开始 Lightning 配置文件的参数 "send-kv-pairs" 不再生效,由新的参数 "send-kv-size" 代替。 +该新参数用于指定 KV 键值对的大小阈值,单位为 KiB 或 MiB,默认值为 "16 KiB"。当 KV 键值对的大小达到设定的阈值时,它们将立即发送到 TiKV,避免在导入大宽表等一些场景,因为 Lightning 节点内存积累键值对过多导致 OOM 的问题。 > **注意:** > > 以下为从 v7.1.0 升级至当前版本 (v7.2.0) 所需兼容性变更信息。如果从 v7.0.0 或之前版本升级到当前版本,可能也需要考虑和查看中间版本 release notes 中提到的兼容性变更信息。 From ccbd86992c7cf2d6a5cc38d9dde52b4f10366a15 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 12 Jun 2023 14:00:08 +0800 Subject: [PATCH 012/121] Apply suggestions from code review Co-authored-by: Frank945946 <108602632+Frank945946@users.noreply.github.com> --- releases/release-7.2.0.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 3fa58bab4ca2..eafc04389bb3 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -216,12 +216,19 @@ Lightning 物理导入模式(local backend)支持在导入数据前根据目 - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiDB Data Migration (DM) +功能:在 DataMigration(DM)7.2 版本中引入了一个新的参数"strict-optimistic-shard-mode" 用于兼容历史版本 2.0 分库分表同步 DDL 的行为。 +当用户选择乐观模式时,可以启用该参数,开启后,乐观模式下,同步任务遇到二类 DDL 时,整个任务会中断,在多个表的 DDL变更有依赖关系的场景,可以及时中断,用户手动处理完各表的 DDL 后,再继续同步数据,保障上下游数据的一致性。详细的参数设置和使用说明,请参考相关文档。 - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiDB Lightning - + + TiDB Lightning +- Lightning 支持将字符集为 latin1 和 utf8 的源文件导入到 TiDB。 +通过此功能,用户现在可以使用 Lightning 数据导入工具直接将字符集为 latin1 和 utf8 的源文件导入到 TiDB 中。这扩展了用户在处理各种字符集时的数据导入选项的兼容性和灵活性。以前,导入这样的文件需要额外的预处理或转换。现在用户只需在运行 Lightning 导入过程时指定源文件的字符集(latin1 或 utf8)。Lightning 工具会在导入过程中自动处理字符集转换,确保数据的完整性和准确性。 [#44434](https://github.com/pingcap/tidb/issues/44434) @[lance6716](https://github.com/lance6716) +更多信息,请参考[用户文档](https://github.com/pingcap/docs-cn/pull/14172/files) +- Lightning 引入了新的参数 "send-kv-size" ,用于设置发单次送到 TiKV 的 KV pairs 的大小。 +在 Lightning 配置文件 "[tikv-importer]" 这个 Session 中引入了新的参数"send-kv-size" 。当 KV 键值对的大小达到设定的阈值时,它们将被 Lightning 立即发送到 TiKV,避免在导入大宽表的时候 Lightning 节点因为内存积累键值对过多导致 OOM 的问题。通过调整 "send-kv-size" 参数,您可以在内存使用和导入速度之间找到平衡,提高导入过程的稳定性和效率。[#43853](https://github.com/pingcap/tidb/issues/43853) @[D3Hunter](https://github.com/D3Hunter) - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) From ac9381555d130cfb6ff5c95a0edd91cb63db4d03 Mon Sep 17 00:00:00 2001 From: qiancai Date: Mon, 12 Jun 2023 14:32:28 +0800 Subject: [PATCH 013/121] adjust the location of DM features --- releases/release-7.2.0.md | 55 ++++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index eafc04389bb3..e6b5893f1fd2 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -52,7 +52,7 @@ TiDB 版本:7.2.0 * 提升表和索引一致性检查的性能 [#issue号](链接) @[wjhuang2016](https://github.com/wjhuang2016) **tw@qiancai** - TiDB 在新版本中优化了数据一致性校验的方式,大幅提升了 [`ADMIN CHECK [TABLE|INDEX]`](/sql-statements/sql-statement-admin-check-table-index.md) 的执行效率, 性能提升接近 200 倍。 这个能力可以大幅减少大型表数据导入的时间, 提升数据导入的体验。 设置 [`tidb_enable_fast_table_check`]() 为 `TRUE` 启用这个新机制。 + TiDB 在新版本中优化了数据一致性校验的方式,大幅提升了 [`ADMIN CHECK [TABLE|INDEX]`](/sql-statements/sql-statement-admin-check-table-index.md) 的执行效率, 性能提升接近 200 倍。 这个能力可以大幅减少大型表数据导入的时间, 提升数据导入的体验。 设置 [`tidb_enable_fast_table_check`](链接) 为 `TRUE` 启用这个新机制。 更多信息,请参考[用户文档](链接) @@ -66,14 +66,13 @@ TiDB 版本:7.2.0 * 自动管理资源超出预期的查询 (实验特性) [#issue号](链接) @[nolouch](https://github.com/nolouch) @[glorv](https://github.com/glorv) @[Connor1996](https://github.com/Connor1996) @[JmPotato](https://github.com/JmPotato) @[CabinfeverB](https://github.com/CabinfeverB) @[HuSharp](https://github.com/HuSharp) **tw@hfxsd** - 突发的 SQL 性能问题引发数据库整体性能下降,是数据库稳定性最常见的挑战。 造成 SQL 性能问题的原因有很多, 有可能是未经充分测试的新 SQL,数据量剧烈变化,执行计划突变等等,这些问题很难从源头上完全规避。 TiDB 在 v7.2.0 加入了对资源超出预期的查询的管理能力,在上述问题发生时,能够快速降低影响范围。 + 突发的 SQL 性能问题引发数据库整体性能下降,是数据库稳定性最常见的挑战。 造成 SQL 性能问题的原因有很多, 有可能是未经充分测试的新 SQL,数据量剧烈变化,执行计划突变等等,这些问题很难从源头上完全规避。 TiDB 在 v7.2.0 加入了对资源超出预期的查询的管理能力,在上述问题发生时,能够快速降低影响范围。 - 用户可以针对某个资源组 (Resource Group) 设置查询的最长执行时间。 当查询的执行时间超过设置时, 自动降低查询的优先级或者取消查询。 用户还可以设置在一段时间内通过文本立即匹配已经识别出的查询, 从而避免问题查询的并发度太高时,在识别阶段就造成大量消耗的情况。 + 用户可以针对某个资源组 (Resource Group) 设置查询的最长执行时间。 当查询的执行时间超过设置时, 自动降低查询的优先级或者取消查询。 用户还可以设置在一段时间内通过文本立即匹配已经识别出的查询, 从而避免问题查询的并发度太高时,在识别阶段就造成大量消耗的情况。 - 对资源超出预期查询的自动管理, 为用户提供了有效的手段,快速应对突发的查询性能问题,降低问题对数据库整体性能的影响,从而提升数据库的稳定性。 + 对资源超出预期查询的自动管理, 为用户提供了有效的手段,快速应对突发的查询性能问题,降低问题对数据库整体性能的影响,从而提升数据库的稳定性。 更多信息,请参考[用户文档](链接)。 - ### 高可用 @@ -100,7 +99,7 @@ TiDB 版本:7.2.0 * LIST 分区表支持 DEFAULT 分区功能 [#42728](https://github.com/pingcap/tidb/issues/42728) @[mjonss](https://github.com/mjonss) **tw@qiancai** LIST 分区表必须指定所有的分区,不满足任何分区条件的数据,无法正常写入该表。从 v7.2.0 开始,TiDB 支持 [默认 LIST 分区](/partitioned-table.md#list-分区) 功能。该功能启用时,所有不符合已有 LIST 分区的数据将被保存在默认 LIST 分区中。通过系统变量 `tidb_enable_default_list_partition` 控制是否启用默认 LIST 分区gonna。 - + 更多信息,请参考[用户文档](/partitioned-table.md#list-分区)。 ### 数据库管理 @@ -121,7 +120,7 @@ TiDB 版本:7.2.0 * 为统计信息收集增加进度展示 [#issue号](链接) @[hawkingrei](https://github.com/hawkingrei) **tw@Oreoxmt** - 对大表的统计信息收集经常会持续比较长的时间。 在过去的版本里,用户无从得知统计信息收集的进度,进而没法预测完成时间。 在 v7.2.0 中, TiDB 加入了对统计信息收集进度的信息展示。 新加入 [`SHOW ANALYZE SUMMARY`]() 命令,能够以表或分区为单位展示总体工作量,当前进度,以及对完成时间的预测。 在大规模数据导入、SQL 性能优化等场景下,用户能够了解整体任务进展,提升用户体验。 + 对大表的统计信息收集经常会持续比较长的时间。 在过去的版本里,用户无从得知统计信息收集的进度,进而没法预测完成时间。 在 v7.2.0 中, TiDB 加入了对统计信息收集进度的信息展示。 新加入 [`SHOW ANALYZE SUMMARY`](链接) 命令,能够以表或分区为单位展示总体工作量,当前进度,以及对完成时间的预测。 在大规模数据导入、SQL 性能优化等场景下,用户能够了解整体任务进展,提升用户体验。 更多信息,请参考[用户文档](链接)。 @@ -135,20 +134,26 @@ TiDB 版本:7.2.0 ### 数据迁移 -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** +* 引入新的 SQL statement “import into” (实验特性),该 SQL 集成了 Lightning 物理导入模式(local backend)的能力,大大提升导入数据的效率。[#42930](https://github.com/pingcap/tidb/issues/42930) @[D3Hunter](https://github.com/D3Hunter) **tw@hfxsd** - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + "import into " 集成了 Lightning 物理导入模式(local backend)的能力,用户可直接编写 "import into“ SQL 导入数据到 TiDB,同时还支持将数据导入任务拆分成多个子任务调度到多个 TiDB 节点,进行并行导入,提升导入性能。在导入空表的场景,用户无需再部署和管理 Lightning ,降低了导入数据难度的同时,大大提升了导入数据效率。 更多信息,请参考[用户文档](链接)。 -* 引入新的 SQL statement “import into”,该 SQL 集成了 Lightning 物理导入模式(local backend)的能力,大大提升导入数据的效率。[#42930](https://github.com/pingcap/tidb/issues/42930) @[D3Hunter](https://github.com/D3Hunter)--实验特性 -"import into " 集成了 Lightning 物理导入模式(local backend)的能力,用户可直接编写 "import into“ SQL 导入数据到 TiDB,同时还支持将数据导入任务拆分成多个子任务调度到多个 TiDB 节点,进行并行导入,提升导入性能。在导入空表的场景,用户无需再部署和管理 Lightning ,降低了导入数据难度的同时,大大提升了导入数据效率。 -更多信息,请参考[用户文档](链接)。 -* Lightning 物理导入模式(local backend)支持在导入数据前对需要导入的数据是否存在键值冲突进行检测并处理。[#41629](https://github.com/pingcap/tidb/issues/41629)@[gozssky](https://github.com/gozssky) @[lance6716](https://github.com/lance6716) -Lightning 物理导入模式(local backend)支持在导入数据前根据目标表的 PK、UK 定义对源文件的数据是否存在键值冲突进行检测。如发现存在冲突数据,在导入过程中用户可以通过配置策略如 replace 或 ignore 来处理冲突的数据,为用户提供了便利性。同时,用户也可以在实际数据导入之前,根据检测结果,提前发现冲突的记录,并排查原因,从源头保障数据质量,保证导入数据的准确性。 -更多信息,请参考[用户文档](链接)。 + +* Lightning 物理导入模式(local backend)支持在导入数据前对需要导入的数据是否存在键值冲突进行检测并处理。[#41629](https://github.com/pingcap/tidb/issues/41629)@[gozssky](https://github.com/gozssky) @[lance6716](https://github.com/lance6716) **tw@hfxsd** + + Lightning 物理导入模式(local backend)支持在导入数据前根据目标表的 PK、UK 定义对源文件的数据是否存在键值冲突进行检测。如发现存在冲突数据,在导入过程中用户可以通过配置策略如 replace 或 ignore 来处理冲突的数据,为用户提供了便利性。同时,用户也可以在实际数据导入之前,根据检测结果,提前发现冲突的记录,并排查原因,从源头保障数据质量,保证导入数据的准确性。 + + 更多信息,请参考[用户文档](链接)。 + +* Lightning 支持将字符集为 latin1 和 utf8 的源文件导入到 TiDB。[#44434](https://github.com/pingcap/tidb/issues/44434) @[lance6716](https://github.com/lance6716) **tw@qiancai** + + 通过此功能,用户现在可以使用 Lightning 数据导入工具直接将字符集为 latin1 和 utf8 的源文件导入到 TiDB 中。这扩展了用户在处理各种字符集时的数据导入选项的兼容性和灵活性。以前,导入这样的文件需要额外的预处理或转换。现在用户只需在运行 Lightning 导入过程时指定源文件的字符集(latin1 或 utf8)。Lightning 工具会在导入过程中自动处理字符集转换,确保数据的完整性和准确性。 + + 更多信息,请参考[用户文档](https://github.com/pingcap/docs-cn/pull/14172/files) + ## 兼容性变更 -从 7.2 版本开始 Lightning 配置文件的参数 "send-kv-pairs" 不再生效,由新的参数 "send-kv-size" 代替。 -该新参数用于指定 KV 键值对的大小阈值,单位为 KiB 或 MiB,默认值为 "16 KiB"。当 KV 键值对的大小达到设定的阈值时,它们将立即发送到 TiKV,避免在导入大宽表等一些场景,因为 Lightning 节点内存积累键值对过多导致 OOM 的问题。 + > **注意:** > > 以下为从 v7.1.0 升级至当前版本 (v7.2.0) 所需兼容性变更信息。如果从 v7.0.0 或之前版本升级到当前版本,可能也需要考虑和查看中间版本 release notes 中提到的兼容性变更信息。 @@ -176,11 +181,14 @@ Lightning 物理导入模式(local backend)支持在导入数据前根据目 | -------- | -------- | -------- | -------- | | | | | | | | | | | -| | | | | -| | | | | +| TiDB Lightning | `send-kv-pairs` | 废弃 | 从 7.2 版本开始 TiDB Lightning 配置文件的参数 "send-kv-pairs" 不再生效,由新的参数 "send-kv-size" 代替。该新参数用于指定 KV 键值对的大小阈值,单位为 KiB 或 MiB,默认值为 "16 KiB"。当 KV 键值对的大小达到设定的阈值时,它们将立即发送到 TiKV,避免在导入大宽表等一些场景因为 Lightning 节点内存积累键值对过多导致 OOM 的问题。**tw@hfxsd** | +| TiDB Lightning | `send-kv-size` | 新增 | 从 7.2 版本开始在 Lightning 配置文件 "[tikv-importer]" 这个 Session 中引入 `send-kv-size` 参数,用于设置发单次送到 TiKV 的 KV pairs 的大小。当 KV 键值对的大小达到设定的阈值时,它们将被 Lightning 立即发送到 TiKV,避免在导入大宽表的时候 Lightning 节点因为内存积累键值对过多导致 OOM 的问题。通过调整 "send-kv-size" 参数,你可以在内存使用和导入速度之间找到平衡,提高导入过程的稳定性和效率。**tw@hfxsd** | +| Data Migration | `strict-optimistic-shard-mode` | 新增 | 用于兼容历史版本 2.0 分库分表同步 DDL 的行为。当用户选择乐观模式时,可以启用该参数,开启后,乐观模式下,同步任务遇到二类 DDL 时,整个任务会中断,在多个表的 DDL变更有依赖关系的场景,可以及时中断,用户手动处理完各表的 DDL 后,再继续同步数据,保障上下游数据的一致性。 **tw@ran-huang** | ## 废弃功能 +- note [#issue](链接) @[贡献者 GitHub ID](链接) + ## 改进提升 + TiDB @@ -216,19 +224,12 @@ Lightning 物理导入模式(local backend)支持在导入数据前根据目 - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiDB Data Migration (DM) -功能:在 DataMigration(DM)7.2 版本中引入了一个新的参数"strict-optimistic-shard-mode" 用于兼容历史版本 2.0 分库分表同步 DDL 的行为。 -当用户选择乐观模式时,可以启用该参数,开启后,乐观模式下,同步任务遇到二类 DDL 时,整个任务会中断,在多个表的 DDL变更有依赖关系的场景,可以及时中断,用户手动处理完各表的 DDL 后,再继续同步数据,保障上下游数据的一致性。详细的参数设置和使用说明,请参考相关文档。 - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiDB Lightning - + TiDB Lightning -- Lightning 支持将字符集为 latin1 和 utf8 的源文件导入到 TiDB。 -通过此功能,用户现在可以使用 Lightning 数据导入工具直接将字符集为 latin1 和 utf8 的源文件导入到 TiDB 中。这扩展了用户在处理各种字符集时的数据导入选项的兼容性和灵活性。以前,导入这样的文件需要额外的预处理或转换。现在用户只需在运行 Lightning 导入过程时指定源文件的字符集(latin1 或 utf8)。Lightning 工具会在导入过程中自动处理字符集转换,确保数据的完整性和准确性。 [#44434](https://github.com/pingcap/tidb/issues/44434) @[lance6716](https://github.com/lance6716) -更多信息,请参考[用户文档](https://github.com/pingcap/docs-cn/pull/14172/files) -- Lightning 引入了新的参数 "send-kv-size" ,用于设置发单次送到 TiKV 的 KV pairs 的大小。 -在 Lightning 配置文件 "[tikv-importer]" 这个 Session 中引入了新的参数"send-kv-size" 。当 KV 键值对的大小达到设定的阈值时,它们将被 Lightning 立即发送到 TiKV,避免在导入大宽表的时候 Lightning 节点因为内存积累键值对过多导致 OOM 的问题。通过调整 "send-kv-size" 参数,您可以在内存使用和导入速度之间找到平衡,提高导入过程的稳定性和效率。[#43853](https://github.com/pingcap/tidb/issues/43853) @[D3Hunter](https://github.com/D3Hunter) + - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) From 7129b1bcdbb2d8e8360fabbb865bf213d7daa8cd Mon Sep 17 00:00:00 2001 From: qiancai Date: Tue, 13 Jun 2023 13:37:07 +0800 Subject: [PATCH 014/121] add release note: DDL tasks support pause and resume operations --- releases/release-7.2.0.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index e6b5893f1fd2..6c41e6c7bbef 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -104,11 +104,17 @@ TiDB 版本:7.2.0 ### 数据库管理 -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** +* DDL 任务支持暂停和恢复操作(实验特性)[#18015](https://github.com/pingcap/tidb/issues/18015) @[godouxm](https://github.com/godouxm) **tw@ran-huang** - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + TiDB v7.1.0 之前的版本中,当 DDL 任务执行期间遇到业务高峰时间点时,为了减少对业务的影响,只能手动取消 DDL 任务。TiDB v7.1.0 引入了 DDL 任务的暂停和恢复功能,你可以在高峰时间点暂停 DDL 任务,等到业务高峰时间结束后再恢复 DDL 任务,从而避免了 DDL 操作对业务负载的影响。 - 更多信息,请参考[用户文档](链接)。 + 例如,可以通过如下 `ADMIN PAUSE DDL JOBS` 或 `ADMIN RESUME DDL JOBS` 语句暂停或者恢复多个 DDL 任务: + + ```sql + ADMIN PAUSE DDL JOBS 1,2; + ADMIN RESUME DDL JOBS 1,2; + + 更多信息,请参考 [用户文档](/ddl-introduction.md#ddl - 相关的命令介绍)。 ### 可观测性 From 79dd0d3b5a31742291d9577ce805134458fe2dfc Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 13 Jun 2023 17:27:48 +0800 Subject: [PATCH 015/121] Update releases/release-7.2.0.md --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 6c41e6c7bbef..9ad06ac22165 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -199,7 +199,7 @@ TiDB 版本:7.2.0 + TiDB - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 优化构造索引扫描范围的逻辑,支持将一些复杂条件转化为索引扫描范围 [#41572](https://github.com/pingcap/tidb/issues/41572) [#44389](https://github.com/pingcap/tidb/issues/44389) @xuyifangreeneyes - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiKV From 2b4eba87b32daf4736228649e3362fa34176603b Mon Sep 17 00:00:00 2001 From: joey-yez <104608045+joey-yez@users.noreply.github.com> Date: Tue, 13 Jun 2023 18:39:40 +0800 Subject: [PATCH 016/121] Update release-7.2.0.md --- releases/release-7.2.0.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 9ad06ac22165..96709cf143c2 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -46,6 +46,12 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](/system-variables.md#tiflash_replica_read)。 +* TiFlash 支持 pipeline 执行模型(实验特性) [#6518](https://github.com/pingcap/tiflash/issues/6518) @[SeaRise](https://github.com/SeaRise) **tw@qiancai** + + 在 v7.2.0 版本之前,TiFlash 引擎中各个任务在执行时,需要自行申请线程资源。TiFlash 引擎通过控制任务数的方式限制线程资源使用,以避免线程资源超用,但是并不能完全避免。在 v7.2.0 版本中,TiFlash 引入 pipeline 执行模型,对所有线程资源进行统一管理,并对所有任务的执行进行统一调度,充分利用线程资源,同时避免资源超用。新增系统变量 [`tidb_enable_tiflash_pipeline_model`](/system-variables.md#tidb_enable_tiflash_pipeline_model) 用于设定是否启用 pipeline 执行模型。 + + 更多信息,请参考[用户文档](/system-variables.md#tidb_enable_tiflash_pipeline_model)。 + * 提升统计信息收集的性能 [#issue号](链接) @[xuyifangreeneyes](https://github.com/xuyifangreeneyes) **tw@hfxsd** v7.2.0 优化了统计信息的收集策略,会选择跳过一部分重复的信息,以及对优化器价值不高的信息,提升统计信息收集的整体速度达 30% 。 这个提升有利于 TiDB 对数据库对象的统计信息进行更及时的更新,使得生成的执行计划更准确, 从而达到提升数据库整体性能的目的。 From 6b34fef6eec4c15de59f1f41412a035e75684a78 Mon Sep 17 00:00:00 2001 From: qiancai Date: Wed, 14 Jun 2023 11:06:55 +0800 Subject: [PATCH 017/121] remove empty placeholders --- releases/release-7.2.0.md | 54 ++------------------------------------- 1 file changed, 2 insertions(+), 52 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 96709cf143c2..b3c3fc397656 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -17,24 +17,8 @@ TiDB 版本:7.2.0 ## 功能详情 -### 可扩展性 - - - -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 - ### 性能 -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 - * 新增支持下推两个[窗口函数](/tiflash/tiflash-supported-pushdown-calculations.md) 至 TiFlash [#7427](https://github.com/pingcap/tiflash/issues/7427) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@qiancai** * `FIRST_VALUE` @@ -64,12 +48,6 @@ TiDB 版本:7.2.0 ### 稳定性 -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 - * 自动管理资源超出预期的查询 (实验特性) [#issue号](链接) @[nolouch](https://github.com/nolouch) @[glorv](https://github.com/glorv) @[Connor1996](https://github.com/Connor1996) @[JmPotato](https://github.com/JmPotato) @[CabinfeverB](https://github.com/CabinfeverB) @[HuSharp](https://github.com/HuSharp) **tw@hfxsd** 突发的 SQL 性能问题引发数据库整体性能下降,是数据库稳定性最常见的挑战。 造成 SQL 性能问题的原因有很多, 有可能是未经充分测试的新 SQL,数据量剧烈变化,执行计划突变等等,这些问题很难从源头上完全规避。 TiDB 在 v7.2.0 加入了对资源超出预期的查询的管理能力,在上述问题发生时,能够快速降低影响范围。 @@ -80,22 +58,8 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](链接)。 -### 高可用 - -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 - ### SQL 功能 -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 - * TiDB 支持完整的分区类型管理功能 [#42728](https://github.com/pingcap/tidb/issues/42728) @[mjonss](https://github.com/mjonss) **tw@qiancai** 在 v7.2.0 之前,TiDB 中的分区表不能调整分区类型。从 v7.2.0 开始,TiDB 支持将分区表修改为非分区表、将非分区表修改为分区表、修改分区类型功能。你可以根据需要灵活调整表的分区类型、数量。例如,通过 `ALTER TABLE t PARTITION BY ...` 语句修改分区类型。 @@ -112,7 +76,7 @@ TiDB 版本:7.2.0 * DDL 任务支持暂停和恢复操作(实验特性)[#18015](https://github.com/pingcap/tidb/issues/18015) @[godouxm](https://github.com/godouxm) **tw@ran-huang** - TiDB v7.1.0 之前的版本中,当 DDL 任务执行期间遇到业务高峰时间点时,为了减少对业务的影响,只能手动取消 DDL 任务。TiDB v7.1.0 引入了 DDL 任务的暂停和恢复功能,你可以在高峰时间点暂停 DDL 任务,等到业务高峰时间结束后再恢复 DDL 任务,从而避免了 DDL 操作对业务负载的影响。 + TiDB v7.2.0 之前的版本中,当 DDL 任务执行期间遇到业务高峰时间点时,为了减少对业务的影响,只能手动取消 DDL 任务。TiDB v7.2.0 引入了 DDL 任务的暂停和恢复功能,你可以在高峰时间点暂停 DDL 任务,等到业务高峰时间结束后再恢复 DDL 任务,从而避免了 DDL 操作对业务负载的影响。 例如,可以通过如下 `ADMIN PAUSE DDL JOBS` 或 `ADMIN RESUME DDL JOBS` 语句暂停或者恢复多个 DDL 任务: @@ -124,26 +88,12 @@ TiDB 版本:7.2.0 ### 可观测性 -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 - * 为统计信息收集增加进度展示 [#issue号](链接) @[hawkingrei](https://github.com/hawkingrei) **tw@Oreoxmt** 对大表的统计信息收集经常会持续比较长的时间。 在过去的版本里,用户无从得知统计信息收集的进度,进而没法预测完成时间。 在 v7.2.0 中, TiDB 加入了对统计信息收集进度的信息展示。 新加入 [`SHOW ANALYZE SUMMARY`](链接) 命令,能够以表或分区为单位展示总体工作量,当前进度,以及对完成时间的预测。 在大规模数据导入、SQL 性能优化等场景下,用户能够了解整体任务进展,提升用户体验。 更多信息,请参考[用户文档](链接)。 -### 安全 - -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 - ### 数据迁移 * 引入新的 SQL statement “import into” (实验特性),该 SQL 集成了 Lightning 物理导入模式(local backend)的能力,大大提升导入数据的效率。[#42930](https://github.com/pingcap/tidb/issues/42930) @[D3Hunter](https://github.com/D3Hunter) **tw@hfxsd** @@ -303,4 +253,4 @@ TiDB 版本:7.2.0 感谢来自 TiDB 社区的贡献者们: -- [贡献者 GitHub ID]() \ No newline at end of file +- [贡献者 GitHub ID](链接) \ No newline at end of file From c95b03fb92d6ef66cefe5337d150638f7a7e9225 Mon Sep 17 00:00:00 2001 From: joey-yez <104608045+joey-yez@users.noreply.github.com> Date: Wed, 14 Jun 2023 11:12:29 +0800 Subject: [PATCH 018/121] Update release-7.2.0.md remove notes for partitions --- releases/release-7.2.0.md | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index b3c3fc397656..771c5faea617 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -60,18 +60,6 @@ TiDB 版本:7.2.0 ### SQL 功能 -* TiDB 支持完整的分区类型管理功能 [#42728](https://github.com/pingcap/tidb/issues/42728) @[mjonss](https://github.com/mjonss) **tw@qiancai** - - 在 v7.2.0 之前,TiDB 中的分区表不能调整分区类型。从 v7.2.0 开始,TiDB 支持将分区表修改为非分区表、将非分区表修改为分区表、修改分区类型功能。你可以根据需要灵活调整表的分区类型、数量。例如,通过 `ALTER TABLE t PARTITION BY ...` 语句修改分区类型。 - - 更多信息,请参考[用户文档](/partitioned-table.md#分区管理)。 - -* LIST 分区表支持 DEFAULT 分区功能 [#42728](https://github.com/pingcap/tidb/issues/42728) @[mjonss](https://github.com/mjonss) **tw@qiancai** - - LIST 分区表必须指定所有的分区,不满足任何分区条件的数据,无法正常写入该表。从 v7.2.0 开始,TiDB 支持 [默认 LIST 分区](/partitioned-table.md#list-分区) 功能。该功能启用时,所有不符合已有 LIST 分区的数据将被保存在默认 LIST 分区中。通过系统变量 `tidb_enable_default_list_partition` 控制是否启用默认 LIST 分区gonna。 - - 更多信息,请参考[用户文档](/partitioned-table.md#list-分区)。 - ### 数据库管理 * DDL 任务支持暂停和恢复操作(实验特性)[#18015](https://github.com/pingcap/tidb/issues/18015) @[godouxm](https://github.com/godouxm) **tw@ran-huang** From c21da30411775afc74ebe1cbc95b77497eb9c8f4 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 14 Jun 2023 13:47:35 +0800 Subject: [PATCH 019/121] Update releases/release-7.2.0.md Co-authored-by: Aolin --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 771c5faea617..017defc05933 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -120,7 +120,7 @@ TiDB 版本:7.2.0 | 变量名 | 修改类型(包括新增/修改/删除) | 描述 | |--------|------------------------------|------| -| [`tidb_remove_orderby_in_subquery`](/system-variables.md#tidb_remove_orderby_in_subquery-从-v610-版本开始引入)| 修改 | 从 v7.2.0 及之后版本中默认为 `ON`, 即优化器改写会考虑消除子查询中的排序操作。 | +| [`tidb_remove_orderby_in_subquery`](/system-variables.md#tidb_remove_orderby_in_subquery-从-v610-版本开始引入) | 修改 | 经进一步的测试后,该变量默认值从 `OFF` 修改为 `ON`,即优化器改写会移除子查询中的 `ORDER BY` 子句。 | | | | | | | | | | | | | From e94196536eb1389e0fd1c3aa7409e9c669a8b662 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 14 Jun 2023 14:09:51 +0800 Subject: [PATCH 020/121] update tw name and number --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 017defc05933..c8bde4bd341b 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -30,7 +30,7 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](/system-variables.md#tiflash_replica_read)。 -* TiFlash 支持 pipeline 执行模型(实验特性) [#6518](https://github.com/pingcap/tiflash/issues/6518) @[SeaRise](https://github.com/SeaRise) **tw@qiancai** +* TiFlash 支持 pipeline 执行模型(实验特性) [#6518](https://github.com/pingcap/tiflash/issues/6518) @[SeaRise](https://github.com/SeaRise) **tw@ran-huang** 在 v7.2.0 版本之前,TiFlash 引擎中各个任务在执行时,需要自行申请线程资源。TiFlash 引擎通过控制任务数的方式限制线程资源使用,以避免线程资源超用,但是并不能完全避免。在 v7.2.0 版本中,TiFlash 引入 pipeline 执行模型,对所有线程资源进行统一管理,并对所有任务的执行进行统一调度,充分利用线程资源,同时避免资源超用。新增系统变量 [`tidb_enable_tiflash_pipeline_model`](/system-variables.md#tidb_enable_tiflash_pipeline_model) 用于设定是否启用 pipeline 执行模型。 From f6e77c4ee9bae28a4fbdb250ff166ad66d11cd42 Mon Sep 17 00:00:00 2001 From: joey-yez <104608045+joey-yez@users.noreply.github.com> Date: Wed, 14 Jun 2023 14:26:04 +0800 Subject: [PATCH 021/121] Merge branch 'v7.2.0/release_notes' of https://github.com/qiancai/docs-cn into pr/14154 --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index c8bde4bd341b..556b9dc78cea 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -34,7 +34,7 @@ TiDB 版本:7.2.0 在 v7.2.0 版本之前,TiFlash 引擎中各个任务在执行时,需要自行申请线程资源。TiFlash 引擎通过控制任务数的方式限制线程资源使用,以避免线程资源超用,但是并不能完全避免。在 v7.2.0 版本中,TiFlash 引入 pipeline 执行模型,对所有线程资源进行统一管理,并对所有任务的执行进行统一调度,充分利用线程资源,同时避免资源超用。新增系统变量 [`tidb_enable_tiflash_pipeline_model`](/system-variables.md#tidb_enable_tiflash_pipeline_model) 用于设定是否启用 pipeline 执行模型。 - 更多信息,请参考[用户文档](/system-variables.md#tidb_enable_tiflash_pipeline_model)。 + 更多信息,请参考[用户文档](/tiflash/tiflash-pipeline-model.md)。 * 提升统计信息收集的性能 [#issue号](链接) @[xuyifangreeneyes](https://github.com/xuyifangreeneyes) **tw@hfxsd** From ec796515a5c5ffa4166b80abadeff4f8bb36e9de Mon Sep 17 00:00:00 2001 From: Roger Song Date: Wed, 14 Jun 2023 17:59:43 +0800 Subject: [PATCH 022/121] enhance hint parsing and support more patterns for binding from history --- releases/release-7.2.0.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 556b9dc78cea..2adde7ee8948 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -58,6 +58,13 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](链接)。 +* 增强对历史执行计划的绑定能力 [#issue号](链接) @[qw4990](https://github.com/qw4990) + + 新版本的 TiDB 对历史执行计划绑定的能力做了进一步增强。 一方面加强了对复杂语句的解析和绑定, 另一方面, 也加入了对新 Hint 的支持,包括 [`AGG_TO_COP()`](/optimizer-hints.md#agg_to_cop)、[`LIMIT_TO_COP()`](/optimizer-hints.md#limit_to_cop)、[`ORDERED_INDEX`](/optimizer-hints.md#order_indext1_name-idx1_name--idx2_name)、[`NO_ORDERED_INDEX()`](/optimizer-hints.md#no_order_indext1_name-idx1_name--idx2_name)。 借助这个能力, 从历史执行计划中创建的 [SQL Binding](/sql-plan-management.md#执行计划绑定-sql-binding) 能够更加稳定的固定住执行计划。 + + 更多信息,请参考[用户文档](/sql-plan-management.md#执行计划绑定-sql-binding)。 + + ### SQL 功能 ### 数据库管理 From d991c3bb485ac6f0eb0a7594befa89c6c84c08ab Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 14 Jun 2023 18:47:53 +0800 Subject: [PATCH 023/121] Apply suggestions from code review Co-authored-by: bob34007 <88366491+bob34007@users.noreply.github.com> --- releases/release-7.2.0.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 2adde7ee8948..3a76c669f535 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -58,7 +58,7 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](链接)。 -* 增强对历史执行计划的绑定能力 [#issue号](链接) @[qw4990](https://github.com/qw4990) +* 增强对历史执行计划的绑定能力 [#issue号](链接) @[qw4990](https://github.com/qw4990) **tw@Oreoxmt** 新版本的 TiDB 对历史执行计划绑定的能力做了进一步增强。 一方面加强了对复杂语句的解析和绑定, 另一方面, 也加入了对新 Hint 的支持,包括 [`AGG_TO_COP()`](/optimizer-hints.md#agg_to_cop)、[`LIMIT_TO_COP()`](/optimizer-hints.md#limit_to_cop)、[`ORDERED_INDEX`](/optimizer-hints.md#order_indext1_name-idx1_name--idx2_name)、[`NO_ORDERED_INDEX()`](/optimizer-hints.md#no_order_indext1_name-idx1_name--idx2_name)。 借助这个能力, 从历史执行计划中创建的 [SQL Binding](/sql-plan-management.md#执行计划绑定-sql-binding) 能够更加稳定的固定住执行计划。 @@ -67,6 +67,12 @@ TiDB 版本:7.2.0 ### SQL 功能 +* 支持 `CHECK` 约束 [#41711](https://github.com/pingcap/tidb/issues/41711) @[fzzf678] (https://github.com/fzzf678) **tw@qiancai** + + v7.2.0 版本开始,用户可以通过 `CHECK` 约束功能约束表中一个或者多个字段值必须满足特定条件。添加 `CHECK` 约束后,TiDB 会在数据插入或者更新时检查约束条件是否满足,只允许满足约束的数据写入。 + + 更多信息,请参考[用户文档](链接)。 + ### 数据库管理 * DDL 任务支持暂停和恢复操作(实验特性)[#18015](https://github.com/pingcap/tidb/issues/18015) @[godouxm](https://github.com/godouxm) **tw@ran-huang** From 8864a53b7421c92d1cb24db22b5fd118580cd827 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 15 Jun 2023 09:31:34 +0800 Subject: [PATCH 024/121] Update releases/release-7.2.0.md Co-authored-by: Frank945946 <108602632+Frank945946@users.noreply.github.com> --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 3a76c669f535..8d2a1acddb1a 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -103,7 +103,7 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](链接)。 -* Lightning 物理导入模式(local backend)支持在导入数据前对需要导入的数据是否存在键值冲突进行检测并处理。[#41629](https://github.com/pingcap/tidb/issues/41629)@[gozssky](https://github.com/gozssky) @[lance6716](https://github.com/lance6716) **tw@hfxsd** +* Lightning 物理导入模式(local backend)支持在导入数据前对需要导入的数据是否存在键值冲突进行检测并处理(实验特性)[#41629](https://github.com/pingcap/tidb/issues/41629)@[gozssky](https://github.com/gozssky) @[lance6716](https://github.com/lance6716) **tw@hfxsd** Lightning 物理导入模式(local backend)支持在导入数据前根据目标表的 PK、UK 定义对源文件的数据是否存在键值冲突进行检测。如发现存在冲突数据,在导入过程中用户可以通过配置策略如 replace 或 ignore 来处理冲突的数据,为用户提供了便利性。同时,用户也可以在实际数据导入之前,根据检测结果,提前发现冲突的记录,并排查原因,从源头保障数据质量,保证导入数据的准确性。 From 12b46ac836eee4f0c9c89a545d496a36458a36c0 Mon Sep 17 00:00:00 2001 From: joey-yez <104608045+joey-yez@users.noreply.github.com> Date: Thu, 15 Jun 2023 14:36:02 +0800 Subject: [PATCH 025/121] Update release-7.2.0.md --- releases/release-7.2.0.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 8d2a1acddb1a..17991868fb92 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -24,12 +24,6 @@ TiDB 版本:7.2.0 * `FIRST_VALUE` * `LAST_VALUE` -* TiFlash 支持副本选择策略 [#44106](https://github.com/pingcap/tidb/issues/44106) @[XuHuaiyu](https://github.com/XuHuaiyu) **tw@qiancai** - - 在 v7.2.0 版本之前,TiFlash 尽量使用所有节点的副本进行数据扫描及 MPP 计算,以提供最强大的性能。在 v7.2.0 版本中,TiFlash 引入副本选择策略,可以根据节点区域属性,选择特定的副本,并调度部分节点进行数据扫描及 MPP 计算。当集群部署在超过一个机房,并且每个机房都拥有完整的 TiFlash 数据副本时,可以只选择当前机房的 TiFlash 副本,在当前机房的 TiFlash 节点中进行数据扫描和 MPP 计算,避免大量跨机房的网络数据传输。新增系统变量 [`tiflash_replica_read`](/system-variables.md#tiflash_replica_read) 用于设定节点选择策略。 - - 更多信息,请参考[用户文档](/system-variables.md#tiflash_replica_read)。 - * TiFlash 支持 pipeline 执行模型(实验特性) [#6518](https://github.com/pingcap/tiflash/issues/6518) @[SeaRise](https://github.com/SeaRise) **tw@ran-huang** 在 v7.2.0 版本之前,TiFlash 引擎中各个任务在执行时,需要自行申请线程资源。TiFlash 引擎通过控制任务数的方式限制线程资源使用,以避免线程资源超用,但是并不能完全避免。在 v7.2.0 版本中,TiFlash 引入 pipeline 执行模型,对所有线程资源进行统一管理,并对所有任务的执行进行统一调度,充分利用线程资源,同时避免资源超用。新增系统变量 [`tidb_enable_tiflash_pipeline_model`](/system-variables.md#tidb_enable_tiflash_pipeline_model) 用于设定是否启用 pipeline 执行模型。 From c03fc5f178dc418d58134b06376a0585770b0031 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 15 Jun 2023 14:52:17 +0800 Subject: [PATCH 026/121] Update releases/release-7.2.0.md Co-authored-by: Hangjie Mo --- releases/release-7.2.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 17991868fb92..b4c252265a42 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -151,6 +151,7 @@ TiDB 版本:7.2.0 + TiDB - 优化构造索引扫描范围的逻辑,支持将一些复杂条件转化为索引扫描范围 [#41572](https://github.com/pingcap/tidb/issues/41572) [#44389](https://github.com/pingcap/tidb/issues/44389) @xuyifangreeneyes + - 支持分区表下推 TopN 逻辑,在减少了 indexLookUp 和 IndexMerge 算子回表次数,提升了 SQL 执行性能 [#26166](https://github.com/pingcap/tidb/issues/26166) [#41028](https://github.com/pingcap/tidb/issues/41028) - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiKV From c34d30fff85f6193731cf49612cc05de823087f5 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 15 Jun 2023 15:17:13 +0800 Subject: [PATCH 027/121] Update releases/release-7.2.0.md Co-authored-by: Hangjie Mo --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index b4c252265a42..e2aa84d3148f 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -151,7 +151,7 @@ TiDB 版本:7.2.0 + TiDB - 优化构造索引扫描范围的逻辑,支持将一些复杂条件转化为索引扫描范围 [#41572](https://github.com/pingcap/tidb/issues/41572) [#44389](https://github.com/pingcap/tidb/issues/44389) @xuyifangreeneyes - - 支持分区表下推 TopN 逻辑,在减少了 indexLookUp 和 IndexMerge 算子回表次数,提升了 SQL 执行性能 [#26166](https://github.com/pingcap/tidb/issues/26166) [#41028](https://github.com/pingcap/tidb/issues/41028) + - 支持分区表下推 TopN 算子,减少该情况下 indexLookUp 和 IndexMerge 算子回表次数,提升相关 SQL 执行性能 [#26166](https://github.com/pingcap/tidb/issues/26166) [#41028](https://github.com/pingcap/tidb/issues/41028) - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiKV From 91d9ba0640881cd7bb6878eb9d2a19dd0b5305ca Mon Sep 17 00:00:00 2001 From: Roger Song Date: Thu, 15 Jun 2023 15:46:48 +0800 Subject: [PATCH 028/121] address comments --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index e2aa84d3148f..3f1297489b29 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -36,7 +36,7 @@ TiDB 版本:7.2.0 * 提升表和索引一致性检查的性能 [#issue号](链接) @[wjhuang2016](https://github.com/wjhuang2016) **tw@qiancai** - TiDB 在新版本中优化了数据一致性校验的方式,大幅提升了 [`ADMIN CHECK [TABLE|INDEX]`](/sql-statements/sql-statement-admin-check-table-index.md) 的执行效率, 性能提升接近 200 倍。 这个能力可以大幅减少大型表数据导入的时间, 提升数据导入的体验。 设置 [`tidb_enable_fast_table_check`](链接) 为 `TRUE` 启用这个新机制。 + TiDB 在新版本中优化了数据一致性校验的方式,大幅提升了 [`ADMIN CHECK [TABLE|INDEX]`](/sql-statements/sql-statement-admin-check-table-index.md) 的执行效率, 性能提升接近 200 倍。 这个能力可以大幅减少大型表数据一致性检查的时间, 提升运维体验。 设置 [`tidb_enable_fast_table_check`](链接) 为 `TRUE` 启用这个新机制。 更多信息,请参考[用户文档](链接) From 05403d703cda9285c6cfa9bf6f77f49dd0a00efb Mon Sep 17 00:00:00 2001 From: joey-yez <104608045+joey-yez@users.noreply.github.com> Date: Thu, 15 Jun 2023 18:13:40 +0800 Subject: [PATCH 029/121] Update release-7.2.0.md --- releases/release-7.2.0.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 3f1297489b29..a99f455ce5ce 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -30,6 +30,10 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](/tiflash/tiflash-pipeline-model.md)。 +* 提升 TiFlash 处理超大量表的性能 [#7630](https://github.com/pingcap/tiflash/issues/7630) @[hongyunyan](https://github.com/hongyunyan) **tw@ran-huang** + + 在 v7.2.0 版本之前,TiFlash 会同步所有表的 schema 信息,即使该表没有 TiFlash 副本。此外,TiFlash 进行读写时,如果检测到某张表的 schema 变动,需要同步所有表的 schema 信息。当数据库中有大量表时,同步所有表的 schema 信息严重影响 TiFlash 的处理性能。在 v7.2.0 版本中,TiFlash 优化机制,只会同步包含 TiFlash 副本的表的 schema 信息。在检测到某张表的 schema 变动时,只会同步该表的 schema 信息,大大提升 TiFlash 处理性能,从而支持对超大量表的处理。该优化自动生效,不需要任何设定调整。 + * 提升统计信息收集的性能 [#issue号](链接) @[xuyifangreeneyes](https://github.com/xuyifangreeneyes) **tw@hfxsd** v7.2.0 优化了统计信息的收集策略,会选择跳过一部分重复的信息,以及对优化器价值不高的信息,提升统计信息收集的整体速度达 30% 。 这个提升有利于 TiDB 对数据库对象的统计信息进行更及时的更新,使得生成的执行计划更准确, 从而达到提升数据库整体性能的目的。 From 2cbc8b8abb2762befa2d58e85ca777a9d4a3c518 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 15 Jun 2023 18:19:38 +0800 Subject: [PATCH 030/121] Update releases/release-7.2.0.md --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index a99f455ce5ce..09b7372bb715 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -30,7 +30,7 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](/tiflash/tiflash-pipeline-model.md)。 -* 提升 TiFlash 处理超大量表的性能 [#7630](https://github.com/pingcap/tiflash/issues/7630) @[hongyunyan](https://github.com/hongyunyan) **tw@ran-huang** +* 提升 TiFlash 处理超大量表的性能 [#7630](https://github.com/pingcap/tiflash/issues/7630) @[hongyunyan](https://github.com/hongyunyan) **tw@qiancai** 在 v7.2.0 版本之前,TiFlash 会同步所有表的 schema 信息,即使该表没有 TiFlash 副本。此外,TiFlash 进行读写时,如果检测到某张表的 schema 变动,需要同步所有表的 schema 信息。当数据库中有大量表时,同步所有表的 schema 信息严重影响 TiFlash 的处理性能。在 v7.2.0 版本中,TiFlash 优化机制,只会同步包含 TiFlash 副本的表的 schema 信息。在检测到某张表的 schema 变动时,只会同步该表的 schema 信息,大大提升 TiFlash 处理性能,从而支持对超大量表的处理。该优化自动生效,不需要任何设定调整。 From 1e0c9e168288a4eaef6c4ac98048a85f96375d15 Mon Sep 17 00:00:00 2001 From: joey-yez <104608045+joey-yez@users.noreply.github.com> Date: Fri, 16 Jun 2023 11:39:46 +0800 Subject: [PATCH 031/121] Update release-7.2.0.md --- releases/release-7.2.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 09b7372bb715..0f6402e6edf8 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -30,9 +30,9 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](/tiflash/tiflash-pipeline-model.md)。 -* 提升 TiFlash 处理超大量表的性能 [#7630](https://github.com/pingcap/tiflash/issues/7630) @[hongyunyan](https://github.com/hongyunyan) **tw@qiancai** +* 降低 TiFlash 等待 schema 同步的时延 [#7630](https://github.com/pingcap/tiflash/issues/7630) @[hongyunyan](https://github.com/hongyunyan) **tw@qiancai** - 在 v7.2.0 版本之前,TiFlash 会同步所有表的 schema 信息,即使该表没有 TiFlash 副本。此外,TiFlash 进行读写时,如果检测到某张表的 schema 变动,需要同步所有表的 schema 信息。当数据库中有大量表时,同步所有表的 schema 信息严重影响 TiFlash 的处理性能。在 v7.2.0 版本中,TiFlash 优化机制,只会同步包含 TiFlash 副本的表的 schema 信息。在检测到某张表的 schema 变动时,只会同步该表的 schema 信息,大大提升 TiFlash 处理性能,从而支持对超大量表的处理。该优化自动生效,不需要任何设定调整。 + 当表的 schema 变动时,TiFlash 需要及时和 TiKV 同步表的 schema 信息。在 v7.2.0 版本之前,TiFlash 访问表数据时,如果检测到某张表的 schema 变动时,会同步所有表的 schema 信息。即使一张表没有 TiFlash 副本,TiFlash 也会同步该表的 schema 信息。当数据库中有大量表时,读取一张表的数据需要同步所有表的 schema 信息,schema 同步的时延非常高。在 v7.2.0 版本中,TiFlash 优化 schema 同步机制,只同步包含 TiFlash 副本的表的 schema 信息,并且当检测到某张表的 schema 变动时,只同步该表的 schema 信息,降低 TiFlash 同步 schema 的时延。该优化自动生效,不需要任何设定调整。 * 提升统计信息收集的性能 [#issue号](链接) @[xuyifangreeneyes](https://github.com/xuyifangreeneyes) **tw@hfxsd** From f8c34ff2ad3ea58ce4c5e9476e441348f4eb4110 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Fri, 16 Jun 2023 13:54:06 +0800 Subject: [PATCH 032/121] Update releases/release-7.2.0.md Co-authored-by: lance6716 --- releases/release-7.2.0.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 0f6402e6edf8..9de045a7798d 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -101,12 +101,6 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](链接)。 -* Lightning 物理导入模式(local backend)支持在导入数据前对需要导入的数据是否存在键值冲突进行检测并处理(实验特性)[#41629](https://github.com/pingcap/tidb/issues/41629)@[gozssky](https://github.com/gozssky) @[lance6716](https://github.com/lance6716) **tw@hfxsd** - - Lightning 物理导入模式(local backend)支持在导入数据前根据目标表的 PK、UK 定义对源文件的数据是否存在键值冲突进行检测。如发现存在冲突数据,在导入过程中用户可以通过配置策略如 replace 或 ignore 来处理冲突的数据,为用户提供了便利性。同时,用户也可以在实际数据导入之前,根据检测结果,提前发现冲突的记录,并排查原因,从源头保障数据质量,保证导入数据的准确性。 - - 更多信息,请参考[用户文档](链接)。 - * Lightning 支持将字符集为 latin1 和 utf8 的源文件导入到 TiDB。[#44434](https://github.com/pingcap/tidb/issues/44434) @[lance6716](https://github.com/lance6716) **tw@qiancai** 通过此功能,用户现在可以使用 Lightning 数据导入工具直接将字符集为 latin1 和 utf8 的源文件导入到 TiDB 中。这扩展了用户在处理各种字符集时的数据导入选项的兼容性和灵活性。以前,导入这样的文件需要额外的预处理或转换。现在用户只需在运行 Lightning 导入过程时指定源文件的字符集(latin1 或 utf8)。Lightning 工具会在导入过程中自动处理字符集转换,确保数据的完整性和准确性。 From 4b2245885770e9c028560b404d5e690ba4a70b18 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Fri, 16 Jun 2023 13:54:25 +0800 Subject: [PATCH 033/121] Update releases/release-7.2.0.md Co-authored-by: Aolin --- releases/release-7.2.0.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 9de045a7798d..e0c058fae7d8 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -87,12 +87,6 @@ TiDB 版本:7.2.0 ### 可观测性 -* 为统计信息收集增加进度展示 [#issue号](链接) @[hawkingrei](https://github.com/hawkingrei) **tw@Oreoxmt** - - 对大表的统计信息收集经常会持续比较长的时间。 在过去的版本里,用户无从得知统计信息收集的进度,进而没法预测完成时间。 在 v7.2.0 中, TiDB 加入了对统计信息收集进度的信息展示。 新加入 [`SHOW ANALYZE SUMMARY`](链接) 命令,能够以表或分区为单位展示总体工作量,当前进度,以及对完成时间的预测。 在大规模数据导入、SQL 性能优化等场景下,用户能够了解整体任务进展,提升用户体验。 - - 更多信息,请参考[用户文档](链接)。 - ### 数据迁移 * 引入新的 SQL statement “import into” (实验特性),该 SQL 集成了 Lightning 物理导入模式(local backend)的能力,大大提升导入数据的效率。[#42930](https://github.com/pingcap/tidb/issues/42930) @[D3Hunter](https://github.com/D3Hunter) **tw@hfxsd** From 2315bbd9f2078b1ecc129f9e9577ab3bb337ed99 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Fri, 16 Jun 2023 13:55:00 +0800 Subject: [PATCH 034/121] Apply suggestions from code review Co-authored-by: Connor --- releases/release-7.2.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index e0c058fae7d8..c400a288a7ca 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -46,7 +46,7 @@ TiDB 版本:7.2.0 ### 稳定性 -* 自动管理资源超出预期的查询 (实验特性) [#issue号](链接) @[nolouch](https://github.com/nolouch) @[glorv](https://github.com/glorv) @[Connor1996](https://github.com/Connor1996) @[JmPotato](https://github.com/JmPotato) @[CabinfeverB](https://github.com/CabinfeverB) @[HuSharp](https://github.com/HuSharp) **tw@hfxsd** +* 自动管理资源超出预期的查询 (实验特性) [#43691](https://github.com/pingcap/tidb/issues/43691) @[Connor1996](https://github.com/Connor1996) @[CabinfeverB](https://github.com/CabinfeverB) @[glorv](https://github.com/glorv) @[HuSharp](https://github.com/HuSharp) @[nolouch](https://github.com/nolouch) **tw@hfxsd** 突发的 SQL 性能问题引发数据库整体性能下降,是数据库稳定性最常见的挑战。 造成 SQL 性能问题的原因有很多, 有可能是未经充分测试的新 SQL,数据量剧烈变化,执行计划突变等等,这些问题很难从源头上完全规避。 TiDB 在 v7.2.0 加入了对资源超出预期的查询的管理能力,在上述问题发生时,能够快速降低影响范围。 @@ -54,7 +54,7 @@ TiDB 版本:7.2.0 对资源超出预期查询的自动管理, 为用户提供了有效的手段,快速应对突发的查询性能问题,降低问题对数据库整体性能的影响,从而提升数据库的稳定性。 - 更多信息,请参考[用户文档](链接)。 + 更多信息,请参考[用户文档](/tidb-resource-control.md###管理Runaway查询)。 * 增强对历史执行计划的绑定能力 [#issue号](链接) @[qw4990](https://github.com/qw4990) **tw@Oreoxmt** From 623e9f0c70d47e488cb0d0ebb8cd161ceb2b56ac Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Fri, 16 Jun 2023 13:58:40 +0800 Subject: [PATCH 035/121] Apply suggestions from code review Co-authored-by: lance6716 --- releases/release-7.2.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index c400a288a7ca..d81266f90cd4 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -95,9 +95,9 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](链接)。 -* Lightning 支持将字符集为 latin1 和 utf8 的源文件导入到 TiDB。[#44434](https://github.com/pingcap/tidb/issues/44434) @[lance6716](https://github.com/lance6716) **tw@qiancai** +* Lightning 支持将字符集为 latin1 的源文件导入到 TiDB。[#44434](https://github.com/pingcap/tidb/issues/44434) @[lance6716](https://github.com/lance6716) **tw@qiancai** - 通过此功能,用户现在可以使用 Lightning 数据导入工具直接将字符集为 latin1 和 utf8 的源文件导入到 TiDB 中。这扩展了用户在处理各种字符集时的数据导入选项的兼容性和灵活性。以前,导入这样的文件需要额外的预处理或转换。现在用户只需在运行 Lightning 导入过程时指定源文件的字符集(latin1 或 utf8)。Lightning 工具会在导入过程中自动处理字符集转换,确保数据的完整性和准确性。 + 通过此功能,用户现在可以使用 Lightning 数据导入工具直接将字符集为 latin1 的源文件导入到 TiDB 中。这扩展了用户在处理各种字符集时的数据导入选项的兼容性和灵活性。以前,导入这样的文件需要额外的预处理或转换。现在用户只需在运行 Lightning 导入过程时指定源文件的字符集。Lightning 工具会在导入过程中自动处理字符集转换,确保数据的完整性和准确性。 更多信息,请参考[用户文档](https://github.com/pingcap/docs-cn/pull/14172/files) From 8d116f2440902e6ad79ea64f8e1c1c5f9dffe2e8 Mon Sep 17 00:00:00 2001 From: qiancai Date: Fri, 16 Jun 2023 14:03:10 +0800 Subject: [PATCH 036/121] format updates --- releases/release-7.2.0.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index d81266f90cd4..ce8f6d844d26 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -33,7 +33,7 @@ TiDB 版本:7.2.0 * 降低 TiFlash 等待 schema 同步的时延 [#7630](https://github.com/pingcap/tiflash/issues/7630) @[hongyunyan](https://github.com/hongyunyan) **tw@qiancai** 当表的 schema 变动时,TiFlash 需要及时和 TiKV 同步表的 schema 信息。在 v7.2.0 版本之前,TiFlash 访问表数据时,如果检测到某张表的 schema 变动时,会同步所有表的 schema 信息。即使一张表没有 TiFlash 副本,TiFlash 也会同步该表的 schema 信息。当数据库中有大量表时,读取一张表的数据需要同步所有表的 schema 信息,schema 同步的时延非常高。在 v7.2.0 版本中,TiFlash 优化 schema 同步机制,只同步包含 TiFlash 副本的表的 schema 信息,并且当检测到某张表的 schema 变动时,只同步该表的 schema 信息,降低 TiFlash 同步 schema 的时延。该优化自动生效,不需要任何设定调整。 - + * 提升统计信息收集的性能 [#issue号](链接) @[xuyifangreeneyes](https://github.com/xuyifangreeneyes) **tw@hfxsd** v7.2.0 优化了统计信息的收集策略,会选择跳过一部分重复的信息,以及对优化器价值不高的信息,提升统计信息收集的整体速度达 30% 。 这个提升有利于 TiDB 对数据库对象的统计信息进行更及时的更新,使得生成的执行计划更准确, 从而达到提升数据库整体性能的目的。 @@ -58,19 +58,18 @@ TiDB 版本:7.2.0 * 增强对历史执行计划的绑定能力 [#issue号](链接) @[qw4990](https://github.com/qw4990) **tw@Oreoxmt** - 新版本的 TiDB 对历史执行计划绑定的能力做了进一步增强。 一方面加强了对复杂语句的解析和绑定, 另一方面, 也加入了对新 Hint 的支持,包括 [`AGG_TO_COP()`](/optimizer-hints.md#agg_to_cop)、[`LIMIT_TO_COP()`](/optimizer-hints.md#limit_to_cop)、[`ORDERED_INDEX`](/optimizer-hints.md#order_indext1_name-idx1_name--idx2_name)、[`NO_ORDERED_INDEX()`](/optimizer-hints.md#no_order_indext1_name-idx1_name--idx2_name)。 借助这个能力, 从历史执行计划中创建的 [SQL Binding](/sql-plan-management.md#执行计划绑定-sql-binding) 能够更加稳定的固定住执行计划。 + 新版本的 TiDB 对历史执行计划绑定的能力做了进一步增强。 一方面加强了对复杂语句的解析和绑定, 另一方面, 也加入了对新 Hint 的支持,包括 [`AGG_TO_COP()`](/optimizer-hints.md#agg_to_cop)、[`LIMIT_TO_COP()`](/optimizer-hints.md#limit_to_cop)、[`ORDERED_INDEX`](/optimizer-hints.md#order_indext1_name-idx1_name--idx2_name)、[`NO_ORDERED_INDEX()`](/optimizer-hints.md#no_order_indext1_name-idx1_name--idx2_name)。 借助这个能力, 从历史执行计划中创建的 [SQL Binding](/sql-plan-management.md#执行计划绑定-sql-binding) 能够更加稳定的固定住执行计划。 更多信息,请参考[用户文档](/sql-plan-management.md#执行计划绑定-sql-binding)。 - ### SQL 功能 * 支持 `CHECK` 约束 [#41711](https://github.com/pingcap/tidb/issues/41711) @[fzzf678] (https://github.com/fzzf678) **tw@qiancai** v7.2.0 版本开始,用户可以通过 `CHECK` 约束功能约束表中一个或者多个字段值必须满足特定条件。添加 `CHECK` 约束后,TiDB 会在数据插入或者更新时检查约束条件是否满足,只允许满足约束的数据写入。 - + 更多信息,请参考[用户文档](链接)。 - + ### 数据库管理 * DDL 任务支持暂停和恢复操作(实验特性)[#18015](https://github.com/pingcap/tidb/issues/18015) @[godouxm](https://github.com/godouxm) **tw@ran-huang** @@ -89,7 +88,7 @@ TiDB 版本:7.2.0 ### 数据迁移 -* 引入新的 SQL statement “import into” (实验特性),该 SQL 集成了 Lightning 物理导入模式(local backend)的能力,大大提升导入数据的效率。[#42930](https://github.com/pingcap/tidb/issues/42930) @[D3Hunter](https://github.com/D3Hunter) **tw@hfxsd** +* 引入新的 SQL statement “import into” (实验特性),该 SQL 集成了 Lightning 物理导入模式(local backend)的能力,大大提升导入数据的效率。[#42930](https://github.com/pingcap/tidb/issues/42930) @[D3Hunter](https://github.com/D3Hunter) **tw@qiancai** "import into " 集成了 Lightning 物理导入模式(local backend)的能力,用户可直接编写 "import into“ SQL 导入数据到 TiDB,同时还支持将数据导入任务拆分成多个子任务调度到多个 TiDB 节点,进行并行导入,提升导入性能。在导入空表的场景,用户无需再部署和管理 Lightning ,降低了导入数据难度的同时,大大提升了导入数据效率。 From 021096702408d463accc8bf9d491ef50132e80ae Mon Sep 17 00:00:00 2001 From: Yuanjia Zhang Date: Fri, 16 Jun 2023 14:12:33 +0800 Subject: [PATCH 037/121] Update releases/release-7.2.0.md Co-authored-by: Grace Cai --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index ce8f6d844d26..b13377311743 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -56,7 +56,7 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](/tidb-resource-control.md###管理Runaway查询)。 -* 增强对历史执行计划的绑定能力 [#issue号](链接) @[qw4990](https://github.com/qw4990) **tw@Oreoxmt** +* 增强对历史执行计划的绑定能力 [#39199](https://github.com/pingcap/tidb/issues/39199) @[qw4990](https://github.com/qw4990) **tw@Oreoxmt** 新版本的 TiDB 对历史执行计划绑定的能力做了进一步增强。 一方面加强了对复杂语句的解析和绑定, 另一方面, 也加入了对新 Hint 的支持,包括 [`AGG_TO_COP()`](/optimizer-hints.md#agg_to_cop)、[`LIMIT_TO_COP()`](/optimizer-hints.md#limit_to_cop)、[`ORDERED_INDEX`](/optimizer-hints.md#order_indext1_name-idx1_name--idx2_name)、[`NO_ORDERED_INDEX()`](/optimizer-hints.md#no_order_indext1_name-idx1_name--idx2_name)。 借助这个能力, 从历史执行计划中创建的 [SQL Binding](/sql-plan-management.md#执行计划绑定-sql-binding) 能够更加稳定的固定住执行计划。 From 1ce97ff224c7bde8eb52a812849d97633d133067 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Fri, 16 Jun 2023 14:18:26 +0800 Subject: [PATCH 038/121] add the issue number for two features --- releases/release-7.2.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index b13377311743..52999865c8f2 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -34,11 +34,11 @@ TiDB 版本:7.2.0 当表的 schema 变动时,TiFlash 需要及时和 TiKV 同步表的 schema 信息。在 v7.2.0 版本之前,TiFlash 访问表数据时,如果检测到某张表的 schema 变动时,会同步所有表的 schema 信息。即使一张表没有 TiFlash 副本,TiFlash 也会同步该表的 schema 信息。当数据库中有大量表时,读取一张表的数据需要同步所有表的 schema 信息,schema 同步的时延非常高。在 v7.2.0 版本中,TiFlash 优化 schema 同步机制,只同步包含 TiFlash 副本的表的 schema 信息,并且当检测到某张表的 schema 变动时,只同步该表的 schema 信息,降低 TiFlash 同步 schema 的时延。该优化自动生效,不需要任何设定调整。 -* 提升统计信息收集的性能 [#issue号](链接) @[xuyifangreeneyes](https://github.com/xuyifangreeneyes) **tw@hfxsd** +* 提升统计信息收集的性能 [#44725](https://github.com/pingcap/tidb/issues/44725) @[xuyifangreeneyes](https://github.com/xuyifangreeneyes) **tw@hfxsd** v7.2.0 优化了统计信息的收集策略,会选择跳过一部分重复的信息,以及对优化器价值不高的信息,提升统计信息收集的整体速度达 30% 。 这个提升有利于 TiDB 对数据库对象的统计信息进行更及时的更新,使得生成的执行计划更准确, 从而达到提升数据库整体性能的目的。 -* 提升表和索引一致性检查的性能 [#issue号](链接) @[wjhuang2016](https://github.com/wjhuang2016) **tw@qiancai** +* 提升表和索引一致性检查的性能 [#43693](https://github.com/pingcap/tidb/issues/43693) @[wjhuang2016](https://github.com/wjhuang2016) **tw@qiancai** TiDB 在新版本中优化了数据一致性校验的方式,大幅提升了 [`ADMIN CHECK [TABLE|INDEX]`](/sql-statements/sql-statement-admin-check-table-index.md) 的执行效率, 性能提升接近 200 倍。 这个能力可以大幅减少大型表数据一致性检查的时间, 提升运维体验。 设置 [`tidb_enable_fast_table_check`](链接) 为 `TRUE` 启用这个新机制。 From a69eb399bc523331921755ed752a98ade88eac55 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Fri, 16 Jun 2023 17:53:51 +0800 Subject: [PATCH 039/121] remove a feature description --- releases/release-7.2.0.md | 1 - 1 file changed, 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 52999865c8f2..355b9d41342c 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -142,7 +142,6 @@ TiDB 版本:7.2.0 + TiDB - 优化构造索引扫描范围的逻辑,支持将一些复杂条件转化为索引扫描范围 [#41572](https://github.com/pingcap/tidb/issues/41572) [#44389](https://github.com/pingcap/tidb/issues/44389) @xuyifangreeneyes - - 支持分区表下推 TopN 算子,减少该情况下 indexLookUp 和 IndexMerge 算子回表次数,提升相关 SQL 执行性能 [#26166](https://github.com/pingcap/tidb/issues/26166) [#41028](https://github.com/pingcap/tidb/issues/41028) - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiKV From cea1a14c3d988c051123b3198890cbc4882475a9 Mon Sep 17 00:00:00 2001 From: Roger Song Date: Sun, 18 Jun 2023 17:12:06 +0800 Subject: [PATCH 040/121] Introduce fix control --- releases/release-7.2.0.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 355b9d41342c..a63f886b2b85 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -62,6 +62,16 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](/sql-plan-management.md#执行计划绑定-sql-binding)。 +* Fix Controls 机制对优化器行为做细粒度控制 [#43169](https://github.com/pingcap/tidb/issues/43169) @[time-and-fate](https://github.com/time-and-fate) + + 为了生成更合理的执行计划,TiDB 优化器的行为会随产品迭代而不断演进。但在某些特定和极端场景下,这些变化可能引发性能的回退。因此 TiDB 引入了 Fix Controls 来控制优化器的一部分细粒度行为,允许客户对一些新的变化进行回滚或控制。 + + 每一个可控的行为,都有一个与 Fix 号码对应的 Github Issue 进行说明。所有可控的行为列举在文档 [Optimizer Fix Controls](/optimizer-fix-controls.md) 中。通过设置系统变量 [`tidb_opt_fix_control`](/system-variables.md#tidb_opt_fix_control-从-v710-版本开始引入) 可以为一个或多个行为设置目标值,进而达到行为控制的目的。 + + Fix Controls 机制加强了用户对 TiDB 优化器的细粒度管控能力,为升级过程引发的性能问题提供了新的修复手段,提升 TiDB 的稳定性。 + + 更多信息,请参考 [Optimizer Fix Controls](/optimizer-fix-controls.md)。 + ### SQL 功能 * 支持 `CHECK` 约束 [#41711](https://github.com/pingcap/tidb/issues/41711) @[fzzf678] (https://github.com/fzzf678) **tw@qiancai** From ce0c11f6d3774bf28de4378297f08025b6fb5a09 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 19 Jun 2023 10:10:47 +0800 Subject: [PATCH 041/121] Update releases/release-7.2.0.md --- releases/release-7.2.0.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index a63f886b2b85..7148c67e57af 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -139,6 +139,8 @@ TiDB 版本:7.2.0 | -------- | -------- | -------- | -------- | | | | | | | | | | | +| TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].optimize-filters-for-memory](/tikv-configuration-file.md#optimize-filters-for-memory-从-v710-版本开始引入) | 新增 | 控制是否生成能够最小化内存碎片的 Bloom/Ribbon filter。 | +| TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].ribbon-filter-above-level](/tikv-configuration-file.md#ribbon-filter-above-level-从-v710-版本开始引入) | 新增 | 控制是否对于大于等于该值的 level 使用 Ribbon filter,对于小于该值的 level,使用非 block-based bloom filter。 | | TiDB Lightning | `send-kv-pairs` | 废弃 | 从 7.2 版本开始 TiDB Lightning 配置文件的参数 "send-kv-pairs" 不再生效,由新的参数 "send-kv-size" 代替。该新参数用于指定 KV 键值对的大小阈值,单位为 KiB 或 MiB,默认值为 "16 KiB"。当 KV 键值对的大小达到设定的阈值时,它们将立即发送到 TiKV,避免在导入大宽表等一些场景因为 Lightning 节点内存积累键值对过多导致 OOM 的问题。**tw@hfxsd** | | TiDB Lightning | `send-kv-size` | 新增 | 从 7.2 版本开始在 Lightning 配置文件 "[tikv-importer]" 这个 Session 中引入 `send-kv-size` 参数,用于设置发单次送到 TiKV 的 KV pairs 的大小。当 KV 键值对的大小达到设定的阈值时,它们将被 Lightning 立即发送到 TiKV,避免在导入大宽表的时候 Lightning 节点因为内存积累键值对过多导致 OOM 的问题。通过调整 "send-kv-size" 参数,你可以在内存使用和导入速度之间找到平衡,提高导入过程的稳定性和效率。**tw@hfxsd** | | Data Migration | `strict-optimistic-shard-mode` | 新增 | 用于兼容历史版本 2.0 分库分表同步 DDL 的行为。当用户选择乐观模式时,可以启用该参数,开启后,乐观模式下,同步任务遇到二类 DDL 时,整个任务会中断,在多个表的 DDL变更有依赖关系的场景,可以及时中断,用户手动处理完各表的 DDL 后,再继续同步数据,保障上下游数据的一致性。 **tw@ran-huang** | From 2e3a4eee81dada4568254d7010459af6e22cc9ad Mon Sep 17 00:00:00 2001 From: Aolin Date: Mon, 19 Jun 2023 11:09:35 +0800 Subject: [PATCH 042/121] compatibility changes: add tidb_expensive_txn_time_threshold and TiCDC Signed-off-by: Aolin --- releases/release-7.2.0.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 7148c67e57af..ce4277363fcd 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -129,7 +129,7 @@ TiDB 版本:7.2.0 | 变量名 | 修改类型(包括新增/修改/删除) | 描述 | |--------|------------------------------|------| | [`tidb_remove_orderby_in_subquery`](/system-variables.md#tidb_remove_orderby_in_subquery-从-v610-版本开始引入) | 修改 | 经进一步的测试后,该变量默认值从 `OFF` 修改为 `ON`,即优化器改写会移除子查询中的 `ORDER BY` 子句。 | -| | | | +| [`tidb_expensive_txn_time_threshold`](/system-variables.md#tidb_expensive_txn_time_threshold-从-v720-版本开始引入) | 新增 | 控制打印 expensive transaction 日志的阈值时间,默认值是 600 秒。expensive transaction 日志会将尚未 COMMIT 或 ROLLBACK 且持续时间超过该阈值的事务的相关信息打印出来。 | | | | | | | | | @@ -144,6 +144,8 @@ TiDB 版本:7.2.0 | TiDB Lightning | `send-kv-pairs` | 废弃 | 从 7.2 版本开始 TiDB Lightning 配置文件的参数 "send-kv-pairs" 不再生效,由新的参数 "send-kv-size" 代替。该新参数用于指定 KV 键值对的大小阈值,单位为 KiB 或 MiB,默认值为 "16 KiB"。当 KV 键值对的大小达到设定的阈值时,它们将立即发送到 TiKV,避免在导入大宽表等一些场景因为 Lightning 节点内存积累键值对过多导致 OOM 的问题。**tw@hfxsd** | | TiDB Lightning | `send-kv-size` | 新增 | 从 7.2 版本开始在 Lightning 配置文件 "[tikv-importer]" 这个 Session 中引入 `send-kv-size` 参数,用于设置发单次送到 TiKV 的 KV pairs 的大小。当 KV 键值对的大小达到设定的阈值时,它们将被 Lightning 立即发送到 TiKV,避免在导入大宽表的时候 Lightning 节点因为内存积累键值对过多导致 OOM 的问题。通过调整 "send-kv-size" 参数,你可以在内存使用和导入速度之间找到平衡,提高导入过程的稳定性和效率。**tw@hfxsd** | | Data Migration | `strict-optimistic-shard-mode` | 新增 | 用于兼容历史版本 2.0 分库分表同步 DDL 的行为。当用户选择乐观模式时,可以启用该参数,开启后,乐观模式下,同步任务遇到二类 DDL 时,整个任务会中断,在多个表的 DDL变更有依赖关系的场景,可以及时中断,用户手动处理完各表的 DDL 后,再继续同步数据,保障上下游数据的一致性。 **tw@ran-huang** | +| TiCDC | [`sink.protocol`](/ticdc/ticdc-changefeed-config.md) | 修改 | 扩展下游类型是 Kafka 时的可选值范围:增加 `"open-protocol"`。用于指定编码消息时使用的格式协议。| +| TiCDC | [`sink.delete-only-output-handle-key-columns`](/ticdc/ticdc-changefeed-config.md) | 新增 | 指定 Delete 事件的输出内容,只对 canal-json 和 open-protocol 协议有效。默认值为 false,即输出所有列的内容。当设置为 true 时,只输出主键列,或唯一索引列的内容。 | ## 废弃功能 From d8f29aaa70c37415d313f1de1612315e16c218ee Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Mon, 19 Jun 2023 11:30:22 +0800 Subject: [PATCH 043/121] Update releases/release-7.2.0.md --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index ce4277363fcd..d5a6227deb51 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -142,7 +142,7 @@ TiDB 版本:7.2.0 | TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].optimize-filters-for-memory](/tikv-configuration-file.md#optimize-filters-for-memory-从-v710-版本开始引入) | 新增 | 控制是否生成能够最小化内存碎片的 Bloom/Ribbon filter。 | | TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].ribbon-filter-above-level](/tikv-configuration-file.md#ribbon-filter-above-level-从-v710-版本开始引入) | 新增 | 控制是否对于大于等于该值的 level 使用 Ribbon filter,对于小于该值的 level,使用非 block-based bloom filter。 | | TiDB Lightning | `send-kv-pairs` | 废弃 | 从 7.2 版本开始 TiDB Lightning 配置文件的参数 "send-kv-pairs" 不再生效,由新的参数 "send-kv-size" 代替。该新参数用于指定 KV 键值对的大小阈值,单位为 KiB 或 MiB,默认值为 "16 KiB"。当 KV 键值对的大小达到设定的阈值时,它们将立即发送到 TiKV,避免在导入大宽表等一些场景因为 Lightning 节点内存积累键值对过多导致 OOM 的问题。**tw@hfxsd** | -| TiDB Lightning | `send-kv-size` | 新增 | 从 7.2 版本开始在 Lightning 配置文件 "[tikv-importer]" 这个 Session 中引入 `send-kv-size` 参数,用于设置发单次送到 TiKV 的 KV pairs 的大小。当 KV 键值对的大小达到设定的阈值时,它们将被 Lightning 立即发送到 TiKV,避免在导入大宽表的时候 Lightning 节点因为内存积累键值对过多导致 OOM 的问题。通过调整 "send-kv-size" 参数,你可以在内存使用和导入速度之间找到平衡,提高导入过程的稳定性和效率。**tw@hfxsd** | +| TiDB Lightning | `send-kv-size` | 新增 | 从 7.2 版本开始在 TiDB Lightning 配置文件 "[tikv-importer]" 这个 Session 中引入 `send-kv-size` 参数,用于设置发单次送到 TiKV 的 KV pairs 的大小。当 KV 键值对的大小达到设定的阈值时,它们将被 TiDB Lightning 立即发送到 TiKV,避免在导入大宽表的时候 TiDB Lightning 节点因为内存积累键值对过多导致 OOM 的问题。通过调整该参数,你可以在内存使用和导入速度之间找到平衡,提高导入过程的稳定性和效率。**tw@hfxsd** | | Data Migration | `strict-optimistic-shard-mode` | 新增 | 用于兼容历史版本 2.0 分库分表同步 DDL 的行为。当用户选择乐观模式时,可以启用该参数,开启后,乐观模式下,同步任务遇到二类 DDL 时,整个任务会中断,在多个表的 DDL变更有依赖关系的场景,可以及时中断,用户手动处理完各表的 DDL 后,再继续同步数据,保障上下游数据的一致性。 **tw@ran-huang** | | TiCDC | [`sink.protocol`](/ticdc/ticdc-changefeed-config.md) | 修改 | 扩展下游类型是 Kafka 时的可选值范围:增加 `"open-protocol"`。用于指定编码消息时使用的格式协议。| | TiCDC | [`sink.delete-only-output-handle-key-columns`](/ticdc/ticdc-changefeed-config.md) | 新增 | 指定 Delete 事件的输出内容,只对 canal-json 和 open-protocol 协议有效。默认值为 false,即输出所有列的内容。当设置为 true 时,只输出主键列,或唯一索引列的内容。 | From 30fdac3568e6c88791b449bc595aa2ed0f6419ae Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Mon, 19 Jun 2023 11:30:52 +0800 Subject: [PATCH 044/121] Update releases/release-7.2.0.md --- releases/release-7.2.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index d5a6227deb51..a2e8a3d242af 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -129,6 +129,7 @@ TiDB 版本:7.2.0 | 变量名 | 修改类型(包括新增/修改/删除) | 描述 | |--------|------------------------------|------| | [`tidb_remove_orderby_in_subquery`](/system-variables.md#tidb_remove_orderby_in_subquery-从-v610-版本开始引入) | 修改 | 经进一步的测试后,该变量默认值从 `OFF` 修改为 `ON`,即优化器改写会移除子查询中的 `ORDER BY` 子句。 | +| [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) | 新增 | 这个变量表示在执行 `ANALYZE` 命令收集统计信息时,跳过哪些类型的列的统计信息收集。该变量仅适用于 [`tidb_analyze_version = 2`](#tidb_analyze_version-从-v510-版本开始引入) 的情况。使用 `ANALYZE TABLE t COLUMNS c1, ..., cn` 语法时,如果指定的列的类型在 `tidb_analyze_skip_column_types` 中,则不会收集该列的统计信息。 | | [`tidb_expensive_txn_time_threshold`](/system-variables.md#tidb_expensive_txn_time_threshold-从-v720-版本开始引入) | 新增 | 控制打印 expensive transaction 日志的阈值时间,默认值是 600 秒。expensive transaction 日志会将尚未 COMMIT 或 ROLLBACK 且持续时间超过该阈值的事务的相关信息打印出来。 | | | | | | | | | From 38a91b54868b42bb548b3e349091c7d16ec173af Mon Sep 17 00:00:00 2001 From: Ran Date: Mon, 19 Jun 2023 14:30:24 +0800 Subject: [PATCH 045/121] Apply suggestions from code review --- releases/release-7.2.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index a2e8a3d242af..fd07a09508fe 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -132,7 +132,7 @@ TiDB 版本:7.2.0 | [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) | 新增 | 这个变量表示在执行 `ANALYZE` 命令收集统计信息时,跳过哪些类型的列的统计信息收集。该变量仅适用于 [`tidb_analyze_version = 2`](#tidb_analyze_version-从-v510-版本开始引入) 的情况。使用 `ANALYZE TABLE t COLUMNS c1, ..., cn` 语法时,如果指定的列的类型在 `tidb_analyze_skip_column_types` 中,则不会收集该列的统计信息。 | | [`tidb_expensive_txn_time_threshold`](/system-variables.md#tidb_expensive_txn_time_threshold-从-v720-版本开始引入) | 新增 | 控制打印 expensive transaction 日志的阈值时间,默认值是 600 秒。expensive transaction 日志会将尚未 COMMIT 或 ROLLBACK 且持续时间超过该阈值的事务的相关信息打印出来。 | | | | | -| | | | +| [`tidb_enable_tiflash_pipeline_model`](/system-variables.md#tidb_enable_tiflash_pipeline_model-从-v720-版本开始引入) | 新增 | 这个变量用来控制是否启用 TiFlash 新的执行模型 [Pipeline Model](/tiflash/tiflash-pipeline-model.md),默认值为 `OFF`,即关闭 Pipeline Model。 | ### 配置文件参数 @@ -144,7 +144,7 @@ TiDB 版本:7.2.0 | TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].ribbon-filter-above-level](/tikv-configuration-file.md#ribbon-filter-above-level-从-v710-版本开始引入) | 新增 | 控制是否对于大于等于该值的 level 使用 Ribbon filter,对于小于该值的 level,使用非 block-based bloom filter。 | | TiDB Lightning | `send-kv-pairs` | 废弃 | 从 7.2 版本开始 TiDB Lightning 配置文件的参数 "send-kv-pairs" 不再生效,由新的参数 "send-kv-size" 代替。该新参数用于指定 KV 键值对的大小阈值,单位为 KiB 或 MiB,默认值为 "16 KiB"。当 KV 键值对的大小达到设定的阈值时,它们将立即发送到 TiKV,避免在导入大宽表等一些场景因为 Lightning 节点内存积累键值对过多导致 OOM 的问题。**tw@hfxsd** | | TiDB Lightning | `send-kv-size` | 新增 | 从 7.2 版本开始在 TiDB Lightning 配置文件 "[tikv-importer]" 这个 Session 中引入 `send-kv-size` 参数,用于设置发单次送到 TiKV 的 KV pairs 的大小。当 KV 键值对的大小达到设定的阈值时,它们将被 TiDB Lightning 立即发送到 TiKV,避免在导入大宽表的时候 TiDB Lightning 节点因为内存积累键值对过多导致 OOM 的问题。通过调整该参数,你可以在内存使用和导入速度之间找到平衡,提高导入过程的稳定性和效率。**tw@hfxsd** | -| Data Migration | `strict-optimistic-shard-mode` | 新增 | 用于兼容历史版本 2.0 分库分表同步 DDL 的行为。当用户选择乐观模式时,可以启用该参数,开启后,乐观模式下,同步任务遇到二类 DDL 时,整个任务会中断,在多个表的 DDL变更有依赖关系的场景,可以及时中断,用户手动处理完各表的 DDL 后,再继续同步数据,保障上下游数据的一致性。 **tw@ran-huang** | +| Data Migration | [`strict-optimistic-shard-mode`](/dm/feature-shard-merge-optimistic.md) | 新增 | 用于兼容历史版本 TiDB Data Migration v2.0 的分库分表同步 DDL 的行为。当用户选择乐观模式时,可以启用该参数,开启后,乐观模式下,同步任务遇到二类 DDL 时,整个任务会中断。在多个表的 DDL 变更有依赖关系的场景,可以及时中断同步,在用户手动处理完各表的 DDL 后,再继续同步数据,保障上下游数据的一致性。 **tw@ran-huang** | | TiCDC | [`sink.protocol`](/ticdc/ticdc-changefeed-config.md) | 修改 | 扩展下游类型是 Kafka 时的可选值范围:增加 `"open-protocol"`。用于指定编码消息时使用的格式协议。| | TiCDC | [`sink.delete-only-output-handle-key-columns`](/ticdc/ticdc-changefeed-config.md) | 新增 | 指定 Delete 事件的输出内容,只对 canal-json 和 open-protocol 协议有效。默认值为 false,即输出所有列的内容。当设置为 true 时,只输出主键列,或唯一索引列的内容。 | From 5c72da7a3a4ca07bd5ea94eeedc0be84be31b028 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Mon, 19 Jun 2023 15:58:44 +0800 Subject: [PATCH 046/121] Apply suggestions from code review --- releases/release-7.2.0.md | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index fd07a09508fe..d4fc88c00e13 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -36,7 +36,9 @@ TiDB 版本:7.2.0 * 提升统计信息收集的性能 [#44725](https://github.com/pingcap/tidb/issues/44725) @[xuyifangreeneyes](https://github.com/xuyifangreeneyes) **tw@hfxsd** - v7.2.0 优化了统计信息的收集策略,会选择跳过一部分重复的信息,以及对优化器价值不高的信息,提升统计信息收集的整体速度达 30% 。 这个提升有利于 TiDB 对数据库对象的统计信息进行更及时的更新,使得生成的执行计划更准确, 从而达到提升数据库整体性能的目的。 + TiDB v7.2.0 优化了统计信息的收集策略,会选择跳过一部分重复的信息,以及对优化器价值不高的信息。统计信息收集的整体速度提升了 30%。该提升有利于 TiDB 对数据库对象的统计信息进行更及时的更新,使得生成的执行计划更准确,从而达到提升数据库整体性能的目的。 + + 更多信息,请参考[用户文档](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入)。 * 提升表和索引一致性检查的性能 [#43693](https://github.com/pingcap/tidb/issues/43693) @[wjhuang2016](https://github.com/wjhuang2016) **tw@qiancai** @@ -46,15 +48,15 @@ TiDB 版本:7.2.0 ### 稳定性 -* 自动管理资源超出预期的查询 (实验特性) [#43691](https://github.com/pingcap/tidb/issues/43691) @[Connor1996](https://github.com/Connor1996) @[CabinfeverB](https://github.com/CabinfeverB) @[glorv](https://github.com/glorv) @[HuSharp](https://github.com/HuSharp) @[nolouch](https://github.com/nolouch) **tw@hfxsd** +* 自动管理资源超出预期的查询(实验特性)[#43691](https://github.com/pingcap/tidb/issues/43691) @[Connor1996](https://github.com/Connor1996) @[CabinfeverB](https://github.com/CabinfeverB) @[glorv](https://github.com/glorv) @[HuSharp](https://github.com/HuSharp) @[nolouch](https://github.com/nolouch) **tw@hfxsd** - 突发的 SQL 性能问题引发数据库整体性能下降,是数据库稳定性最常见的挑战。 造成 SQL 性能问题的原因有很多, 有可能是未经充分测试的新 SQL,数据量剧烈变化,执行计划突变等等,这些问题很难从源头上完全规避。 TiDB 在 v7.2.0 加入了对资源超出预期的查询的管理能力,在上述问题发生时,能够快速降低影响范围。 + 突发的 SQL 性能问题引发数据库整体性能下降,是数据库稳定性最常见的挑战。造成 SQL 性能问题的原因有很多,例如未经充分测试的新 SQL、数据量剧烈变化、执行计划突变。这些问题很难从源头上完全规避。TiDB v7.2.0 增加了对资源超出预期的查询的管理能力,在上述问题发生时,能够快速降低影响范围。 - 用户可以针对某个资源组 (Resource Group) 设置查询的最长执行时间。 当查询的执行时间超过设置时, 自动降低查询的优先级或者取消查询。 用户还可以设置在一段时间内通过文本立即匹配已经识别出的查询, 从而避免问题查询的并发度太高时,在识别阶段就造成大量消耗的情况。 + 你可以针对某个资源组 (Resource Group) 设置查询的最长执行时间。当查询的执行时间超过设置时,自动降低查询的优先级或者取消查询。你还可以设置在一段时间内通过文本立即匹配已经识别出的查询,从而避免问题查询的并发度太高时,在识别阶段就造成大量资源消耗的情况。 - 对资源超出预期查询的自动管理, 为用户提供了有效的手段,快速应对突发的查询性能问题,降低问题对数据库整体性能的影响,从而提升数据库的稳定性。 + 对资源超出预期查询的自动管理,为你提供了有效的手段,快速应对突发的查询性能问题,降低对数据库整体性能的影响,从而提升数据库的稳定性。 - 更多信息,请参考[用户文档](/tidb-resource-control.md###管理Runaway查询)。 + 更多信息,请参考[用户文档](/tidb-resource-control.md#管理资源消耗超出预期的查询-runaway-queries)。 * 增强对历史执行计划的绑定能力 [#39199](https://github.com/pingcap/tidb/issues/39199) @[qw4990](https://github.com/qw4990) **tw@Oreoxmt** @@ -62,15 +64,15 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](/sql-plan-management.md#执行计划绑定-sql-binding)。 -* Fix Controls 机制对优化器行为做细粒度控制 [#43169](https://github.com/pingcap/tidb/issues/43169) @[time-and-fate](https://github.com/time-and-fate) +* Optimizer Fix Controls 机制对优化器行为做细粒度控制 [#43169](https://github.com/pingcap/tidb/issues/43169) @[time-and-fate](https://github.com/time-and-fate) **tw@hfxsd** - 为了生成更合理的执行计划,TiDB 优化器的行为会随产品迭代而不断演进。但在某些特定和极端场景下,这些变化可能引发性能的回退。因此 TiDB 引入了 Fix Controls 来控制优化器的一部分细粒度行为,允许客户对一些新的变化进行回滚或控制。 + 为了生成更合理的执行计划,TiDB 优化器的行为会随产品迭代而不断演进。但在某些特定场景下,这些变化可能引发性能回退。因此 TiDB 引入了 Optimizer Fix Controls 来控制优化器的一部分细粒度行为,你可以对一些新的变化进行回滚或控制。 - 每一个可控的行为,都有一个与 Fix 号码对应的 Github Issue 进行说明。所有可控的行为列举在文档 [Optimizer Fix Controls](/optimizer-fix-controls.md) 中。通过设置系统变量 [`tidb_opt_fix_control`](/system-variables.md#tidb_opt_fix_control-从-v710-版本开始引入) 可以为一个或多个行为设置目标值,进而达到行为控制的目的。 + 每一个可控的行为,都有一个与 Fix 号码对应的 GitHub Issue 进行说明。所有可控的行为列举在文档 [Optimizer Fix Controls](/optimizer-fix-controls.md) 中。通过设置系统变量 [`tidb_opt_fix_control`](/system-variables.md#tidb_opt_fix_control-从-v710-版本开始引入) 可以为一个或多个行为设置目标值,进而达到行为控制的目的。 - Fix Controls 机制加强了用户对 TiDB 优化器的细粒度管控能力,为升级过程引发的性能问题提供了新的修复手段,提升 TiDB 的稳定性。 + Optimizer Fix Controls 机制加强了你对 TiDB 优化器的细粒度管控能力,为升级过程引发的性能问题提供了新的修复手段,提升 TiDB 的稳定性。 - 更多信息,请参考 [Optimizer Fix Controls](/optimizer-fix-controls.md)。 + 更多信息,请参考 [用户文档](/optimizer-fix-controls.md)。 ### SQL 功能 @@ -142,8 +144,8 @@ TiDB 版本:7.2.0 | | | | | | TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].optimize-filters-for-memory](/tikv-configuration-file.md#optimize-filters-for-memory-从-v710-版本开始引入) | 新增 | 控制是否生成能够最小化内存碎片的 Bloom/Ribbon filter。 | | TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].ribbon-filter-above-level](/tikv-configuration-file.md#ribbon-filter-above-level-从-v710-版本开始引入) | 新增 | 控制是否对于大于等于该值的 level 使用 Ribbon filter,对于小于该值的 level,使用非 block-based bloom filter。 | -| TiDB Lightning | `send-kv-pairs` | 废弃 | 从 7.2 版本开始 TiDB Lightning 配置文件的参数 "send-kv-pairs" 不再生效,由新的参数 "send-kv-size" 代替。该新参数用于指定 KV 键值对的大小阈值,单位为 KiB 或 MiB,默认值为 "16 KiB"。当 KV 键值对的大小达到设定的阈值时,它们将立即发送到 TiKV,避免在导入大宽表等一些场景因为 Lightning 节点内存积累键值对过多导致 OOM 的问题。**tw@hfxsd** | -| TiDB Lightning | `send-kv-size` | 新增 | 从 7.2 版本开始在 TiDB Lightning 配置文件 "[tikv-importer]" 这个 Session 中引入 `send-kv-size` 参数,用于设置发单次送到 TiKV 的 KV pairs 的大小。当 KV 键值对的大小达到设定的阈值时,它们将被 TiDB Lightning 立即发送到 TiKV,避免在导入大宽表的时候 TiDB Lightning 节点因为内存积累键值对过多导致 OOM 的问题。通过调整该参数,你可以在内存使用和导入速度之间找到平衡,提高导入过程的稳定性和效率。**tw@hfxsd** | +| TiDB Lightning | `send-kv-pairs` | 废弃 | 从 v7.2.0 版本开始,`send-kv-pairs` 不再生效。你可以使用新参数 [`send-kv-size`](/tidb-lightning/tidb-lightning-configuration.md) 来指定物理导入模式下向 TiKV 发送数据时一次请求的最大大小。**tw@hfxsd** | +| TiDB Lightning | [`send-kv-size`](/tidb-lightning/tidb-lightning-configuration.md) | 新增 | 用于设置单次发送到 TiKV 的 KV Pairs 的大小。当 KV 键值对的大小达到设定的阈值时,它们将被 TiDB Lightning 立即发送到 TiKV,避免在导入大宽表的时候由于 TiDB Lightning 节点内存积累键值对过多导致 OOM 的问题。通过调整该参数,你可以在内存使用和导入速度之间找到平衡,提高导入过程的稳定性和效率。**tw@hfxsd** | | Data Migration | [`strict-optimistic-shard-mode`](/dm/feature-shard-merge-optimistic.md) | 新增 | 用于兼容历史版本 TiDB Data Migration v2.0 的分库分表同步 DDL 的行为。当用户选择乐观模式时,可以启用该参数,开启后,乐观模式下,同步任务遇到二类 DDL 时,整个任务会中断。在多个表的 DDL 变更有依赖关系的场景,可以及时中断同步,在用户手动处理完各表的 DDL 后,再继续同步数据,保障上下游数据的一致性。 **tw@ran-huang** | | TiCDC | [`sink.protocol`](/ticdc/ticdc-changefeed-config.md) | 修改 | 扩展下游类型是 Kafka 时的可选值范围:增加 `"open-protocol"`。用于指定编码消息时使用的格式协议。| | TiCDC | [`sink.delete-only-output-handle-key-columns`](/ticdc/ticdc-changefeed-config.md) | 新增 | 指定 Delete 事件的输出内容,只对 canal-json 和 open-protocol 协议有效。默认值为 false,即输出所有列的内容。当设置为 true 时,只输出主键列,或唯一索引列的内容。 | From 4dd1a51a2dbc814a1258d2260c0ac5d62932b795 Mon Sep 17 00:00:00 2001 From: Ran Date: Mon, 19 Jun 2023 17:47:23 +0800 Subject: [PATCH 047/121] Update releases/release-7.2.0.md --- releases/release-7.2.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index d4fc88c00e13..40735fab23b6 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -93,6 +93,7 @@ TiDB 版本:7.2.0 ```sql ADMIN PAUSE DDL JOBS 1,2; ADMIN RESUME DDL JOBS 1,2; +``` 更多信息,请参考 [用户文档](/ddl-introduction.md#ddl - 相关的命令介绍)。 From 9d163d0699b69a62ed5bacc3ea065dd2e0b7d7d2 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Mon, 19 Jun 2023 20:44:38 +0800 Subject: [PATCH 048/121] Apply suggestions from code review --- releases/release-7.2.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 40735fab23b6..d62226aa592d 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -64,7 +64,7 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](/sql-plan-management.md#执行计划绑定-sql-binding)。 -* Optimizer Fix Controls 机制对优化器行为做细粒度控制 [#43169](https://github.com/pingcap/tidb/issues/43169) @[time-and-fate](https://github.com/time-and-fate) **tw@hfxsd** +* 提供 Optimizer Fix Controls 机制对优化器行为进行细粒度控制 [#43169](https://github.com/pingcap/tidb/issues/43169) @[time-and-fate](https://github.com/time-and-fate) **tw@hfxsd** 为了生成更合理的执行计划,TiDB 优化器的行为会随产品迭代而不断演进。但在某些特定场景下,这些变化可能引发性能回退。因此 TiDB 引入了 Optimizer Fix Controls 来控制优化器的一部分细粒度行为,你可以对一些新的变化进行回滚或控制。 @@ -72,7 +72,7 @@ TiDB 版本:7.2.0 Optimizer Fix Controls 机制加强了你对 TiDB 优化器的细粒度管控能力,为升级过程引发的性能问题提供了新的修复手段,提升 TiDB 的稳定性。 - 更多信息,请参考 [用户文档](/optimizer-fix-controls.md)。 + 更多信息,请参考[用户文档](/optimizer-fix-controls.md)。 ### SQL 功能 From 126137d9d1514bd6f201e8e221063f689647a5c0 Mon Sep 17 00:00:00 2001 From: Aolin Date: Tue, 20 Jun 2023 07:52:28 +0800 Subject: [PATCH 049/121] Apply suggestions from code review --- releases/release-7.2.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index d62226aa592d..182ac31966b9 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -58,11 +58,11 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](/tidb-resource-control.md#管理资源消耗超出预期的查询-runaway-queries)。 -* 增强对历史执行计划的绑定能力 [#39199](https://github.com/pingcap/tidb/issues/39199) @[qw4990](https://github.com/qw4990) **tw@Oreoxmt** +* 增强根据历史执行计划创建绑定的能力 [#39199](https://github.com/pingcap/tidb/issues/39199) @[qw4990](https://github.com/qw4990) **tw@Oreoxmt** - 新版本的 TiDB 对历史执行计划绑定的能力做了进一步增强。 一方面加强了对复杂语句的解析和绑定, 另一方面, 也加入了对新 Hint 的支持,包括 [`AGG_TO_COP()`](/optimizer-hints.md#agg_to_cop)、[`LIMIT_TO_COP()`](/optimizer-hints.md#limit_to_cop)、[`ORDERED_INDEX`](/optimizer-hints.md#order_indext1_name-idx1_name--idx2_name)、[`NO_ORDERED_INDEX()`](/optimizer-hints.md#no_order_indext1_name-idx1_name--idx2_name)。 借助这个能力, 从历史执行计划中创建的 [SQL Binding](/sql-plan-management.md#执行计划绑定-sql-binding) 能够更加稳定的固定住执行计划。 + TiDB v7.2.0 进一步增强根据历史执行计划创建绑定的能力,加强对复杂语句的解析和绑定,并新增对新 Hint 的支持,包括 [`AGG_TO_COP()`](/optimizer-hints.md#agg_to_cop)、[`LIMIT_TO_COP()`](/optimizer-hints.md#limit_to_cop)、[`ORDER_INDEX`](/optimizer-hints.md#order_indext1_name-idx1_name--idx2_name) 和 [`NO_ORDER_INDEX()`](/optimizer-hints.md#no_order_indext1_name-idx1_name--idx2_name)。借助这个能力,根据历史执行计划创建的 SQL Binding 能够更稳定地固定住执行计划。 - 更多信息,请参考[用户文档](/sql-plan-management.md#执行计划绑定-sql-binding)。 + 更多信息,请参考[用户文档](/sql-plan-management.md)。 * 提供 Optimizer Fix Controls 机制对优化器行为进行细粒度控制 [#43169](https://github.com/pingcap/tidb/issues/43169) @[time-and-fate](https://github.com/time-and-fate) **tw@hfxsd** From e67c2547abb056544d708f8f200c9a7a12662104 Mon Sep 17 00:00:00 2001 From: Ran Date: Tue, 20 Jun 2023 11:01:08 +0800 Subject: [PATCH 050/121] Apply suggestions from code review --- releases/release-7.2.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 182ac31966b9..b14fbc299246 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -26,7 +26,7 @@ TiDB 版本:7.2.0 * TiFlash 支持 pipeline 执行模型(实验特性) [#6518](https://github.com/pingcap/tiflash/issues/6518) @[SeaRise](https://github.com/SeaRise) **tw@ran-huang** - 在 v7.2.0 版本之前,TiFlash 引擎中各个任务在执行时,需要自行申请线程资源。TiFlash 引擎通过控制任务数的方式限制线程资源使用,以避免线程资源超用,但是并不能完全避免。在 v7.2.0 版本中,TiFlash 引入 pipeline 执行模型,对所有线程资源进行统一管理,并对所有任务的执行进行统一调度,充分利用线程资源,同时避免资源超用。新增系统变量 [`tidb_enable_tiflash_pipeline_model`](/system-variables.md#tidb_enable_tiflash_pipeline_model) 用于设定是否启用 pipeline 执行模型。 + 在 v7.2.0 版本之前,TiFlash 引擎中各个任务在执行时,需要自行申请线程资源。TiFlash 引擎通过控制任务数的方式限制线程资源使用,以避免线程资源超用,但并不能完全避免此问题。因此,在 v7.2.0 中,TiFlash 引入 pipeline 执行模型,对所有线程资源进行统一管理,并对所有任务的执行进行统一调度,充分利用线程资源,同时避免资源超用。新增系统变量 [`tidb_enable_tiflash_pipeline_model`](/system-variables.md#tidb_enable_tiflash_pipeline_model) 用于设置是否启用 pipeline 执行模型。 更多信息,请参考[用户文档](/tiflash/tiflash-pipeline-model.md)。 @@ -93,7 +93,7 @@ TiDB 版本:7.2.0 ```sql ADMIN PAUSE DDL JOBS 1,2; ADMIN RESUME DDL JOBS 1,2; -``` + ``` 更多信息,请参考 [用户文档](/ddl-introduction.md#ddl - 相关的命令介绍)。 From 353424b3533f7d5266dc9adeb4e223ce3e465ede Mon Sep 17 00:00:00 2001 From: Ran Date: Tue, 20 Jun 2023 11:15:28 +0800 Subject: [PATCH 051/121] Update releases/release-7.2.0.md --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index b14fbc299246..4b00ffa503c3 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -95,7 +95,7 @@ TiDB 版本:7.2.0 ADMIN RESUME DDL JOBS 1,2; ``` - 更多信息,请参考 [用户文档](/ddl-introduction.md#ddl - 相关的命令介绍)。 + 更多信息,请参考[用户文档](/ddl-introduction.md#ddl-相关的命令介绍)。 ### 可观测性 From 7011054636ea4857598862e9881953df399ba752 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 20 Jun 2023 15:06:33 +0800 Subject: [PATCH 052/121] Apply suggestions from code review Co-authored-by: HuaiyuXu Co-authored-by: Jianjun Liao <36503113+Leavrth@users.noreply.github.com> --- releases/release-7.2.0.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 4b00ffa503c3..14a0afb6bd63 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -208,7 +208,8 @@ TiDB 版本:7.2.0 + TiDB - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 修复关联子查询中含有 CTE 时可能出现的查询 hang 住的问题 [#36896](https://github.com/pingcap/tidb/issues/36896) @[guo-shaoge](https://github.com/guo-shaoge) + - 修复某些情况下 max/min 结果出错的问题 [#43805](https://github.com/pingcap/tidb/issues/43508)@[wshwsh12](https://github.com/wshwsh12) - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiKV @@ -223,13 +224,14 @@ TiDB 版本:7.2.0 + TiFlash - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 修复在 join 的 build 端数据量很大且含有大量短字符串时内存消耗过大的问题 [#7416](https://github.com/pingcap/tiflash/issues/7416) @[yibin87](https://github.com/yibin87) - note [#issue](链接) @[贡献者 GitHub ID](链接) + Tools + Backup & Restore (BR) + - 为外部存储 Azure Blob Storage 提供 SAS (shared access signature) 的访问方式 [#44199](https://github.com/pingcap/tidb/issues/44199) @Leavrth - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) From 4669bd4621989133e852a9e318de9d5ca6d1e3bd Mon Sep 17 00:00:00 2001 From: joey-yez <104608045+joey-yez@users.noreply.github.com> Date: Tue, 20 Jun 2023 15:09:30 +0800 Subject: [PATCH 053/121] Update releases/release-7.2.0.md Co-authored-by: Grace Cai --- releases/release-7.2.0.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 14a0afb6bd63..5ce2484ecca1 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -32,7 +32,9 @@ TiDB 版本:7.2.0 * 降低 TiFlash 等待 schema 同步的时延 [#7630](https://github.com/pingcap/tiflash/issues/7630) @[hongyunyan](https://github.com/hongyunyan) **tw@qiancai** - 当表的 schema 变动时,TiFlash 需要及时和 TiKV 同步表的 schema 信息。在 v7.2.0 版本之前,TiFlash 访问表数据时,如果检测到某张表的 schema 变动时,会同步所有表的 schema 信息。即使一张表没有 TiFlash 副本,TiFlash 也会同步该表的 schema 信息。当数据库中有大量表时,读取一张表的数据需要同步所有表的 schema 信息,schema 同步的时延非常高。在 v7.2.0 版本中,TiFlash 优化 schema 同步机制,只同步包含 TiFlash 副本的表的 schema 信息,并且当检测到某张表的 schema 变动时,只同步该表的 schema 信息,降低 TiFlash 同步 schema 的时延。该优化自动生效,不需要任何设定调整。 + 当表的 schema 发生变化时,TiFlash 需要及时从 TiKV 同步新的表结构信息。在 v7.2.0 之前,当 TiFlash 访问表数据时,只要检测到数据库中的某张表的 schema 发生了变化,TiFlash 就会重新同步该数据库中所有表的 schema 信息。即使一张表没有 TiFlash 副本,TiFlash 也会同步该表的 schema 信息。当数据库中有大量表时,通过 TiFlash 只读取一张表的数据也可能因为需要等待所有表的 schema 信息同步完成而造成较高的时延。 + + 在 v7.2.0 中,TiFlash 优化了 schema 的同步机制,只同步拥有 TiFlash 副本的表的 schema 信息。当检测到某张有 TiFlash 副本的表的 schema 有变化时,TiFlash 只同步该表的 schema 信息,从而降低了 TiFlash 同步 schema 的时延。该优化自动生效,无须任何设置。 * 提升统计信息收集的性能 [#44725](https://github.com/pingcap/tidb/issues/44725) @[xuyifangreeneyes](https://github.com/xuyifangreeneyes) **tw@hfxsd** From 3bdced1bedb4463088602b13a2349a98ef6ad73e Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 20 Jun 2023 15:14:08 +0800 Subject: [PATCH 054/121] Apply suggestions from code review --- releases/release-7.2.0.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 5ce2484ecca1..1644b08cf0af 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -19,7 +19,7 @@ TiDB 版本:7.2.0 ### 性能 -* 新增支持下推两个[窗口函数](/tiflash/tiflash-supported-pushdown-calculations.md) 至 TiFlash [#7427](https://github.com/pingcap/tiflash/issues/7427) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@qiancai** +* 新增支持下推以下两个[窗口函数](/tiflash/tiflash-supported-pushdown-calculations.md) 到 TiFlash [#7427](https://github.com/pingcap/tiflash/issues/7427) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@qiancai** * `FIRST_VALUE` * `LAST_VALUE` @@ -44,9 +44,9 @@ TiDB 版本:7.2.0 * 提升表和索引一致性检查的性能 [#43693](https://github.com/pingcap/tidb/issues/43693) @[wjhuang2016](https://github.com/wjhuang2016) **tw@qiancai** - TiDB 在新版本中优化了数据一致性校验的方式,大幅提升了 [`ADMIN CHECK [TABLE|INDEX]`](/sql-statements/sql-statement-admin-check-table-index.md) 的执行效率, 性能提升接近 200 倍。 这个能力可以大幅减少大型表数据一致性检查的时间, 提升运维体验。 设置 [`tidb_enable_fast_table_check`](链接) 为 `TRUE` 启用这个新机制。 + [`ADMIN CHECK [TABLE|INDEX]`](/sql-statements/sql-statement-admin-check-table-index.md) 语句用于校验表中数据和对应索引的一致性。在 v7.2.0 中,TiDB 优化了数据一致性的校验方式,大幅提升了 [`ADMIN CHECK [TABLE|INDEX]`](/sql-statements/sql-statement-admin-check-table-index.md) 语句的执行效率,性能提升接近 200 倍。该优化默认开启 ([`tidb_enable_fast_table_check`](/system-variables.md#tidb_enable_fast_table_check-从-v720-版本开始引入) 默认为 `ON`),可以大幅减少大型表数据一致性检查的时间, 提升运维体验。 - 更多信息,请参考[用户文档](链接) + 更多信息,请参考[用户文档](/system-variables.md#tidb_enable_fast_table_check-从-v720-版本开始引入)。 ### 稳定性 @@ -80,9 +80,9 @@ TiDB 版本:7.2.0 * 支持 `CHECK` 约束 [#41711](https://github.com/pingcap/tidb/issues/41711) @[fzzf678] (https://github.com/fzzf678) **tw@qiancai** - v7.2.0 版本开始,用户可以通过 `CHECK` 约束功能约束表中一个或者多个字段值必须满足特定条件。添加 `CHECK` 约束后,TiDB 会在数据插入或者更新时检查约束条件是否满足,只允许满足约束的数据写入。 + 从 v7.2.0 开始,你可以通过 `CHECK` 约束限制表中的一个或者多个字段值必须满足特定的条件。当为表添加 `CHECK` 约束后,在插入或者更新表的数据时,TiDB 会先检查约束条件是否满足,只允许满足约束的数据写入。 - 更多信息,请参考[用户文档](链接)。 + 更多信息,请参考[用户文档](/constraints.md#check-约束)。 ### 数据库管理 @@ -107,13 +107,13 @@ TiDB 版本:7.2.0 "import into " 集成了 Lightning 物理导入模式(local backend)的能力,用户可直接编写 "import into“ SQL 导入数据到 TiDB,同时还支持将数据导入任务拆分成多个子任务调度到多个 TiDB 节点,进行并行导入,提升导入性能。在导入空表的场景,用户无需再部署和管理 Lightning ,降低了导入数据难度的同时,大大提升了导入数据效率。 - 更多信息,请参考[用户文档](链接)。 + 更多信息,请参考[用户文档](sql-statements/sql-statement-import-into.md)。 -* Lightning 支持将字符集为 latin1 的源文件导入到 TiDB。[#44434](https://github.com/pingcap/tidb/issues/44434) @[lance6716](https://github.com/lance6716) **tw@qiancai** +* TiDB Lightning 支持将字符集为 latin1 的源文件导入到 TiDB 中 [#44434](https://github.com/pingcap/tidb/issues/44434) @[lance6716](https://github.com/lance6716) **tw@qiancai** 通过此功能,用户现在可以使用 Lightning 数据导入工具直接将字符集为 latin1 的源文件导入到 TiDB 中。这扩展了用户在处理各种字符集时的数据导入选项的兼容性和灵活性。以前,导入这样的文件需要额外的预处理或转换。现在用户只需在运行 Lightning 导入过程时指定源文件的字符集。Lightning 工具会在导入过程中自动处理字符集转换,确保数据的完整性和准确性。 - 更多信息,请参考[用户文档](https://github.com/pingcap/docs-cn/pull/14172/files) + 更多信息,请参考[用户文档](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-任务配置) ## 兼容性变更 From 64671625a88bc7a679f756dd0fd91cdf19a9f3cd Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 20 Jun 2023 15:36:23 +0800 Subject: [PATCH 055/121] Apply suggestions from code review --- releases/release-7.2.0.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 1644b08cf0af..d533f6f6b5d5 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -103,15 +103,17 @@ TiDB 版本:7.2.0 ### 数据迁移 -* 引入新的 SQL statement “import into” (实验特性),该 SQL 集成了 Lightning 物理导入模式(local backend)的能力,大大提升导入数据的效率。[#42930](https://github.com/pingcap/tidb/issues/42930) @[D3Hunter](https://github.com/D3Hunter) **tw@qiancai** +* 引入新的 SQL 语句 `IMPORT INTO`,大幅提升导入效率(实验特性)[#42930](https://github.com/pingcap/tidb/issues/42930) @[D3Hunter](https://github.com/D3Hunter) **tw@qiancai** - "import into " 集成了 Lightning 物理导入模式(local backend)的能力,用户可直接编写 "import into“ SQL 导入数据到 TiDB,同时还支持将数据导入任务拆分成多个子任务调度到多个 TiDB 节点,进行并行导入,提升导入性能。在导入空表的场景,用户无需再部署和管理 Lightning ,降低了导入数据难度的同时,大大提升了导入数据效率。 + `IMPORT INTO` 集成了 TiDB Lightning 的[物理导入模式](/tidb-lightning/tidb-lightning-physical-import-mode.md) 的能力。通过该语句,你可以将 `CSV`、`SQL`、`PARQUET` 等格式的数据快速导入到 TiDB 的一张空表中。这种导入方式无需单独部署和管理 TiDB Lightning,在降低了数据导入难度的同时,大幅提升了数据导入效率。 + + 对于存储在 Amazon S3 或 GCS 的数据文件,在开启了[后端任务分布式框架](/tidb-distributed-execution-framework.md) 后,`IMPORT INTO` 还支持将数据导入任务拆分成多个子任务,并将子任务调度到多个 TiDB 节点并行导入,进一步提升导入性能。 更多信息,请参考[用户文档](sql-statements/sql-statement-import-into.md)。 * TiDB Lightning 支持将字符集为 latin1 的源文件导入到 TiDB 中 [#44434](https://github.com/pingcap/tidb/issues/44434) @[lance6716](https://github.com/lance6716) **tw@qiancai** - 通过此功能,用户现在可以使用 Lightning 数据导入工具直接将字符集为 latin1 的源文件导入到 TiDB 中。这扩展了用户在处理各种字符集时的数据导入选项的兼容性和灵活性。以前,导入这样的文件需要额外的预处理或转换。现在用户只需在运行 Lightning 导入过程时指定源文件的字符集。Lightning 工具会在导入过程中自动处理字符集转换,确保数据的完整性和准确性。 + 通过此功能,你可以使用 TiDB Lightning 将字符集为 latin1 的源文件直接导入到 TiDB 中。在 v7.2.0 之前,导入这样的文件需要额外的预处理或转换。从 v7.2.0 起,你只需在配置 TiDB Lightning 导入任务时指定 `character-set = "latin1"`,TiDB Lightning 就会在导入过程中自动处理字符集的转换,确保数据的完整性和准确性。 更多信息,请参考[用户文档](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-任务配置) From c5eb57a9ea64a09b10123662d2b3b7bb4d83ee05 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 20 Jun 2023 15:37:20 +0800 Subject: [PATCH 056/121] Update releases/release-7.2.0.md Co-authored-by: Roger Song --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index d533f6f6b5d5..dc83464c1a88 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -44,7 +44,7 @@ TiDB 版本:7.2.0 * 提升表和索引一致性检查的性能 [#43693](https://github.com/pingcap/tidb/issues/43693) @[wjhuang2016](https://github.com/wjhuang2016) **tw@qiancai** - [`ADMIN CHECK [TABLE|INDEX]`](/sql-statements/sql-statement-admin-check-table-index.md) 语句用于校验表中数据和对应索引的一致性。在 v7.2.0 中,TiDB 优化了数据一致性的校验方式,大幅提升了 [`ADMIN CHECK [TABLE|INDEX]`](/sql-statements/sql-statement-admin-check-table-index.md) 语句的执行效率,性能提升接近 200 倍。该优化默认开启 ([`tidb_enable_fast_table_check`](/system-variables.md#tidb_enable_fast_table_check-从-v720-版本开始引入) 默认为 `ON`),可以大幅减少大型表数据一致性检查的时间, 提升运维体验。 + [`ADMIN CHECK [TABLE|INDEX]`](/sql-statements/sql-statement-admin-check-table-index.md) 语句用于校验表中数据和对应索引的一致性。在 v7.2.0 中,TiDB 优化了数据一致性的校验方式,大幅提升了 [`ADMIN CHECK [TABLE|INDEX]`](/sql-statements/sql-statement-admin-check-table-index.md) 语句的执行效率,在大数据量场景中性能能够提升百倍。该优化默认开启 ([`tidb_enable_fast_table_check`](/system-variables.md#tidb_enable_fast_table_check-从-v720-版本开始引入) 默认为 `ON`),可以大幅减少大型表数据一致性检查的时间, 提升运维体验。 更多信息,请参考[用户文档](/system-variables.md#tidb_enable_fast_table_check-从-v720-版本开始引入)。 From d13f552b72b91b6afbab092832e1c2fc95500283 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 20 Jun 2023 16:36:27 +0800 Subject: [PATCH 057/121] add three compatibility changes --- releases/release-7.2.0.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index dc83464c1a88..4ef154b3c465 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -135,8 +135,10 @@ TiDB 版本:7.2.0 | 变量名 | 修改类型(包括新增/修改/删除) | 描述 | |--------|------------------------------|------| +| [`last_insert_id`](/system-variables.md#last_insert_id-从-v530-版本开始引入) | 修改 | 该变量的最大值从 `9223372036854775807` 修改为 `18446744073709551615`,和 MySQL 保持一致。 | | [`tidb_remove_orderby_in_subquery`](/system-variables.md#tidb_remove_orderby_in_subquery-从-v610-版本开始引入) | 修改 | 经进一步的测试后,该变量默认值从 `OFF` 修改为 `ON`,即优化器改写会移除子查询中的 `ORDER BY` 子句。 | -| [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) | 新增 | 这个变量表示在执行 `ANALYZE` 命令收集统计信息时,跳过哪些类型的列的统计信息收集。该变量仅适用于 [`tidb_analyze_version = 2`](#tidb_analyze_version-从-v510-版本开始引入) 的情况。使用 `ANALYZE TABLE t COLUMNS c1, ..., cn` 语法时,如果指定的列的类型在 `tidb_analyze_skip_column_types` 中,则不会收集该列的统计信息。 | +| [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) | 新增 | 这个变量表示在执行 `ANALYZE` 命令收集统计信息时,跳过哪些类型的列的统计信息收集。该变量仅适用于 [`tidb_analyze_version = 2`](#tidb_analyze_version-从-v510-版本开始引入) 的情况。使用 `ANALYZE TABLE t COLUMNS c1, ..., cn` 语法时,如果指定的列的类型在 `tidb_analyze_skip_column_types` 中,则不会收集该列的统计信息。 | +| [`tidb_enable_fast_table_check`](/system-variables.md#tidb_enable_fast_table_check-从-v720-版本开始引入) | 新增 | 这个变量用于控制是否使用基于校验和的方式来快速检查表中数据和索引的一致性。默认值 `ON` 表示该功能默认开启。 | | [`tidb_expensive_txn_time_threshold`](/system-variables.md#tidb_expensive_txn_time_threshold-从-v720-版本开始引入) | 新增 | 控制打印 expensive transaction 日志的阈值时间,默认值是 600 秒。expensive transaction 日志会将尚未 COMMIT 或 ROLLBACK 且持续时间超过该阈值的事务的相关信息打印出来。 | | | | | | [`tidb_enable_tiflash_pipeline_model`](/system-variables.md#tidb_enable_tiflash_pipeline_model-从-v720-版本开始引入) | 新增 | 这个变量用来控制是否启用 TiFlash 新的执行模型 [Pipeline Model](/tiflash/tiflash-pipeline-model.md),默认值为 `OFF`,即关闭 Pipeline Model。 | @@ -150,6 +152,7 @@ TiDB 版本:7.2.0 | TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].optimize-filters-for-memory](/tikv-configuration-file.md#optimize-filters-for-memory-从-v710-版本开始引入) | 新增 | 控制是否生成能够最小化内存碎片的 Bloom/Ribbon filter。 | | TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].ribbon-filter-above-level](/tikv-configuration-file.md#ribbon-filter-above-level-从-v710-版本开始引入) | 新增 | 控制是否对于大于等于该值的 level 使用 Ribbon filter,对于小于该值的 level,使用非 block-based bloom filter。 | | TiDB Lightning | `send-kv-pairs` | 废弃 | 从 v7.2.0 版本开始,`send-kv-pairs` 不再生效。你可以使用新参数 [`send-kv-size`](/tidb-lightning/tidb-lightning-configuration.md) 来指定物理导入模式下向 TiKV 发送数据时一次请求的最大大小。**tw@hfxsd** | +| TiDB Lightning | `character-set` | 修改 | 扩展支持导入的字符集,新增 `latin1` 选项,用于导入字符集为 latin1 的源文件。| | TiDB Lightning | [`send-kv-size`](/tidb-lightning/tidb-lightning-configuration.md) | 新增 | 用于设置单次发送到 TiKV 的 KV Pairs 的大小。当 KV 键值对的大小达到设定的阈值时,它们将被 TiDB Lightning 立即发送到 TiKV,避免在导入大宽表的时候由于 TiDB Lightning 节点内存积累键值对过多导致 OOM 的问题。通过调整该参数,你可以在内存使用和导入速度之间找到平衡,提高导入过程的稳定性和效率。**tw@hfxsd** | | Data Migration | [`strict-optimistic-shard-mode`](/dm/feature-shard-merge-optimistic.md) | 新增 | 用于兼容历史版本 TiDB Data Migration v2.0 的分库分表同步 DDL 的行为。当用户选择乐观模式时,可以启用该参数,开启后,乐观模式下,同步任务遇到二类 DDL 时,整个任务会中断。在多个表的 DDL 变更有依赖关系的场景,可以及时中断同步,在用户手动处理完各表的 DDL 后,再继续同步数据,保障上下游数据的一致性。 **tw@ran-huang** | | TiCDC | [`sink.protocol`](/ticdc/ticdc-changefeed-config.md) | 修改 | 扩展下游类型是 Kafka 时的可选值范围:增加 `"open-protocol"`。用于指定编码消息时使用的格式协议。| From 6e57474a554f4b496c4369567844f46429c55d6f Mon Sep 17 00:00:00 2001 From: Aolin Date: Tue, 20 Jun 2023 17:39:18 +0800 Subject: [PATCH 058/121] Apply suggestions from code review Co-authored-by: Grace Cai --- releases/release-7.2.0.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 4ef154b3c465..9d161a948548 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -62,7 +62,12 @@ TiDB 版本:7.2.0 * 增强根据历史执行计划创建绑定的能力 [#39199](https://github.com/pingcap/tidb/issues/39199) @[qw4990](https://github.com/qw4990) **tw@Oreoxmt** - TiDB v7.2.0 进一步增强根据历史执行计划创建绑定的能力,加强对复杂语句的解析和绑定,并新增对新 Hint 的支持,包括 [`AGG_TO_COP()`](/optimizer-hints.md#agg_to_cop)、[`LIMIT_TO_COP()`](/optimizer-hints.md#limit_to_cop)、[`ORDER_INDEX`](/optimizer-hints.md#order_indext1_name-idx1_name--idx2_name) 和 [`NO_ORDER_INDEX()`](/optimizer-hints.md#no_order_indext1_name-idx1_name--idx2_name)。借助这个能力,根据历史执行计划创建的 SQL Binding 能够更稳定地固定住执行计划。 + TiDB v7.2.0 进一步增强[根据历史执行计划创建绑定](/sql-plan-management.md#根据历史执行计划创建绑定)的能力,加强对复杂语句的解析和绑定,使绑定更稳固,并新增支持对以下 Hint 的绑定。 + + - [`AGG_TO_COP()`](/optimizer-hints.md#agg_to_cop) + - [`LIMIT_TO_COP()`](/optimizer-hints.md#limit_to_cop) + - [`ORDER_INDEX`](/optimizer-hints.md#order_indext1_name-idx1_name--idx2_name) + - [`NO_ORDER_INDEX()`](/optimizer-hints.md#no_order_indext1_name-idx1_name--idx2_name)。 更多信息,请参考[用户文档](/sql-plan-management.md)。 From 0b8b09d3f237b81160a9e050e2c62ade820b7079 Mon Sep 17 00:00:00 2001 From: Ran Date: Wed, 21 Jun 2023 10:26:27 +0800 Subject: [PATCH 059/121] Apply suggestions from code review Co-authored-by: xixirangrang --- releases/release-7.2.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 9d161a948548..193acda53a3d 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -24,9 +24,9 @@ TiDB 版本:7.2.0 * `FIRST_VALUE` * `LAST_VALUE` -* TiFlash 支持 pipeline 执行模型(实验特性) [#6518](https://github.com/pingcap/tiflash/issues/6518) @[SeaRise](https://github.com/SeaRise) **tw@ran-huang** +* TiFlash 支持 Pipeline 执行模型(实验特性) [#6518](https://github.com/pingcap/tiflash/issues/6518) @[SeaRise](https://github.com/SeaRise) **tw@ran-huang** - 在 v7.2.0 版本之前,TiFlash 引擎中各个任务在执行时,需要自行申请线程资源。TiFlash 引擎通过控制任务数的方式限制线程资源使用,以避免线程资源超用,但并不能完全避免此问题。因此,在 v7.2.0 中,TiFlash 引入 pipeline 执行模型,对所有线程资源进行统一管理,并对所有任务的执行进行统一调度,充分利用线程资源,同时避免资源超用。新增系统变量 [`tidb_enable_tiflash_pipeline_model`](/system-variables.md#tidb_enable_tiflash_pipeline_model) 用于设置是否启用 pipeline 执行模型。 + 在 v7.2.0 版本之前,TiFlash 引擎中各个任务在执行时,需要自行申请线程资源。TiFlash 引擎通过控制任务数的方式限制线程资源使用,以避免线程资源超用,但并不能完全避免此问题。因此,在 v7.2.0 中,TiFlash 引入 Pipeline 执行模型,对所有线程资源进行统一管理,并对所有任务的执行进行统一调度,充分利用线程资源,同时避免资源超用。新增系统变量 [`tidb_enable_tiflash_pipeline_model`](/system-variables.md#tidb_enable_tiflash_pipeline_model) 用于设置是否启用 Pipeline 执行模型。 更多信息,请参考[用户文档](/tiflash/tiflash-pipeline-model.md)。 @@ -93,7 +93,7 @@ TiDB 版本:7.2.0 * DDL 任务支持暂停和恢复操作(实验特性)[#18015](https://github.com/pingcap/tidb/issues/18015) @[godouxm](https://github.com/godouxm) **tw@ran-huang** - TiDB v7.2.0 之前的版本中,当 DDL 任务执行期间遇到业务高峰时间点时,为了减少对业务的影响,只能手动取消 DDL 任务。TiDB v7.2.0 引入了 DDL 任务的暂停和恢复功能,你可以在高峰时间点暂停 DDL 任务,等到业务高峰时间结束后再恢复 DDL 任务,从而避免了 DDL 操作对业务负载的影响。 + TiDB v7.2.0 之前的版本中,当 DDL 任务在执行期间遇到业务高峰时,为了减少对业务的影响,只能手动取消 DDL 任务。TiDB v7.2.0 引入了 DDL 任务的暂停和恢复功能,你可以在高峰时间点暂停 DDL 任务,等到业务高峰时间结束后再恢复 DDL 任务,从而避免了 DDL 操作对业务负载的影响。 例如,可以通过如下 `ADMIN PAUSE DDL JOBS` 或 `ADMIN RESUME DDL JOBS` 语句暂停或者恢复多个 DDL 任务: From 9cb6b49a8bbbb3d7526b06e543b92e11349a7dfc Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 21 Jun 2023 11:18:34 +0800 Subject: [PATCH 060/121] Apply suggestions from code review --- releases/release-7.2.0.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 193acda53a3d..492d91469f69 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -42,9 +42,11 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入)。 -* 提升表和索引一致性检查的性能 [#43693](https://github.com/pingcap/tidb/issues/43693) @[wjhuang2016](https://github.com/wjhuang2016) **tw@qiancai** +* 提升数据和索引一致性检查的性能 [#43693](https://github.com/pingcap/tidb/issues/43693) @[wjhuang2016](https://github.com/wjhuang2016) **tw@qiancai** - [`ADMIN CHECK [TABLE|INDEX]`](/sql-statements/sql-statement-admin-check-table-index.md) 语句用于校验表中数据和对应索引的一致性。在 v7.2.0 中,TiDB 优化了数据一致性的校验方式,大幅提升了 [`ADMIN CHECK [TABLE|INDEX]`](/sql-statements/sql-statement-admin-check-table-index.md) 语句的执行效率,在大数据量场景中性能能够提升百倍。该优化默认开启 ([`tidb_enable_fast_table_check`](/system-variables.md#tidb_enable_fast_table_check-从-v720-版本开始引入) 默认为 `ON`),可以大幅减少大型表数据一致性检查的时间, 提升运维体验。 + [`ADMIN CHECK [TABLE|INDEX]`](/sql-statements/sql-statement-admin-check-table-index.md) 语句用于校验表中数据和对应索引的一致性。在 v7.2.0 中,TiDB 优化了数据一致性的校验方式,大幅提升了 [`ADMIN CHECK [TABLE|INDEX]`](/sql-statements/sql-statement-admin-check-table-index.md) 语句的执行效率,在大数据量场景中性能能够提升百倍。 + + 该优化默认开启 ([`tidb_enable_fast_table_check`](/system-variables.md#tidb_enable_fast_table_check-从-v720-版本开始引入) 默认为 `ON`),可以大幅减少大型表数据一致性检查的时间, 提升运维体验。 更多信息,请参考[用户文档](/system-variables.md#tidb_enable_fast_table_check-从-v720-版本开始引入)。 From d01c8303ed98fe23515738c7b191478f2ffd44bb Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Wed, 21 Jun 2023 14:45:59 +0800 Subject: [PATCH 061/121] Apply suggestions from code review Co-authored-by: Ran Co-authored-by: Roger Song --- releases/release-7.2.0.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 492d91469f69..e4ce8d09602c 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -38,7 +38,9 @@ TiDB 版本:7.2.0 * 提升统计信息收集的性能 [#44725](https://github.com/pingcap/tidb/issues/44725) @[xuyifangreeneyes](https://github.com/xuyifangreeneyes) **tw@hfxsd** - TiDB v7.2.0 优化了统计信息的收集策略,会选择跳过一部分重复的信息,以及对优化器价值不高的信息。统计信息收集的整体速度提升了 30%。该提升有利于 TiDB 对数据库对象的统计信息进行更及时的更新,使得生成的执行计划更准确,从而达到提升数据库整体性能的目的。 + TiDB v7.2.0 优化了统计信息的收集策略,会选择跳过一部分重复的信息,以及对优化器价值不高的信息,从而将统计信息收集的整体速度提升了 30%。这一改进有利于 TiDB 更及时地更新数据库对象的统计信息,生成更准确的执行计划,从而提升数据库整体性能。 + + 默认设置下,统计信息收集会跳过类型为 `json`, `blob`, `mediumblob`, `longblob` 的列。你可以通过设置系统变量[``tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) 来修改默认行为。当前支持设置跳过 JSON, BLOB, TEXT 这几个类型及其子类型。 更多信息,请参考[用户文档](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入)。 @@ -54,11 +56,11 @@ TiDB 版本:7.2.0 * 自动管理资源超出预期的查询(实验特性)[#43691](https://github.com/pingcap/tidb/issues/43691) @[Connor1996](https://github.com/Connor1996) @[CabinfeverB](https://github.com/CabinfeverB) @[glorv](https://github.com/glorv) @[HuSharp](https://github.com/HuSharp) @[nolouch](https://github.com/nolouch) **tw@hfxsd** - 突发的 SQL 性能问题引发数据库整体性能下降,是数据库稳定性最常见的挑战。造成 SQL 性能问题的原因有很多,例如未经充分测试的新 SQL、数据量剧烈变化、执行计划突变。这些问题很难从源头上完全规避。TiDB v7.2.0 增加了对资源超出预期的查询的管理能力,在上述问题发生时,能够快速降低影响范围。 + 突发的 SQL 性能问题引发数据库整体性能下降,是数据库稳定性最常见的挑战。造成 SQL 性能问题的原因有很多,例如未经充分测试的新 SQL、数据量剧烈变化、执行计划突变等,这些问题很难从源头上完全规避。TiDB v7.2.0 增加了对资源超出预期的查询的管理能力,在上述问题发生时,能够快速降低影响范围。 - 你可以针对某个资源组 (Resource Group) 设置查询的最长执行时间。当查询的执行时间超过设置时,自动降低查询的优先级或者取消查询。你还可以设置在一段时间内通过文本立即匹配已经识别出的查询,从而避免问题查询的并发度太高时,在识别阶段就造成大量资源消耗的情况。 + 你可以针对某个资源组 (Resource Group) 设置查询的最长执行时间。当查询的执行时间超过设置值时,自动降低查询的优先级或者取消查询。你还可以设置在一段时间内通过文本立即匹配已经识别出的查询,从而避免问题查询的并发度太高时,在识别阶段就造成大量资源消耗的情况。 - 对资源超出预期查询的自动管理,为你提供了有效的手段,快速应对突发的查询性能问题,降低对数据库整体性能的影响,从而提升数据库的稳定性。 + 对资源超出预期查询的自动管理能力,为你提供了有效的手段,快速应对突发的查询性能问题,降低对数据库整体性能的影响,从而提升数据库的稳定性。 更多信息,请参考[用户文档](/tidb-resource-control.md#管理资源消耗超出预期的查询-runaway-queries)。 @@ -160,7 +162,7 @@ TiDB 版本:7.2.0 | TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].ribbon-filter-above-level](/tikv-configuration-file.md#ribbon-filter-above-level-从-v710-版本开始引入) | 新增 | 控制是否对于大于等于该值的 level 使用 Ribbon filter,对于小于该值的 level,使用非 block-based bloom filter。 | | TiDB Lightning | `send-kv-pairs` | 废弃 | 从 v7.2.0 版本开始,`send-kv-pairs` 不再生效。你可以使用新参数 [`send-kv-size`](/tidb-lightning/tidb-lightning-configuration.md) 来指定物理导入模式下向 TiKV 发送数据时一次请求的最大大小。**tw@hfxsd** | | TiDB Lightning | `character-set` | 修改 | 扩展支持导入的字符集,新增 `latin1` 选项,用于导入字符集为 latin1 的源文件。| -| TiDB Lightning | [`send-kv-size`](/tidb-lightning/tidb-lightning-configuration.md) | 新增 | 用于设置单次发送到 TiKV 的 KV Pairs 的大小。当 KV 键值对的大小达到设定的阈值时,它们将被 TiDB Lightning 立即发送到 TiKV,避免在导入大宽表的时候由于 TiDB Lightning 节点内存积累键值对过多导致 OOM 的问题。通过调整该参数,你可以在内存使用和导入速度之间找到平衡,提高导入过程的稳定性和效率。**tw@hfxsd** | +| TiDB Lightning | [`send-kv-size`](/tidb-lightning/tidb-lightning-configuration.md) | 新增 | 用于设置单次发送到 TiKV 的键值对的大小。当键值对的大小达到设定的阈值时,它们将被 TiDB Lightning 立即发送到 TiKV,避免在导入大宽表的时候由于 TiDB Lightning 节点内存积累键值对过多导致 OOM 的问题。通过调整该参数,你可以在内存使用和导入速度之间找到平衡,提高导入过程的稳定性和效率。**tw@hfxsd** | | Data Migration | [`strict-optimistic-shard-mode`](/dm/feature-shard-merge-optimistic.md) | 新增 | 用于兼容历史版本 TiDB Data Migration v2.0 的分库分表同步 DDL 的行为。当用户选择乐观模式时,可以启用该参数,开启后,乐观模式下,同步任务遇到二类 DDL 时,整个任务会中断。在多个表的 DDL 变更有依赖关系的场景,可以及时中断同步,在用户手动处理完各表的 DDL 后,再继续同步数据,保障上下游数据的一致性。 **tw@ran-huang** | | TiCDC | [`sink.protocol`](/ticdc/ticdc-changefeed-config.md) | 修改 | 扩展下游类型是 Kafka 时的可选值范围:增加 `"open-protocol"`。用于指定编码消息时使用的格式协议。| | TiCDC | [`sink.delete-only-output-handle-key-columns`](/ticdc/ticdc-changefeed-config.md) | 新增 | 指定 Delete 事件的输出内容,只对 canal-json 和 open-protocol 协议有效。默认值为 false,即输出所有列的内容。当设置为 true 时,只输出主键列,或唯一索引列的内容。 | From a3d77bee7bc7e37df5c9909e7e7ab950c357775a Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Wed, 21 Jun 2023 14:48:50 +0800 Subject: [PATCH 062/121] Update releases/release-7.2.0.md --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index e4ce8d09602c..fe2eb38455e9 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -40,7 +40,7 @@ TiDB 版本:7.2.0 TiDB v7.2.0 优化了统计信息的收集策略,会选择跳过一部分重复的信息,以及对优化器价值不高的信息,从而将统计信息收集的整体速度提升了 30%。这一改进有利于 TiDB 更及时地更新数据库对象的统计信息,生成更准确的执行计划,从而提升数据库整体性能。 - 默认设置下,统计信息收集会跳过类型为 `json`, `blob`, `mediumblob`, `longblob` 的列。你可以通过设置系统变量[``tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) 来修改默认行为。当前支持设置跳过 JSON, BLOB, TEXT 这几个类型及其子类型。 + 默认设置下,统计信息收集会跳过类型为 `json`, `blob`, `mediumblob`, `longblob` 的列。你可以通过设置系统变量 [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) 来修改默认行为。当前支持设置跳过 `JSON`、`BLOB`、`TEXT` 这几个类型及其子类型。 更多信息,请参考[用户文档](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入)。 From 36b4e0df6eae4bd1b82a3860a752af974718e888 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Wed, 21 Jun 2023 17:15:24 +0800 Subject: [PATCH 063/121] Update releases/release-7.2.0.md --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index fe2eb38455e9..e2c73fa8b9e1 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -40,7 +40,7 @@ TiDB 版本:7.2.0 TiDB v7.2.0 优化了统计信息的收集策略,会选择跳过一部分重复的信息,以及对优化器价值不高的信息,从而将统计信息收集的整体速度提升了 30%。这一改进有利于 TiDB 更及时地更新数据库对象的统计信息,生成更准确的执行计划,从而提升数据库整体性能。 - 默认设置下,统计信息收集会跳过类型为 `json`, `blob`, `mediumblob`, `longblob` 的列。你可以通过设置系统变量 [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) 来修改默认行为。当前支持设置跳过 `JSON`、`BLOB`、`TEXT` 这几个类型及其子类型。 + 默认设置下,统计信息收集会跳过类型为 `json`、`blob`、`mediumblob`、`longblob` 的列。你可以通过设置系统变量 [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) 来修改默认行为。当前支持设置跳过 `JSON`、`BLOB`、`TEXT` 这几个类型及其子类型。 更多信息,请参考[用户文档](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入)。 From 8434f0bf404d17b28053ca8b4f566d81db144b93 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 21 Jun 2023 17:39:34 +0800 Subject: [PATCH 064/121] Apply suggestions from code review Co-authored-by: ShuNing Co-authored-by: Hangjie Mo Co-authored-by: givemefive <87104512+nongfushanquan@users.noreply.github.com> --- releases/release-7.2.0.md | 54 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 50 insertions(+), 4 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index e2c73fa8b9e1..ee806011d1f5 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -177,15 +177,24 @@ TiDB 版本:7.2.0 - 优化构造索引扫描范围的逻辑,支持将一些复杂条件转化为索引扫描范围 [#41572](https://github.com/pingcap/tidb/issues/41572) [#44389](https://github.com/pingcap/tidb/issues/44389) @xuyifangreeneyes - note [#issue](链接) @[贡献者 GitHub ID](链接) +- 为 stale read 新增相关监控指标 [#43325](https://github.com/pingcap/tidb/issues/43325) @[you06](https://github.com/you06) +- 当 stale read retry leader 遇到 lock,resolve lock 之后强制走 leader 避免无谓开销 [#43659](https://github.com/pingcap/tidb/issues/43659) @[you06](https://github.com/you06) +- 使用估计时间计算 stale read ts,减少 stale read 开销 [#44215](https://github.com/pingcap/tidb/issues/44215) @[you06](https://github.com/you06) +- 添加 long running 事务日志和系统变量 [#41471](https://github.com/pingcap/tidb/issues/41471) @[crazycs520](https://github.com/crazycs520) + TiKV - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 使用 gzip 压缩 check leader 请求减少流量消耗 [#14553](https://github.com/tikv/tikv/issues/14553) @[you06](https://github.com/you06) + - 添加 check leader 相关 metric [#14658](https://github.com/tikv/tikv/issues/14658) @[you06](https://github.com/you06) + - 详细记录 write command 处理时间细节 [#12362](https://github.com/tikv/tikv/issues/12362) @[cfzjywxk](https://github.com/cfzjywxk) - note [#issue](链接) @[贡献者 GitHub ID](链接) + PD - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - PD Leader 选举使用单独的 gRPC 链接,防止受到其他请求的影响 [#6403](https://github.com/tikv/pd/issues/6403) @[rleungx](https://github.com/rleungx) + - 默认打开 bucket split,改善 Multi-Region 的热点问题 [#6433](https://github.com/tikv/pd/issues/6433) @[bufferflies](https://github.com/bufferflies) + - 新增历史负载信息,避免了存储引擎为 raft-kv2 时,热点调度器对不稳定负载所在的 Region 进行频繁调度 [#6297](https://github.com/tikv/pd/issues/6297) @[bufferflies](https://github.com/bufferflies) - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiFlash @@ -227,15 +236,36 @@ TiDB 版本:7.2.0 - 修复关联子查询中含有 CTE 时可能出现的查询 hang 住的问题 [#36896](https://github.com/pingcap/tidb/issues/36896) @[guo-shaoge](https://github.com/guo-shaoge) - 修复某些情况下 max/min 结果出错的问题 [#43805](https://github.com/pingcap/tidb/issues/43508)@[wshwsh12](https://github.com/wshwsh12) - note [#issue](链接) @[贡献者 GitHub ID](链接) - + - 修复当 query 包含子查询时,information schema 显示中 `TxnStart` 字段为空的问题 [#40851](https://github.com/pingcap/tidb/issues/40851) @[crazycs520](https://github.com/crazycs520) + - 修复 cop task 中 txn scope 缺失导致 stale read global optimization 不生效的问题 [#43365](https://github.com/pingcap/tidb/issues/43365) @[you06](https://github.com/you06) + - 修复 follower read 未处理 flashback 错误进行重试导致查询报错的问题 [#43673](https://github.com/pingcap/tidb/issues/43673) @[you06](https://github.com/you06) + - 修复 prepared stale read 语句无法读到预期结果机会的问题 [#43044](https://github.com/pingcap/tidb/issues/43044) @[you06](https://github.com/you06) + - 修复 on update 语句没有正确更新 primary key 导致数据索引不一致问题 @[zyguan](https://github.com/zyguan) + - 修复 RC 模式悲观锁缓存可能导致数据不一致的问题 [43294](https://github.com/pingcap/tidb/issues/43294) @[ekexium](https://github.com/ekexium) +```suggestion + - 修复部分 TiDB 内部 SQL 解析错误问题 [#43392] (https://github.com/pingcap/tidb/issues/43392) @[guo-shaoge](https://github.com/guo-shaoge) + - 修改 UNIX_TIMESTAMP 函数的上限为 `3001-01-19 03:14:07.999999 UTC` 和 MySQL 8.0.28+ 保持一致 [#43987](https://github.com/pingcap/tidb/issues/43987) @[YangKeao](https://github.com/YangKeao) + - 修复了 add Index 在 ingest 模式下失败的问题 [#44137](https://github.com/pingcap/tidb/issues/44137) @[tangenta](https://github.com/tangenta) + - 修复了 cancel 处于在 rollback 状态的 DDL 任务导致相关元数据出错的问题 [#44143](https://github.com/pingcap/tidb/issues/44143) @[wjhuang2016](https://github.com/wjhuang2016) + - 修复了 memtracker 配合 cursor 使用导致内存泄漏的问题 [#44254](https://github.com/pingcap/tidb/issues/44254) @[YangKeao](https://github.com/YangKeao) + - 修复了删除 database 导致 GC 推进慢的问题 [#33069](https://github.com/pingcap/tidb/issues/33069) @[tiancaiamao](https://github.com/tiancaiamao) + - 修复了分区表在 Index join 的 probe 阶段找不到对应行而报错的问题 [#43686](https://github.com/pingcap/tidb/issues/43686) @[AilinKid](https://github.com/AilinKid) @[mjonss](https://github.com/mjonss) + - 修复了创建 subpartition 的报错信息 [#41198](https://github.com/pingcap/tidb/issues/41198) [#41200](https://github.com/pingcap/tidb/issues/41200) @[mjonss](https://github.com/mjonss) + - 修复了执行时间超过 `MAX_EXECUTION_TIME` 被 kill 的返回值和 MySQL 不一致的问题 [#43031] (https://github.com/pingcap/tidb/issues/43031) @[dveeden](https://github.com/dveeden) + TiKV - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 修复锁堆积优化在老版本升级情况下不生效的问题 #[14780](https://github.com/tikv/tikv/issues/14780) @[ekexium](https://github.com/ekexium) + - 修复 fair lock 在出现 stale req 情况下的正确性问题 #[13298](https://github.com/tikv/tikv/issues/13298) @[cfzjywxk](https://github.com/cfzjywxk) + - 修复 autocommit point get 在 follower read 情况下线性一致性可能被破坏的问题 #[14715](https://github.com/tikv/tikv/issues/14715) @[cfzjywxkj](https://github.com/cfzjywxk) + PD - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 修复在特殊情况下冗余副本无法自动修复的问题 [#6573](https://github.com/tikv/pd/issues/6573) @[nolouch](https://github.com/nolouch) + - 修复 region health 监控项在 pd leader 发生变化后丢失的问题 [#6366](https://github.com/tikv/pd/issues/6366)@[iosmanthus](https://github.com/iosmanthus) + - 修复 nightling 在使用 region label 暂停调度时,导致不健康的副本无法自动修复的问题 [#6426](https://github.com/tikv/pd/issues/6426) @[nolouch](https://github.com/nolouch) + - 修复使用 pd control 标记 tikv, tikv 重启后 label 丢失的问题 [#6467](https://github.com/tikv/pd/issues/6467) @[JmPotato](https://github.com/JmPotato) - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiFlash @@ -251,7 +281,23 @@ TiDB 版本:7.2.0 - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) - + TiCDC ++ TiCDC + +- 优化 CDC 同步任务失败时设置 gc ttl 的方法 [#8403](https://github.com/pingcap/tiflow/issues/8403) +- 优化 canal-json 协议在发生 update 操作时输出数据的格式 [#8706](https://github.com/pingcap/tiflow/issues/8706) +- 优化同步到对象存储场景下发生 DDL 时存放数据文件目录的结构 [#8891](https://github.com/pingcap/tiflow/issues/8891) +- 修复同步到对象存储场下上游执行 exchange partition 命令时不能正常执行的问题 [#8914](https://github.com/pingcap/tiflow/issues/8914) +- 优化 CDC 同步有损 DDL 时的行为 [#8686](https://github.com/pingcap/tiflow/issues/8686) +- 增加在 Kafka 场景下 OAuth 认证方式的支持 [#8865](https://github.com/pingcap/tiflow/issues/8865) +- 修复在某些特殊情况下 resolved ts 不能正常推进的问题 [#8963](https://github.com/pingcap/tiflow/issues/8963) +- 修复使用 Avro 或 csv 协议场景下 update 操作不能输出旧值的问题 [#9086](https://github.com/pingcap/tiflow/issues/9086) +- 修复同步到 Kafka 场景下,读取下游 meta 信息太频繁导致下游压力过大的问题 [#8959](https://github.com/pingcap/tiflow/issues/8959) +- 增加同步到 Kafka 场景下,对于 delete 操作,用户可以只选择输出 handle key 的方式 [#9143](https://github.com/pingcap/tiflow/issues/9143) +- 修复同步到 TiDB/MySQL场景下频繁设置下游 BDR 相关变量导致下游日志过多的问题 [#9180](https://github.com/pingcap/tiflow/issues/9180) +- 修复 PD 节点 crash 时导致 CDC节点重启的问题 [#8868](https://github.com/pingcap/tiflow/issues/8868) +- 优化 CDC 做增量扫时的并发控制逻辑,降低 CDC 节点在 crash 时对同步延时的影响 [#8858](https://github.com/pingcap/tiflow/issues/8858) +- 修复 TiCDC 同步到 KOP 时不能正确建立链接的问题 [#8892](https://github.com/pingcap/tiflow/issues/8892) +- 优化 CDC 同步任务失败时设置 gc ttl 的方法 [#8403](https://github.com/pingcap/tiflow/issues/8403) - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) From 7f2324daa34876b40e6f8feb682b23355478749b Mon Sep 17 00:00:00 2001 From: qiancai Date: Wed, 21 Jun 2023 17:45:44 +0800 Subject: [PATCH 065/121] format upates --- releases/release-7.2.0.md | 95 +++++++++++++++++++-------------------- 1 file changed, 45 insertions(+), 50 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index ee806011d1f5..3c275396035d 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -33,7 +33,7 @@ TiDB 版本:7.2.0 * 降低 TiFlash 等待 schema 同步的时延 [#7630](https://github.com/pingcap/tiflash/issues/7630) @[hongyunyan](https://github.com/hongyunyan) **tw@qiancai** 当表的 schema 发生变化时,TiFlash 需要及时从 TiKV 同步新的表结构信息。在 v7.2.0 之前,当 TiFlash 访问表数据时,只要检测到数据库中的某张表的 schema 发生了变化,TiFlash 就会重新同步该数据库中所有表的 schema 信息。即使一张表没有 TiFlash 副本,TiFlash 也会同步该表的 schema 信息。当数据库中有大量表时,通过 TiFlash 只读取一张表的数据也可能因为需要等待所有表的 schema 信息同步完成而造成较高的时延。 - + 在 v7.2.0 中,TiFlash 优化了 schema 的同步机制,只同步拥有 TiFlash 副本的表的 schema 信息。当检测到某张有 TiFlash 副本的表的 schema 有变化时,TiFlash 只同步该表的 schema 信息,从而降低了 TiFlash 同步 schema 的时延。该优化自动生效,无须任何设置。 * 提升统计信息收集的性能 [#44725](https://github.com/pingcap/tidb/issues/44725) @[xuyifangreeneyes](https://github.com/xuyifangreeneyes) **tw@hfxsd** @@ -41,13 +41,13 @@ TiDB 版本:7.2.0 TiDB v7.2.0 优化了统计信息的收集策略,会选择跳过一部分重复的信息,以及对优化器价值不高的信息,从而将统计信息收集的整体速度提升了 30%。这一改进有利于 TiDB 更及时地更新数据库对象的统计信息,生成更准确的执行计划,从而提升数据库整体性能。 默认设置下,统计信息收集会跳过类型为 `json`、`blob`、`mediumblob`、`longblob` 的列。你可以通过设置系统变量 [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) 来修改默认行为。当前支持设置跳过 `JSON`、`BLOB`、`TEXT` 这几个类型及其子类型。 - + 更多信息,请参考[用户文档](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入)。 * 提升数据和索引一致性检查的性能 [#43693](https://github.com/pingcap/tidb/issues/43693) @[wjhuang2016](https://github.com/wjhuang2016) **tw@qiancai** [`ADMIN CHECK [TABLE|INDEX]`](/sql-statements/sql-statement-admin-check-table-index.md) 语句用于校验表中数据和对应索引的一致性。在 v7.2.0 中,TiDB 优化了数据一致性的校验方式,大幅提升了 [`ADMIN CHECK [TABLE|INDEX]`](/sql-statements/sql-statement-admin-check-table-index.md) 语句的执行效率,在大数据量场景中性能能够提升百倍。 - + 该优化默认开启 ([`tidb_enable_fast_table_check`](/system-variables.md#tidb_enable_fast_table_check-从-v720-版本开始引入) 默认为 `ON`),可以大幅减少大型表数据一致性检查的时间, 提升运维体验。 更多信息,请参考[用户文档](/system-variables.md#tidb_enable_fast_table_check-从-v720-版本开始引入)。 @@ -67,21 +67,21 @@ TiDB 版本:7.2.0 * 增强根据历史执行计划创建绑定的能力 [#39199](https://github.com/pingcap/tidb/issues/39199) @[qw4990](https://github.com/qw4990) **tw@Oreoxmt** TiDB v7.2.0 进一步增强[根据历史执行计划创建绑定](/sql-plan-management.md#根据历史执行计划创建绑定)的能力,加强对复杂语句的解析和绑定,使绑定更稳固,并新增支持对以下 Hint 的绑定。 - - - [`AGG_TO_COP()`](/optimizer-hints.md#agg_to_cop) - - [`LIMIT_TO_COP()`](/optimizer-hints.md#limit_to_cop) - - [`ORDER_INDEX`](/optimizer-hints.md#order_indext1_name-idx1_name--idx2_name) - - [`NO_ORDER_INDEX()`](/optimizer-hints.md#no_order_indext1_name-idx1_name--idx2_name)。 - 更多信息,请参考[用户文档](/sql-plan-management.md)。 + - [`AGG_TO_COP()`](/optimizer-hints.md#agg_to_cop) + - [`LIMIT_TO_COP()`](/optimizer-hints.md#limit_to_cop) + - [`ORDER_INDEX`](/optimizer-hints.md#order_indext1_name-idx1_name--idx2_name) + - [`NO_ORDER_INDEX()`](/optimizer-hints.md#no_order_indext1_name-idx1_name--idx2_name)。 + + 更多信息,请参考[用户文档](/sql-plan-management.md)。 * 提供 Optimizer Fix Controls 机制对优化器行为进行细粒度控制 [#43169](https://github.com/pingcap/tidb/issues/43169) @[time-and-fate](https://github.com/time-and-fate) **tw@hfxsd** 为了生成更合理的执行计划,TiDB 优化器的行为会随产品迭代而不断演进。但在某些特定场景下,这些变化可能引发性能回退。因此 TiDB 引入了 Optimizer Fix Controls 来控制优化器的一部分细粒度行为,你可以对一些新的变化进行回滚或控制。 - 每一个可控的行为,都有一个与 Fix 号码对应的 GitHub Issue 进行说明。所有可控的行为列举在文档 [Optimizer Fix Controls](/optimizer-fix-controls.md) 中。通过设置系统变量 [`tidb_opt_fix_control`](/system-variables.md#tidb_opt_fix_control-从-v710-版本开始引入) 可以为一个或多个行为设置目标值,进而达到行为控制的目的。 + 每一个可控的行为,都有一个与 Fix 号码对应的 GitHub Issue 进行说明。所有可控的行为列举在文档 [Optimizer Fix Controls](/optimizer-fix-controls.md) 中。通过设置系统变量 [`tidb_opt_fix_control`](/system-variables.md#tidb_opt_fix_control-从-v710-版本开始引入) 可以为一个或多个行为设置目标值,进而达到行为控制的目的。 - Optimizer Fix Controls 机制加强了你对 TiDB 优化器的细粒度管控能力,为升级过程引发的性能问题提供了新的修复手段,提升 TiDB 的稳定性。 + Optimizer Fix Controls 机制加强了你对 TiDB 优化器的细粒度管控能力,为升级过程引发的性能问题提供了新的修复手段,提升 TiDB 的稳定性。 更多信息,请参考[用户文档](/optimizer-fix-controls.md)。 @@ -115,7 +115,7 @@ TiDB 版本:7.2.0 * 引入新的 SQL 语句 `IMPORT INTO`,大幅提升导入效率(实验特性)[#42930](https://github.com/pingcap/tidb/issues/42930) @[D3Hunter](https://github.com/D3Hunter) **tw@qiancai** `IMPORT INTO` 集成了 TiDB Lightning 的[物理导入模式](/tidb-lightning/tidb-lightning-physical-import-mode.md) 的能力。通过该语句,你可以将 `CSV`、`SQL`、`PARQUET` 等格式的数据快速导入到 TiDB 的一张空表中。这种导入方式无需单独部署和管理 TiDB Lightning,在降低了数据导入难度的同时,大幅提升了数据导入效率。 - + 对于存储在 Amazon S3 或 GCS 的数据文件,在开启了[后端任务分布式框架](/tidb-distributed-execution-framework.md) 后,`IMPORT INTO` 还支持将数据导入任务拆分成多个子任务,并将子任务调度到多个 TiDB 节点并行导入,进一步提升导入性能。 更多信息,请参考[用户文档](sql-statements/sql-statement-import-into.md)。 @@ -142,7 +142,7 @@ TiDB 版本:7.2.0 ### 系统变量 -| 变量名 | 修改类型(包括新增/修改/删除) | 描述 | +| 变量名 | 修改类型 | 描述 | |--------|------------------------------|------| | [`last_insert_id`](/system-variables.md#last_insert_id-从-v530-版本开始引入) | 修改 | 该变量的最大值从 `9223372036854775807` 修改为 `18446744073709551615`,和 MySQL 保持一致。 | | [`tidb_remove_orderby_in_subquery`](/system-variables.md#tidb_remove_orderby_in_subquery-从-v610-版本开始引入) | 修改 | 经进一步的测试后,该变量默认值从 `OFF` 修改为 `ON`,即优化器改写会移除子查询中的 `ORDER BY` 子句。 | @@ -156,8 +156,6 @@ TiDB 版本:7.2.0 | 配置文件 | 配置项 | 修改类型 | 描述 | | -------- | -------- | -------- | -------- | -| | | | | -| | | | | | TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].optimize-filters-for-memory](/tikv-configuration-file.md#optimize-filters-for-memory-从-v710-版本开始引入) | 新增 | 控制是否生成能够最小化内存碎片的 Bloom/Ribbon filter。 | | TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].ribbon-filter-above-level](/tikv-configuration-file.md#ribbon-filter-above-level-从-v710-版本开始引入) | 新增 | 控制是否对于大于等于该值的 level 使用 Ribbon filter,对于小于该值的 level,使用非 block-based bloom filter。 | | TiDB Lightning | `send-kv-pairs` | 废弃 | 从 v7.2.0 版本开始,`send-kv-pairs` 不再生效。你可以使用新参数 [`send-kv-size`](/tidb-lightning/tidb-lightning-configuration.md) 来指定物理导入模式下向 TiKV 发送数据时一次请求的最大大小。**tw@hfxsd** | @@ -176,19 +174,19 @@ TiDB 版本:7.2.0 + TiDB - 优化构造索引扫描范围的逻辑,支持将一些复杂条件转化为索引扫描范围 [#41572](https://github.com/pingcap/tidb/issues/41572) [#44389](https://github.com/pingcap/tidb/issues/44389) @xuyifangreeneyes + - 为 stale read 新增相关监控指标 [#43325](https://github.com/pingcap/tidb/issues/43325) @[you06](https://github.com/you06) + - 当 stale read retry leader 遇到 lock,resolve lock 之后强制走 leader 避免无谓开销 [#43659](https://github.com/pingcap/tidb/issues/43659) @[you06](https://github.com/you06) + - 使用估计时间计算 stale read ts,减少 stale read 开销 [#44215](https://github.com/pingcap/tidb/issues/44215) @[you06](https://github.com/you06) + - 添加 long running 事务日志和系统变量 [#41471](https://github.com/pingcap/tidb/issues/41471) @[crazycs520](https://github.com/crazycs520) - note [#issue](链接) @[贡献者 GitHub ID](链接) -- 为 stale read 新增相关监控指标 [#43325](https://github.com/pingcap/tidb/issues/43325) @[you06](https://github.com/you06) -- 当 stale read retry leader 遇到 lock,resolve lock 之后强制走 leader 避免无谓开销 [#43659](https://github.com/pingcap/tidb/issues/43659) @[you06](https://github.com/you06) -- 使用估计时间计算 stale read ts,减少 stale read 开销 [#44215](https://github.com/pingcap/tidb/issues/44215) @[you06](https://github.com/you06) -- 添加 long running 事务日志和系统变量 [#41471](https://github.com/pingcap/tidb/issues/41471) @[crazycs520](https://github.com/crazycs520) + TiKV - - note [#issue](链接) @[贡献者 GitHub ID](链接) - 使用 gzip 压缩 check leader 请求减少流量消耗 [#14553](https://github.com/tikv/tikv/issues/14553) @[you06](https://github.com/you06) - 添加 check leader 相关 metric [#14658](https://github.com/tikv/tikv/issues/14658) @[you06](https://github.com/you06) - 详细记录 write command 处理时间细节 [#12362](https://github.com/tikv/tikv/issues/12362) @[cfzjywxk](https://github.com/cfzjywxk) - note [#issue](链接) @[贡献者 GitHub ID](链接) + - note [#issue](链接) @[贡献者 GitHub ID](链接) + PD @@ -242,16 +240,16 @@ TiDB 版本:7.2.0 - 修复 prepared stale read 语句无法读到预期结果机会的问题 [#43044](https://github.com/pingcap/tidb/issues/43044) @[you06](https://github.com/you06) - 修复 on update 语句没有正确更新 primary key 导致数据索引不一致问题 @[zyguan](https://github.com/zyguan) - 修复 RC 模式悲观锁缓存可能导致数据不一致的问题 [43294](https://github.com/pingcap/tidb/issues/43294) @[ekexium](https://github.com/ekexium) -```suggestion - - 修复部分 TiDB 内部 SQL 解析错误问题 [#43392] (https://github.com/pingcap/tidb/issues/43392) @[guo-shaoge](https://github.com/guo-shaoge) - - 修改 UNIX_TIMESTAMP 函数的上限为 `3001-01-19 03:14:07.999999 UTC` 和 MySQL 8.0.28+ 保持一致 [#43987](https://github.com/pingcap/tidb/issues/43987) @[YangKeao](https://github.com/YangKeao) - - 修复了 add Index 在 ingest 模式下失败的问题 [#44137](https://github.com/pingcap/tidb/issues/44137) @[tangenta](https://github.com/tangenta) - - 修复了 cancel 处于在 rollback 状态的 DDL 任务导致相关元数据出错的问题 [#44143](https://github.com/pingcap/tidb/issues/44143) @[wjhuang2016](https://github.com/wjhuang2016) - - 修复了 memtracker 配合 cursor 使用导致内存泄漏的问题 [#44254](https://github.com/pingcap/tidb/issues/44254) @[YangKeao](https://github.com/YangKeao) - - 修复了删除 database 导致 GC 推进慢的问题 [#33069](https://github.com/pingcap/tidb/issues/33069) @[tiancaiamao](https://github.com/tiancaiamao) - - 修复了分区表在 Index join 的 probe 阶段找不到对应行而报错的问题 [#43686](https://github.com/pingcap/tidb/issues/43686) @[AilinKid](https://github.com/AilinKid) @[mjonss](https://github.com/mjonss) - - 修复了创建 subpartition 的报错信息 [#41198](https://github.com/pingcap/tidb/issues/41198) [#41200](https://github.com/pingcap/tidb/issues/41200) @[mjonss](https://github.com/mjonss) - - 修复了执行时间超过 `MAX_EXECUTION_TIME` 被 kill 的返回值和 MySQL 不一致的问题 [#43031] (https://github.com/pingcap/tidb/issues/43031) @[dveeden](https://github.com/dveeden) + - 修复部分 TiDB 内部 SQL 解析错误问题 [#43392] (https://github.com/pingcap/tidb/issues/43392) @[guo-shaoge](https://github.com/guo-shaoge) + - 修改 UNIX_TIMESTAMP 函数的上限为 `3001-01-19 03:14:07.999999 UTC` 和 MySQL 8.0.28+ 保持一致 [#43987](https://github.com/pingcap/tidb/issues/43987) @[YangKeao](https://github.com/YangKeao) + - 修复了 add Index 在 ingest 模式下失败的问题 [#44137](https://github.com/pingcap/tidb/issues/44137) @[tangenta](https://github.com/tangenta) + - 修复了 cancel 处于在 rollback 状态的 DDL 任务导致相关元数据出错的问题 [#44143](https://github.com/pingcap/tidb/issues/44143) @[wjhuang2016](https://github.com/wjhuang2016) + - 修复了 memtracker 配合 cursor 使用导致内存泄漏的问题 [#44254](https://github.com/pingcap/tidb/issues/44254) @[YangKeao](https://github.com/YangKeao) + - 修复了删除 database 导致 GC 推进慢的问题 [#33069](https://github.com/pingcap/tidb/issues/33069) @[tiancaiamao](https://github.com/tiancaiamao) + - 修复了分区表在 Index join 的 probe 阶段找不到对应行而报错的问题 [#43686](https://github.com/pingcap/tidb/issues/43686) @[AilinKid](https://github.com/AilinKid) @[mjonss](https://github.com/mjonss) + - 修复了创建 subpartition 的报错信息 [#41198](https://github.com/pingcap/tidb/issues/41198) [#41200](https://github.com/pingcap/tidb/issues/41200) @[mjonss](https://github.com/mjonss) + - 修复了执行时间超过 `MAX_EXECUTION_TIME` 被 kill 的返回值和 MySQL 不一致的问题 [#43031](https://github.com/pingcap/tidb/issues/43031) @[dveeden](https://github.com/dveeden) + + TiKV - note [#issue](链接) @[贡献者 GitHub ID](链接) @@ -277,30 +275,27 @@ TiDB 版本:7.2.0 + Backup & Restore (BR) - - 为外部存储 Azure Blob Storage 提供 SAS (shared access signature) 的访问方式 [#44199](https://github.com/pingcap/tidb/issues/44199) @Leavrth + - 为外部存储 Azure Blob Storage 提供 SAS (shared access signature) 的访问方式 [#44199](https://github.com/pingcap/tidb/issues/44199) @Leavrth - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) -+ TiCDC - -- 优化 CDC 同步任务失败时设置 gc ttl 的方法 [#8403](https://github.com/pingcap/tiflow/issues/8403) -- 优化 canal-json 协议在发生 update 操作时输出数据的格式 [#8706](https://github.com/pingcap/tiflow/issues/8706) -- 优化同步到对象存储场景下发生 DDL 时存放数据文件目录的结构 [#8891](https://github.com/pingcap/tiflow/issues/8891) -- 修复同步到对象存储场下上游执行 exchange partition 命令时不能正常执行的问题 [#8914](https://github.com/pingcap/tiflow/issues/8914) -- 优化 CDC 同步有损 DDL 时的行为 [#8686](https://github.com/pingcap/tiflow/issues/8686) -- 增加在 Kafka 场景下 OAuth 认证方式的支持 [#8865](https://github.com/pingcap/tiflow/issues/8865) -- 修复在某些特殊情况下 resolved ts 不能正常推进的问题 [#8963](https://github.com/pingcap/tiflow/issues/8963) -- 修复使用 Avro 或 csv 协议场景下 update 操作不能输出旧值的问题 [#9086](https://github.com/pingcap/tiflow/issues/9086) -- 修复同步到 Kafka 场景下,读取下游 meta 信息太频繁导致下游压力过大的问题 [#8959](https://github.com/pingcap/tiflow/issues/8959) -- 增加同步到 Kafka 场景下,对于 delete 操作,用户可以只选择输出 handle key 的方式 [#9143](https://github.com/pingcap/tiflow/issues/9143) -- 修复同步到 TiDB/MySQL场景下频繁设置下游 BDR 相关变量导致下游日志过多的问题 [#9180](https://github.com/pingcap/tiflow/issues/9180) -- 修复 PD 节点 crash 时导致 CDC节点重启的问题 [#8868](https://github.com/pingcap/tiflow/issues/8868) -- 优化 CDC 做增量扫时的并发控制逻辑,降低 CDC 节点在 crash 时对同步延时的影响 [#8858](https://github.com/pingcap/tiflow/issues/8858) -- 修复 TiCDC 同步到 KOP 时不能正确建立链接的问题 [#8892](https://github.com/pingcap/tiflow/issues/8892) -- 优化 CDC 同步任务失败时设置 gc ttl 的方法 [#8403](https://github.com/pingcap/tiflow/issues/8403) + + TiCDC - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 优化 CDC 同步任务失败时设置 gc ttl 的方法 [#8403](https://github.com/pingcap/tiflow/issues/8403) + - 优化 canal-json 协议在发生 update 操作时输出数据的格式 [#8706](https://github.com/pingcap/tiflow/issues/8706) + - 优化同步到对象存储场景下发生 DDL 时存放数据文件目录的结构 [#8891](https://github.com/pingcap/tiflow/issues/8891) + - 修复同步到对象存储场下上游执行 exchange partition 命令时不能正常执行的问题 [#8914](https://github.com/pingcap/tiflow/issues/8914) + - 优化 CDC 同步有损 DDL 时的行为 [#8686](https://github.com/pingcap/tiflow/issues/8686) + - 增加在 Kafka 场景下 OAuth 认证方式的支持 [#8865](https://github.com/pingcap/tiflow/issues/8865) + - 修复在某些特殊情况下 resolved ts 不能正常推进的问题 [#8963](https://github.com/pingcap/tiflow/issues/8963) + - 修复使用 Avro 或 csv 协议场景下 update 操作不能输出旧值的问题 [#9086](https://github.com/pingcap/tiflow/issues/9086) + - 修复同步到 Kafka 场景下,读取下游 meta 信息太频繁导致下游压力过大的问题 [#8959](https://github.com/pingcap/tiflow/issues/8959) + - 增加同步到 Kafka 场景下,对于 delete 操作,用户可以只选择输出 handle key 的方式 [#9143](https://github.com/pingcap/tiflow/issues/9143) + - 修复同步到 TiDB/MySQL场景下频繁设置下游 BDR 相关变量导致下游日志过多的问题 [#9180](https://github.com/pingcap/tiflow/issues/9180) + - 修复 PD 节点 crash 时导致 CDC节点重启的问题 [#8868](https://github.com/pingcap/tiflow/issues/8868) + - 优化 CDC 做增量扫时的并发控制逻辑,降低 CDC 节点在 crash 时对同步延时的影响 [#8858](https://github.com/pingcap/tiflow/issues/8858) + - 修复 TiCDC 同步到 KOP 时不能正确建立链接的问题 [#8892](https://github.com/pingcap/tiflow/issues/8892) + - 优化 CDC 同步任务失败时设置 gc ttl 的方法 [#8403](https://github.com/pingcap/tiflow/issues/8403) + TiDB Data Migration (DM) From cbfc599521fea85be80743ae80b69727f31287a5 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 21 Jun 2023 19:45:43 +0800 Subject: [PATCH 066/121] Apply suggestions from code review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Xiaoju Wu Co-authored-by: 山岚 <36239017+YuJuncen@users.noreply.github.com> --- releases/release-7.2.0.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 3c275396035d..d0a4b950e198 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -249,7 +249,7 @@ TiDB 版本:7.2.0 - 修复了分区表在 Index join 的 probe 阶段找不到对应行而报错的问题 [#43686](https://github.com/pingcap/tidb/issues/43686) @[AilinKid](https://github.com/AilinKid) @[mjonss](https://github.com/mjonss) - 修复了创建 subpartition 的报错信息 [#41198](https://github.com/pingcap/tidb/issues/41198) [#41200](https://github.com/pingcap/tidb/issues/41200) @[mjonss](https://github.com/mjonss) - 修复了执行时间超过 `MAX_EXECUTION_TIME` 被 kill 的返回值和 MySQL 不一致的问题 [#43031](https://github.com/pingcap/tidb/issues/43031) @[dveeden](https://github.com/dveeden) - +- 修复了 Leading Hint 无法支持 query block alias 的问题 [#44645] (https://github.com/pingcap/tidb/issues/44645) @[qw4990](https://github.com/qw4990) + TiKV - note [#issue](链接) @[贡献者 GitHub ID](链接) @@ -276,7 +276,9 @@ TiDB 版本:7.2.0 + Backup & Restore (BR) - 为外部存储 Azure Blob Storage 提供 SAS (shared access signature) 的访问方式 [#44199](https://github.com/pingcap/tidb/issues/44199) @Leavrth - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 修复了在一些情况下误报 checksum mismatch 的问题。[#44472](https://github.com/pingcap/tidb/issues/44472) @[Leavrth](https://github.com/Leavrth) + - 修复了在一些情况下误报 resolved lock timeout 的问题。[#43236](https://github.com/pingcap/tidb/issues/43236) @[YuJuncen](https://github.com/YuJuncen) + - 修复了在恢复统计信息的时候可能会 panic 的问题。[#44490](https://github.com/pingcap/tidb/issues/44490) @[tangenta](https://github.com/tangenta) - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiCDC From bb85533546424119105a2fb3a4fd0e4faac27ea0 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Sat, 24 Jun 2023 21:36:42 +0800 Subject: [PATCH 067/121] Apply suggestions from code review Co-authored-by: tonyxuqqi --- releases/release-7.2.0.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index d0a4b950e198..ca874d5c7bda 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -181,7 +181,9 @@ TiDB 版本:7.2.0 - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiKV - + - 支持配置PDclient的重连间隔 [#14964](https://github.com/tikv/tikv/issues/14964) @[rleungx](https://github.com/rleungx) + - resource control提高调度算法将全局的资源使用作为调度因素 [#14604](https://github.com/tikv/tikv/issues/14604) @[Connor1996](https://github.com/Connor1996) + - compaction-guard-min-output-file-size默认值从8MB改为1MB [#14888](https://github.com/tikv/tikv/issues/14888) @[tonyxuqqi](https://github.com/tonyxuqqi) - 使用 gzip 压缩 check leader 请求减少流量消耗 [#14553](https://github.com/tikv/tikv/issues/14553) @[you06](https://github.com/you06) - 添加 check leader 相关 metric [#14658](https://github.com/tikv/tikv/issues/14658) @[you06](https://github.com/you06) - 详细记录 write command 处理时间细节 [#12362](https://github.com/tikv/tikv/issues/12362) @[cfzjywxk](https://github.com/cfzjywxk) @@ -251,7 +253,8 @@ TiDB 版本:7.2.0 - 修复了执行时间超过 `MAX_EXECUTION_TIME` 被 kill 的返回值和 MySQL 不一致的问题 [#43031](https://github.com/pingcap/tidb/issues/43031) @[dveeden](https://github.com/dveeden) - 修复了 Leading Hint 无法支持 query block alias 的问题 [#44645] (https://github.com/pingcap/tidb/issues/44645) @[qw4990](https://github.com/qw4990) + TiKV - + - 修复处理stale悲观锁冲突时不正确的事务返回值. [#13298](https://github.com/tikv/tikv/issues/13298) @[cfzjywxk](https://github.com/cfzjywxk) + - 修复in-memory pessimistic locks可能导致flashback失败和数据不一致. [#13303](https://github.com/tikv/tikv/issues/13303) @[JmPotato](https://github.com/JmPotato) - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) - 修复锁堆积优化在老版本升级情况下不生效的问题 #[14780](https://github.com/tikv/tikv/issues/14780) @[ekexium](https://github.com/ekexium) From 1e67f3edd1b30490bdbab9de5fdd7c6b8b2255af Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Sat, 24 Jun 2023 21:37:23 +0800 Subject: [PATCH 068/121] Update releases/release-7.2.0.md Co-authored-by: Xiaoju Wu --- releases/release-7.2.0.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index ca874d5c7bda..816f50296f46 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -164,7 +164,8 @@ TiDB 版本:7.2.0 | Data Migration | [`strict-optimistic-shard-mode`](/dm/feature-shard-merge-optimistic.md) | 新增 | 用于兼容历史版本 TiDB Data Migration v2.0 的分库分表同步 DDL 的行为。当用户选择乐观模式时,可以启用该参数,开启后,乐观模式下,同步任务遇到二类 DDL 时,整个任务会中断。在多个表的 DDL 变更有依赖关系的场景,可以及时中断同步,在用户手动处理完各表的 DDL 后,再继续同步数据,保障上下游数据的一致性。 **tw@ran-huang** | | TiCDC | [`sink.protocol`](/ticdc/ticdc-changefeed-config.md) | 修改 | 扩展下游类型是 Kafka 时的可选值范围:增加 `"open-protocol"`。用于指定编码消息时使用的格式协议。| | TiCDC | [`sink.delete-only-output-handle-key-columns`](/ticdc/ticdc-changefeed-config.md) | 新增 | 指定 Delete 事件的输出内容,只对 canal-json 和 open-protocol 协议有效。默认值为 false,即输出所有列的内容。当设置为 true 时,只输出主键列,或唯一索引列的内容。 | - +| TiDB | [`lite-init-stats`](/tidb-configuration-file.md#lite-init-stats-从-v710-版本开始引入) | 修改 | 用于控制 TiDB 启动时是否采用轻量级的统计信息初始化,默认值从 false 变更为 true。 | +| TiDB | [`force-init-stats`](/tidb-configuration-file.md#force-init-stats-从-v710-版本开始引入) | 修改 | 用于控制 TiDB 启动时是否在统计信息初始化完成后再对外提供服务,默认值从 false 变更为 true。 | ## 废弃功能 - note [#issue](链接) @[贡献者 GitHub ID](链接) From e80de277dd78a3f3101795a3e9388de467bef7d9 Mon Sep 17 00:00:00 2001 From: qiancai Date: Sat, 24 Jun 2023 22:36:33 +0800 Subject: [PATCH 069/121] Update release-7.2.0.md --- releases/release-7.2.0.md | 105 +++++++++++++++++--------------------- 1 file changed, 47 insertions(+), 58 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 816f50296f46..a576a6209777 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -19,7 +19,7 @@ TiDB 版本:7.2.0 ### 性能 -* 新增支持下推以下两个[窗口函数](/tiflash/tiflash-supported-pushdown-calculations.md) 到 TiFlash [#7427](https://github.com/pingcap/tiflash/issues/7427) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@qiancai** +* 新增支持下推以下两个[窗口函数](/tiflash/tiflash-supported-pushdown-calculations.md) 到 TiFlash [#7427](https://github.com/pingcap/tiflash/issues/7427) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@qiancai** * `FIRST_VALUE` * `LAST_VALUE` @@ -108,8 +108,6 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](/ddl-introduction.md#ddl-相关的命令介绍)。 -### 可观测性 - ### 数据迁移 * 引入新的 SQL 语句 `IMPORT INTO`,大幅提升导入效率(实验特性)[#42930](https://github.com/pingcap/tidb/issues/42930) @[D3Hunter](https://github.com/D3Hunter) **tw@qiancai** @@ -144,18 +142,19 @@ TiDB 版本:7.2.0 | 变量名 | 修改类型 | 描述 | |--------|------------------------------|------| -| [`last_insert_id`](/system-variables.md#last_insert_id-从-v530-版本开始引入) | 修改 | 该变量的最大值从 `9223372036854775807` 修改为 `18446744073709551615`,和 MySQL 保持一致。 | +| [`last_insert_id`](/system-variables.md#last_insert_id-从-v530-版本开始引入) | 修改 | 该变量的最大值从 `9223372036854775807` 修改为 `18446744073709551615`,和 MySQL 保持一致。 | | [`tidb_remove_orderby_in_subquery`](/system-variables.md#tidb_remove_orderby_in_subquery-从-v610-版本开始引入) | 修改 | 经进一步的测试后,该变量默认值从 `OFF` 修改为 `ON`,即优化器改写会移除子查询中的 `ORDER BY` 子句。 | | [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) | 新增 | 这个变量表示在执行 `ANALYZE` 命令收集统计信息时,跳过哪些类型的列的统计信息收集。该变量仅适用于 [`tidb_analyze_version = 2`](#tidb_analyze_version-从-v510-版本开始引入) 的情况。使用 `ANALYZE TABLE t COLUMNS c1, ..., cn` 语法时,如果指定的列的类型在 `tidb_analyze_skip_column_types` 中,则不会收集该列的统计信息。 | -| [`tidb_enable_fast_table_check`](/system-variables.md#tidb_enable_fast_table_check-从-v720-版本开始引入) | 新增 | 这个变量用于控制是否使用基于校验和的方式来快速检查表中数据和索引的一致性。默认值 `ON` 表示该功能默认开启。 | -| [`tidb_expensive_txn_time_threshold`](/system-variables.md#tidb_expensive_txn_time_threshold-从-v720-版本开始引入) | 新增 | 控制打印 expensive transaction 日志的阈值时间,默认值是 600 秒。expensive transaction 日志会将尚未 COMMIT 或 ROLLBACK 且持续时间超过该阈值的事务的相关信息打印出来。 | -| | | | +| [`tidb_enable_fast_table_check`](/system-variables.md#tidb_enable_fast_table_check-从-v720-版本开始引入) | 新增 | 这个变量用于控制是否使用基于校验和的方式来快速检查表中数据和索引的一致性。默认值 `ON` 表示该功能默认开启。 | | [`tidb_enable_tiflash_pipeline_model`](/system-variables.md#tidb_enable_tiflash_pipeline_model-从-v720-版本开始引入) | 新增 | 这个变量用来控制是否启用 TiFlash 新的执行模型 [Pipeline Model](/tiflash/tiflash-pipeline-model.md),默认值为 `OFF`,即关闭 Pipeline Model。 | +| [`tidb_expensive_txn_time_threshold`](/system-variables.md#tidb_expensive_txn_time_threshold-从-v720-版本开始引入) | 新增 | 控制打印 expensive transaction 日志的阈值时间,默认值是 600 秒。expensive transaction 日志会将尚未 COMMIT 或 ROLLBACK 且持续时间超过该阈值的事务的相关信息打印出来。 | ### 配置文件参数 | 配置文件 | 配置项 | 修改类型 | 描述 | | -------- | -------- | -------- | -------- | +| TiDB | [`force-init-stats`](/tidb-configuration-file.md#force-init-stats-从-v710-版本开始引入) | 修改 | 默认值从 `false` 变更为 `true`,表示 TiDB 启动时默认会在完成统计信息初始化后再对外提供服务。 | +| TiDB | [`lite-init-stats`](/tidb-configuration-file.md#lite-init-stats-从-v710-版本开始引入) | 修改 | 默认值从 `false` 变更为 `true`,表示 TiDB 启动时默认将采用轻量级的统计信息初始化。 | | TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].optimize-filters-for-memory](/tikv-configuration-file.md#optimize-filters-for-memory-从-v710-版本开始引入) | 新增 | 控制是否生成能够最小化内存碎片的 Bloom/Ribbon filter。 | | TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].ribbon-filter-above-level](/tikv-configuration-file.md#ribbon-filter-above-level-从-v710-版本开始引入) | 新增 | 控制是否对于大于等于该值的 level 使用 Ribbon filter,对于小于该值的 level,使用非 block-based bloom filter。 | | TiDB Lightning | `send-kv-pairs` | 废弃 | 从 v7.2.0 版本开始,`send-kv-pairs` 不再生效。你可以使用新参数 [`send-kv-size`](/tidb-lightning/tidb-lightning-configuration.md) 来指定物理导入模式下向 TiKV 发送数据时一次请求的最大大小。**tw@hfxsd** | @@ -164,8 +163,7 @@ TiDB 版本:7.2.0 | Data Migration | [`strict-optimistic-shard-mode`](/dm/feature-shard-merge-optimistic.md) | 新增 | 用于兼容历史版本 TiDB Data Migration v2.0 的分库分表同步 DDL 的行为。当用户选择乐观模式时,可以启用该参数,开启后,乐观模式下,同步任务遇到二类 DDL 时,整个任务会中断。在多个表的 DDL 变更有依赖关系的场景,可以及时中断同步,在用户手动处理完各表的 DDL 后,再继续同步数据,保障上下游数据的一致性。 **tw@ran-huang** | | TiCDC | [`sink.protocol`](/ticdc/ticdc-changefeed-config.md) | 修改 | 扩展下游类型是 Kafka 时的可选值范围:增加 `"open-protocol"`。用于指定编码消息时使用的格式协议。| | TiCDC | [`sink.delete-only-output-handle-key-columns`](/ticdc/ticdc-changefeed-config.md) | 新增 | 指定 Delete 事件的输出内容,只对 canal-json 和 open-protocol 协议有效。默认值为 false,即输出所有列的内容。当设置为 true 时,只输出主键列,或唯一索引列的内容。 | -| TiDB | [`lite-init-stats`](/tidb-configuration-file.md#lite-init-stats-从-v710-版本开始引入) | 修改 | 用于控制 TiDB 启动时是否采用轻量级的统计信息初始化,默认值从 false 变更为 true。 | -| TiDB | [`force-init-stats`](/tidb-configuration-file.md#force-init-stats-从-v710-版本开始引入) | 修改 | 用于控制 TiDB 启动时是否在统计信息初始化完成后再对外提供服务,默认值从 false 变更为 true。 | + ## 废弃功能 - note [#issue](链接) @[贡献者 GitHub ID](链接) @@ -174,29 +172,29 @@ TiDB 版本:7.2.0 + TiDB + - 优化构造索引扫描范围的逻辑,支持将一些复杂条件转化为索引扫描范围 [#41572](https://github.com/pingcap/tidb/issues/41572) [#44389](https://github.com/pingcap/tidb/issues/44389) @xuyifangreeneyes - 为 stale read 新增相关监控指标 [#43325](https://github.com/pingcap/tidb/issues/43325) @[you06](https://github.com/you06) - 当 stale read retry leader 遇到 lock,resolve lock 之后强制走 leader 避免无谓开销 [#43659](https://github.com/pingcap/tidb/issues/43659) @[you06](https://github.com/you06) - 使用估计时间计算 stale read ts,减少 stale read 开销 [#44215](https://github.com/pingcap/tidb/issues/44215) @[you06](https://github.com/you06) - 添加 long running 事务日志和系统变量 [#41471](https://github.com/pingcap/tidb/issues/41471) @[crazycs520](https://github.com/crazycs520) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiKV - - 支持配置PDclient的重连间隔 [#14964](https://github.com/tikv/tikv/issues/14964) @[rleungx](https://github.com/rleungx) - - resource control提高调度算法将全局的资源使用作为调度因素 [#14604](https://github.com/tikv/tikv/issues/14604) @[Connor1996](https://github.com/Connor1996) - - compaction-guard-min-output-file-size默认值从8MB改为1MB [#14888](https://github.com/tikv/tikv/issues/14888) @[tonyxuqqi](https://github.com/tonyxuqqi) + + + - 支持配置PDclient的重连间隔 [#14964](https://github.com/tikv/tikv/issues/14964) @[rleungx](https://github.com/rleungx) + - resource control提高调度算法将全局的资源使用作为调度因素 [#14604](https://github.com/tikv/tikv/issues/14604) @[Connor1996](https://github.com/Connor1996) + - compaction-guard-min-output-file-size默认值从8MB改为1MB [#14888](https://github.com/tikv/tikv/issues/14888) @[tonyxuqqi](https://github.com/tonyxuqqi) - 使用 gzip 压缩 check leader 请求减少流量消耗 [#14553](https://github.com/tikv/tikv/issues/14553) @[you06](https://github.com/you06) - 添加 check leader 相关 metric [#14658](https://github.com/tikv/tikv/issues/14658) @[you06](https://github.com/you06) - 详细记录 write command 处理时间细节 [#12362](https://github.com/tikv/tikv/issues/12362) @[cfzjywxk](https://github.com/cfzjywxk) - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + PD + - PD Leader 选举使用单独的 gRPC 链接,防止受到其他请求的影响 [#6403](https://github.com/tikv/pd/issues/6403) @[rleungx](https://github.com/rleungx) - 默认打开 bucket split,改善 Multi-Region 的热点问题 [#6433](https://github.com/tikv/pd/issues/6433) @[bufferflies](https://github.com/bufferflies) - 新增历史负载信息,避免了存储引擎为 raft-kv2 时,热点调度器对不稳定负载所在的 Region 进行频繁调度 [#6297](https://github.com/tikv/pd/issues/6297) @[bufferflies](https://github.com/bufferflies) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiFlash @@ -207,13 +205,21 @@ TiDB 版本:7.2.0 + Backup & Restore (BR) - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + + + - 为外部存储 Azure Blob Storage 提供 SAS (shared access signature) 的访问方式 [#44199](https://github.com/pingcap/tidb/issues/44199) @[Leavrth](https://github.com/Leavrth) + TiCDC - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + + - 优化 CDC 同步任务失败时设置 gc ttl 的方法 [#8403](https://github.com/pingcap/tiflow/issues/8403) + - 优化 canal-json 协议在发生 update 操作时输出数据的格式 [#8706](https://github.com/pingcap/tiflow/issues/8706) + - 优化同步到对象存储场景下发生 DDL 时存放数据文件目录的结构 [#8891](https://github.com/pingcap/tiflow/issues/8891) + - 优化 CDC 同步有损 DDL 时的行为 [#8686](https://github.com/pingcap/tiflow/issues/8686) + - 增加在 Kafka 场景下 OAuth 认证方式的支持 [#8865](https://github.com/pingcap/tiflow/issues/8865) + - 增加同步到 Kafka 场景下,对于 delete 操作,用户可以只选择输出 handle key 的方式 [#9143](https://github.com/pingcap/tiflow/issues/9143) + - 优化 CDC 做增量扫时的并发控制逻辑,降低 CDC 节点在 crash 时对同步延时的影响 [#8858](https://github.com/pingcap/tiflow/issues/8858) + - 优化 CDC 同步任务失败时设置 gc ttl 的方法 [#8403](https://github.com/pingcap/tiflow/issues/8403) + TiDB Data Migration (DM) @@ -225,18 +231,13 @@ TiDB 版本:7.2.0 - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) - + TiUP - - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) - ## 错误修复 + TiDB + - 修复关联子查询中含有 CTE 时可能出现的查询 hang 住的问题 [#36896](https://github.com/pingcap/tidb/issues/36896) @[guo-shaoge](https://github.com/guo-shaoge) - 修复某些情况下 max/min 结果出错的问题 [#43805](https://github.com/pingcap/tidb/issues/43508)@[wshwsh12](https://github.com/wshwsh12) - - note [#issue](链接) @[贡献者 GitHub ID](链接) - 修复当 query 包含子查询时,information schema 显示中 `TxnStart` 字段为空的问题 [#40851](https://github.com/pingcap/tidb/issues/40851) @[crazycs520](https://github.com/crazycs520) - 修复 cop task 中 txn scope 缺失导致 stale read global optimization 不生效的问题 [#43365](https://github.com/pingcap/tidb/issues/43365) @[you06](https://github.com/you06) - 修复 follower read 未处理 flashback 错误进行重试导致查询报错的问题 [#43673](https://github.com/pingcap/tidb/issues/43673) @[you06](https://github.com/you06) @@ -252,56 +253,49 @@ TiDB 版本:7.2.0 - 修复了分区表在 Index join 的 probe 阶段找不到对应行而报错的问题 [#43686](https://github.com/pingcap/tidb/issues/43686) @[AilinKid](https://github.com/AilinKid) @[mjonss](https://github.com/mjonss) - 修复了创建 subpartition 的报错信息 [#41198](https://github.com/pingcap/tidb/issues/41198) [#41200](https://github.com/pingcap/tidb/issues/41200) @[mjonss](https://github.com/mjonss) - 修复了执行时间超过 `MAX_EXECUTION_TIME` 被 kill 的返回值和 MySQL 不一致的问题 [#43031](https://github.com/pingcap/tidb/issues/43031) @[dveeden](https://github.com/dveeden) -- 修复了 Leading Hint 无法支持 query block alias 的问题 [#44645] (https://github.com/pingcap/tidb/issues/44645) @[qw4990](https://github.com/qw4990) + - 修复了 Leading Hint 无法支持 query block alias 的问题 [#44645] (https://github.com/pingcap/tidb/issues/44645) @[qw4990](https://github.com/qw4990) + + TiKV - - 修复处理stale悲观锁冲突时不正确的事务返回值. [#13298](https://github.com/tikv/tikv/issues/13298) @[cfzjywxk](https://github.com/cfzjywxk) - - 修复in-memory pessimistic locks可能导致flashback失败和数据不一致. [#13303](https://github.com/tikv/tikv/issues/13303) @[JmPotato](https://github.com/JmPotato) - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + + + - 修复处理stale悲观锁冲突时不正确的事务返回值 [#13298](https://github.com/tikv/tikv/issues/13298) @[cfzjywxk](https://github.com/cfzjywxk) + - 修复in-memory pessimistic locks可能导致flashback失败和数据不一致 [#13303](https://github.com/tikv/tikv/issues/13303) @[JmPotato](https://github.com/JmPotato) - 修复锁堆积优化在老版本升级情况下不生效的问题 #[14780](https://github.com/tikv/tikv/issues/14780) @[ekexium](https://github.com/ekexium) - 修复 fair lock 在出现 stale req 情况下的正确性问题 #[13298](https://github.com/tikv/tikv/issues/13298) @[cfzjywxk](https://github.com/cfzjywxk) - 修复 autocommit point get 在 follower read 情况下线性一致性可能被破坏的问题 #[14715](https://github.com/tikv/tikv/issues/14715) @[cfzjywxkj](https://github.com/cfzjywxk) + PD + - 修复在特殊情况下冗余副本无法自动修复的问题 [#6573](https://github.com/tikv/pd/issues/6573) @[nolouch](https://github.com/nolouch) - 修复 region health 监控项在 pd leader 发生变化后丢失的问题 [#6366](https://github.com/tikv/pd/issues/6366)@[iosmanthus](https://github.com/iosmanthus) - 修复 nightling 在使用 region label 暂停调度时,导致不健康的副本无法自动修复的问题 [#6426](https://github.com/tikv/pd/issues/6426) @[nolouch](https://github.com/nolouch) - 修复使用 pd control 标记 tikv, tikv 重启后 label 丢失的问题 [#6467](https://github.com/tikv/pd/issues/6467) @[JmPotato](https://github.com/JmPotato) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiFlash + - 修复在 join 的 build 端数据量很大且含有大量短字符串时内存消耗过大的问题 [#7416](https://github.com/pingcap/tiflash/issues/7416) @[yibin87](https://github.com/yibin87) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + Tools + Backup & Restore (BR) - - 为外部存储 Azure Blob Storage 提供 SAS (shared access signature) 的访问方式 [#44199](https://github.com/pingcap/tidb/issues/44199) @Leavrth - - 修复了在一些情况下误报 checksum mismatch 的问题。[#44472](https://github.com/pingcap/tidb/issues/44472) @[Leavrth](https://github.com/Leavrth) - - 修复了在一些情况下误报 resolved lock timeout 的问题。[#43236](https://github.com/pingcap/tidb/issues/43236) @[YuJuncen](https://github.com/YuJuncen) - - 修复了在恢复统计信息的时候可能会 panic 的问题。[#44490](https://github.com/pingcap/tidb/issues/44490) @[tangenta](https://github.com/tangenta) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + + - 修复了在一些情况下误报 checksum mismatch 的问题 [#44472](https://github.com/pingcap/tidb/issues/44472) @[Leavrth](https://github.com/Leavrth) + - 修复了在一些情况下误报 resolved lock timeout 的问题 [#43236](https://github.com/pingcap/tidb/issues/43236) @[YuJuncen](https://github.com/YuJuncen) + - 修复了在恢复统计信息的时候可能会 panic 的问题 [#44490](https://github.com/pingcap/tidb/issues/44490) @[tangenta](https://github.com/tangenta) + TiCDC - - 优化 CDC 同步任务失败时设置 gc ttl 的方法 [#8403](https://github.com/pingcap/tiflow/issues/8403) - - 优化 canal-json 协议在发生 update 操作时输出数据的格式 [#8706](https://github.com/pingcap/tiflow/issues/8706) - - 优化同步到对象存储场景下发生 DDL 时存放数据文件目录的结构 [#8891](https://github.com/pingcap/tiflow/issues/8891) - - 修复同步到对象存储场下上游执行 exchange partition 命令时不能正常执行的问题 [#8914](https://github.com/pingcap/tiflow/issues/8914) - - 优化 CDC 同步有损 DDL 时的行为 [#8686](https://github.com/pingcap/tiflow/issues/8686) - - 增加在 Kafka 场景下 OAuth 认证方式的支持 [#8865](https://github.com/pingcap/tiflow/issues/8865) - - 修复在某些特殊情况下 resolved ts 不能正常推进的问题 [#8963](https://github.com/pingcap/tiflow/issues/8963) - - 修复使用 Avro 或 csv 协议场景下 update 操作不能输出旧值的问题 [#9086](https://github.com/pingcap/tiflow/issues/9086) - - 修复同步到 Kafka 场景下,读取下游 meta 信息太频繁导致下游压力过大的问题 [#8959](https://github.com/pingcap/tiflow/issues/8959) - - 增加同步到 Kafka 场景下,对于 delete 操作,用户可以只选择输出 handle key 的方式 [#9143](https://github.com/pingcap/tiflow/issues/9143) - - 修复同步到 TiDB/MySQL场景下频繁设置下游 BDR 相关变量导致下游日志过多的问题 [#9180](https://github.com/pingcap/tiflow/issues/9180) - - 修复 PD 节点 crash 时导致 CDC节点重启的问题 [#8868](https://github.com/pingcap/tiflow/issues/8868) - - 优化 CDC 做增量扫时的并发控制逻辑,降低 CDC 节点在 crash 时对同步延时的影响 [#8858](https://github.com/pingcap/tiflow/issues/8858) - - 修复 TiCDC 同步到 KOP 时不能正确建立链接的问题 [#8892](https://github.com/pingcap/tiflow/issues/8892) - - 优化 CDC 同步任务失败时设置 gc ttl 的方法 [#8403](https://github.com/pingcap/tiflow/issues/8403) + + - 修复同步到对象存储场下上游执行 exchange partition 命令时不能正常执行的问题 [#8914](https://github.com/pingcap/tiflow/issues/8914) + - 修复在某些特殊情况下 resolved ts 不能正常推进的问题 [#8963](https://github.com/pingcap/tiflow/issues/8963) + - 修复使用 Avro 或 csv 协议场景下 update 操作不能输出旧值的问题 [#9086](https://github.com/pingcap/tiflow/issues/9086) + - 修复同步到 Kafka 场景下,读取下游 meta 信息太频繁导致下游压力过大的问题 [#8959](https://github.com/pingcap/tiflow/issues/8959) + - 修复同步到 TiDB/MySQL场景下频繁设置下游 BDR 相关变量导致下游日志过多的问题 [#9180](https://github.com/pingcap/tiflow/issues/9180) + - 修复 PD 节点 crash 时导致 CDC节点重启的问题 [#8868](https://github.com/pingcap/tiflow/issues/8868) + - 修复 TiCDC 同步到 KOP 时不能正确建立链接的问题 [#8892](https://github.com/pingcap/tiflow/issues/8892) + TiDB Data Migration (DM) @@ -313,11 +307,6 @@ TiDB 版本:7.2.0 - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) - + TiUP - - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) - ## 贡献者 感谢来自 TiDB 社区的贡献者们: From 407ce5d2795f20e787f3a144860218ab75603d74 Mon Sep 17 00:00:00 2001 From: qiancai Date: Sat, 24 Jun 2023 22:44:31 +0800 Subject: [PATCH 070/121] format updates --- releases/release-7.2.0.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index a576a6209777..7a33fee63e6b 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -153,16 +153,16 @@ TiDB 版本:7.2.0 | 配置文件 | 配置项 | 修改类型 | 描述 | | -------- | -------- | -------- | -------- | -| TiDB | [`force-init-stats`](/tidb-configuration-file.md#force-init-stats-从-v710-版本开始引入) | 修改 | 默认值从 `false` 变更为 `true`,表示 TiDB 启动时默认会在完成统计信息初始化后再对外提供服务。 | -| TiDB | [`lite-init-stats`](/tidb-configuration-file.md#lite-init-stats-从-v710-版本开始引入) | 修改 | 默认值从 `false` 变更为 `true`,表示 TiDB 启动时默认将采用轻量级的统计信息初始化。 | +| TiDB | [`force-init-stats`](/tidb-configuration-file.md#force-init-stats-从-v710-版本开始引入) | 修改 | 默认值从 `false` 修改为 `true`,表示 TiDB 启动时默认会在完成统计信息初始化后再对外提供服务。 | +| TiDB | [`lite-init-stats`](/tidb-configuration-file.md#lite-init-stats-从-v710-版本开始引入) | 修改 | 默认值从 `false` 修改为 `true`,表示 TiDB 启动时默认将采用轻量级的统计信息初始化。 | | TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].optimize-filters-for-memory](/tikv-configuration-file.md#optimize-filters-for-memory-从-v710-版本开始引入) | 新增 | 控制是否生成能够最小化内存碎片的 Bloom/Ribbon filter。 | | TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].ribbon-filter-above-level](/tikv-configuration-file.md#ribbon-filter-above-level-从-v710-版本开始引入) | 新增 | 控制是否对于大于等于该值的 level 使用 Ribbon filter,对于小于该值的 level,使用非 block-based bloom filter。 | | TiDB Lightning | `send-kv-pairs` | 废弃 | 从 v7.2.0 版本开始,`send-kv-pairs` 不再生效。你可以使用新参数 [`send-kv-size`](/tidb-lightning/tidb-lightning-configuration.md) 来指定物理导入模式下向 TiKV 发送数据时一次请求的最大大小。**tw@hfxsd** | -| TiDB Lightning | `character-set` | 修改 | 扩展支持导入的字符集,新增 `latin1` 选项,用于导入字符集为 latin1 的源文件。| +| TiDB Lightning | [`character-set`](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-任务配置) | 修改 | 扩展支持导入的字符集,新增 `latin1` 选项,用于导入字符集为 latin1 的源文件。| | TiDB Lightning | [`send-kv-size`](/tidb-lightning/tidb-lightning-configuration.md) | 新增 | 用于设置单次发送到 TiKV 的键值对的大小。当键值对的大小达到设定的阈值时,它们将被 TiDB Lightning 立即发送到 TiKV,避免在导入大宽表的时候由于 TiDB Lightning 节点内存积累键值对过多导致 OOM 的问题。通过调整该参数,你可以在内存使用和导入速度之间找到平衡,提高导入过程的稳定性和效率。**tw@hfxsd** | | Data Migration | [`strict-optimistic-shard-mode`](/dm/feature-shard-merge-optimistic.md) | 新增 | 用于兼容历史版本 TiDB Data Migration v2.0 的分库分表同步 DDL 的行为。当用户选择乐观模式时,可以启用该参数,开启后,乐观模式下,同步任务遇到二类 DDL 时,整个任务会中断。在多个表的 DDL 变更有依赖关系的场景,可以及时中断同步,在用户手动处理完各表的 DDL 后,再继续同步数据,保障上下游数据的一致性。 **tw@ran-huang** | -| TiCDC | [`sink.protocol`](/ticdc/ticdc-changefeed-config.md) | 修改 | 扩展下游类型是 Kafka 时的可选值范围:增加 `"open-protocol"`。用于指定编码消息时使用的格式协议。| -| TiCDC | [`sink.delete-only-output-handle-key-columns`](/ticdc/ticdc-changefeed-config.md) | 新增 | 指定 Delete 事件的输出内容,只对 canal-json 和 open-protocol 协议有效。默认值为 false,即输出所有列的内容。当设置为 true 时,只输出主键列,或唯一索引列的内容。 | +| TiCDC | [`sink.protocol`](/ticdc/ticdc-changefeed-config.md) | 修改 | 扩展下游类型是 Kafka 时的可选值范围:增加 `"open-protocol"`。用于指定编码消息时使用的格式协议。| +| TiCDC | [`sink.delete-only-output-handle-key-columns`](/ticdc/ticdc-changefeed-config.md) | 新增 | 指定 Delete 事件的输出内容,只对 canal-json 和 open-protocol 协议有效。默认值为 false,即输出所有列的内容。当设置为 true 时,只输出主键列,或唯一索引列的内容。 | ## 废弃功能 From 42dc5407700ef020d9283c966300821d8b7bca78 Mon Sep 17 00:00:00 2001 From: qiancai Date: Sun, 25 Jun 2023 09:27:20 +0800 Subject: [PATCH 071/121] add contibutors --- releases/release-7.2.0.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 7a33fee63e6b..2a78bcd44233 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -311,4 +311,15 @@ TiDB 版本:7.2.0 感谢来自 TiDB 社区的贡献者们: -- [贡献者 GitHub ID](链接) \ No newline at end of file +- [asjdf](https://github.com/asjdf) +- [blacktear23](https://github.com/blacktear23) +- [Cavan-xu](https://github.com/Cavan-xu) +- [darraes](https://github.com/darraes) +- [demoManito](https://github.com/demoManito) +- [dhysum](https://github.com/dhysum) +- [HappyUncle](https://github.com/HappyUncle) +- [jiyfhust](https://github.com/jiyfhust) +- [L-maple](https://github.com/L-maple) +- [nyurik](https://github.com/nyurik) +- [SeigeC](https://github.com/SeigeC) +- [tangjingyu97](https://github.com/tangjingyu97) \ No newline at end of file From ed19e9339320698848cf0252689472bdb644884f Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Sun, 25 Jun 2023 09:47:51 +0800 Subject: [PATCH 072/121] Update releases/release-7.2.0.md Co-authored-by: Hangjie Mo --- releases/release-7.2.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 2a78bcd44233..722ca8701d0a 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -178,6 +178,7 @@ TiDB 版本:7.2.0 - 当 stale read retry leader 遇到 lock,resolve lock 之后强制走 leader 避免无谓开销 [#43659](https://github.com/pingcap/tidb/issues/43659) @[you06](https://github.com/you06) - 使用估计时间计算 stale read ts,减少 stale read 开销 [#44215](https://github.com/pingcap/tidb/issues/44215) @[you06](https://github.com/you06) - 添加 long running 事务日志和系统变量 [#41471](https://github.com/pingcap/tidb/issues/41471) @[crazycs520](https://github.com/crazycs520) + - 支持通过 MySQL 压缩协议连接 TiDB (在连接时加上 `--compress` 选项),提升数据密集型查询在低网络质量下的性能,并节省带宽成本的开销 [#22605](https://github.com/pingcap/tidb/issues/22605) @[dveeden](https://github.com/dveeden) + TiKV From f0e104316f2d9fba432eb69038dd24c70a6b8602 Mon Sep 17 00:00:00 2001 From: Aolin Date: Sun, 25 Jun 2023 12:30:53 +0800 Subject: [PATCH 073/121] Apply suggestions from code review --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 722ca8701d0a..b355b918a441 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -71,7 +71,7 @@ TiDB 版本:7.2.0 - [`AGG_TO_COP()`](/optimizer-hints.md#agg_to_cop) - [`LIMIT_TO_COP()`](/optimizer-hints.md#limit_to_cop) - [`ORDER_INDEX`](/optimizer-hints.md#order_indext1_name-idx1_name--idx2_name) - - [`NO_ORDER_INDEX()`](/optimizer-hints.md#no_order_indext1_name-idx1_name--idx2_name)。 + - [`NO_ORDER_INDEX()`](/optimizer-hints.md#no_order_indext1_name-idx1_name--idx2_name) 更多信息,请参考[用户文档](/sql-plan-management.md)。 From 21364903744d15d389276a1f36b622ccb5714bc3 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Sun, 25 Jun 2023 13:22:54 +0800 Subject: [PATCH 074/121] Apply suggestions from code review Co-authored-by: Aolin --- releases/release-7.2.0.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index b355b918a441..b797f193e827 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -32,7 +32,7 @@ TiDB 版本:7.2.0 * 降低 TiFlash 等待 schema 同步的时延 [#7630](https://github.com/pingcap/tiflash/issues/7630) @[hongyunyan](https://github.com/hongyunyan) **tw@qiancai** - 当表的 schema 发生变化时,TiFlash 需要及时从 TiKV 同步新的表结构信息。在 v7.2.0 之前,当 TiFlash 访问表数据时,只要检测到数据库中的某张表的 schema 发生了变化,TiFlash 就会重新同步该数据库中所有表的 schema 信息。即使一张表没有 TiFlash 副本,TiFlash 也会同步该表的 schema 信息。当数据库中有大量表时,通过 TiFlash 只读取一张表的数据也可能因为需要等待所有表的 schema 信息同步完成而造成较高的时延。 + 当表的 schema 发生变化时,TiFlash 需要及时从 TiKV 同步新的表结构信息。在 v7.2.0 之前,当 TiFlash 访问表数据时,只要检测到数据库中某张表的 schema 发生了变化,TiFlash 就会重新同步该数据库中所有表的 schema 信息。即使一张表没有 TiFlash 副本,TiFlash 也会同步该表的 schema 信息。当数据库中有大量表时,通过 TiFlash 只读取一张表的数据也可能因为需要等待所有表的 schema 信息同步完成而造成较高的时延。 在 v7.2.0 中,TiFlash 优化了 schema 的同步机制,只同步拥有 TiFlash 副本的表的 schema 信息。当检测到某张有 TiFlash 副本的表的 schema 有变化时,TiFlash 只同步该表的 schema 信息,从而降低了 TiFlash 同步 schema 的时延。该优化自动生效,无须任何设置。 @@ -48,7 +48,7 @@ TiDB 版本:7.2.0 [`ADMIN CHECK [TABLE|INDEX]`](/sql-statements/sql-statement-admin-check-table-index.md) 语句用于校验表中数据和对应索引的一致性。在 v7.2.0 中,TiDB 优化了数据一致性的校验方式,大幅提升了 [`ADMIN CHECK [TABLE|INDEX]`](/sql-statements/sql-statement-admin-check-table-index.md) 语句的执行效率,在大数据量场景中性能能够提升百倍。 - 该优化默认开启 ([`tidb_enable_fast_table_check`](/system-variables.md#tidb_enable_fast_table_check-从-v720-版本开始引入) 默认为 `ON`),可以大幅减少大型表数据一致性检查的时间, 提升运维体验。 + 该优化默认开启([`tidb_enable_fast_table_check`](/system-variables.md#tidb_enable_fast_table_check-从-v720-版本开始引入) 默认为 `ON`),可以大幅减少大型表数据一致性检查的时间,提升运维体验。 更多信息,请参考[用户文档](/system-variables.md#tidb_enable_fast_table_check-从-v720-版本开始引入)。 @@ -87,7 +87,7 @@ TiDB 版本:7.2.0 ### SQL 功能 -* 支持 `CHECK` 约束 [#41711](https://github.com/pingcap/tidb/issues/41711) @[fzzf678] (https://github.com/fzzf678) **tw@qiancai** +* 支持 `CHECK` 约束 [#41711](https://github.com/pingcap/tidb/issues/41711) @[fzzf678](https://github.com/fzzf678) **tw@qiancai** 从 v7.2.0 开始,你可以通过 `CHECK` 约束限制表中的一个或者多个字段值必须满足特定的条件。当为表添加 `CHECK` 约束后,在插入或者更新表的数据时,TiDB 会先检查约束条件是否满足,只允许满足约束的数据写入。 @@ -110,19 +110,19 @@ TiDB 版本:7.2.0 ### 数据迁移 -* 引入新的 SQL 语句 `IMPORT INTO`,大幅提升导入效率(实验特性)[#42930](https://github.com/pingcap/tidb/issues/42930) @[D3Hunter](https://github.com/D3Hunter) **tw@qiancai** +* 引入新的 SQL 语句 `IMPORT INTO`,大幅提升数据导入效率(实验特性)[#42930](https://github.com/pingcap/tidb/issues/42930) @[D3Hunter](https://github.com/D3Hunter) **tw@qiancai** - `IMPORT INTO` 集成了 TiDB Lightning 的[物理导入模式](/tidb-lightning/tidb-lightning-physical-import-mode.md) 的能力。通过该语句,你可以将 `CSV`、`SQL`、`PARQUET` 等格式的数据快速导入到 TiDB 的一张空表中。这种导入方式无需单独部署和管理 TiDB Lightning,在降低了数据导入难度的同时,大幅提升了数据导入效率。 + `IMPORT INTO` 集成了 TiDB Lightning [物理导入模式](/tidb-lightning/tidb-lightning-physical-import-mode.md)的能力。通过该语句,你可以将 CSV、SQL 和 PARQUET 等格式的数据快速导入到 TiDB 的一张空表中。这种导入方式无需单独部署和管理 TiDB Lightning,在降低了数据导入难度的同时,大幅提升了数据导入效率。 - 对于存储在 Amazon S3 或 GCS 的数据文件,在开启了[后端任务分布式框架](/tidb-distributed-execution-framework.md) 后,`IMPORT INTO` 还支持将数据导入任务拆分成多个子任务,并将子任务调度到多个 TiDB 节点并行导入,进一步提升导入性能。 + 对于存储在 Amazon S3 或 GCS 的数据文件,在开启了[后端任务分布式框架](/tidb-distributed-execution-framework.md)后,`IMPORT INTO` 还支持将数据导入任务拆分成多个子任务,并将子任务调度到多个 TiDB 节点并行导入,进一步提升导入性能。 更多信息,请参考[用户文档](sql-statements/sql-statement-import-into.md)。 * TiDB Lightning 支持将字符集为 latin1 的源文件导入到 TiDB 中 [#44434](https://github.com/pingcap/tidb/issues/44434) @[lance6716](https://github.com/lance6716) **tw@qiancai** - 通过此功能,你可以使用 TiDB Lightning 将字符集为 latin1 的源文件直接导入到 TiDB 中。在 v7.2.0 之前,导入这样的文件需要额外的预处理或转换。从 v7.2.0 起,你只需在配置 TiDB Lightning 导入任务时指定 `character-set = "latin1"`,TiDB Lightning 就会在导入过程中自动处理字符集的转换,确保数据的完整性和准确性。 + 通过此功能,你可以使用 TiDB Lightning 将字符集为 latin1 的源文件直接导入到 TiDB 中。在 v7.2.0 之前,导入这样的文件需要额外的预处理或转换。从 v7.2.0 起,你只需在配置 TiDB Lightning 导入任务时指定 `character-set = "latin1"`,TiDB Lightning 就会在导入过程中自动处理字符集的转换,以确保数据的完整性和准确性。 - 更多信息,请参考[用户文档](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-任务配置) + 更多信息,请参考[用户文档](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-任务配置)。 ## 兼容性变更 From 0ff3fcb17102a79ff2f43bb3f2886f8ee11b20b3 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Sun, 25 Jun 2023 13:29:33 +0800 Subject: [PATCH 075/121] implement comments from wjhuang2016 --- releases/release-7.2.0.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index b797f193e827..924cc8926d1d 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -179,7 +179,9 @@ TiDB 版本:7.2.0 - 使用估计时间计算 stale read ts,减少 stale read 开销 [#44215](https://github.com/pingcap/tidb/issues/44215) @[you06](https://github.com/you06) - 添加 long running 事务日志和系统变量 [#41471](https://github.com/pingcap/tidb/issues/41471) @[crazycs520](https://github.com/crazycs520) - 支持通过 MySQL 压缩协议连接 TiDB (在连接时加上 `--compress` 选项),提升数据密集型查询在低网络质量下的性能,并节省带宽成本的开销 [#22605](https://github.com/pingcap/tidb/issues/22605) @[dveeden](https://github.com/dveeden) - + - 支持将utf8和utf8mb3都识别为旧的三字节字符集编码。[#26226](https://github.com/pingcap/tidb/issues/26226) @[dveeden](https://github.com/dveeden) + - 支持将 := 用于 update 语句中赋值。[#44751](https://github.com/pingcap/tidb/issues/44751) @[CbcWestwolf](https://github.com/CbcWestwolf) + + TiKV @@ -255,6 +257,7 @@ TiDB 版本:7.2.0 - 修复了创建 subpartition 的报错信息 [#41198](https://github.com/pingcap/tidb/issues/41198) [#41200](https://github.com/pingcap/tidb/issues/41200) @[mjonss](https://github.com/mjonss) - 修复了执行时间超过 `MAX_EXECUTION_TIME` 被 kill 的返回值和 MySQL 不一致的问题 [#43031](https://github.com/pingcap/tidb/issues/43031) @[dveeden](https://github.com/dveeden) - 修复了 Leading Hint 无法支持 query block alias 的问题 [#44645] (https://github.com/pingcap/tidb/issues/44645) @[qw4990](https://github.com/qw4990) + - last_insert_id函数的返回类型从varchar变更为longlong,与MySQL相同,同时last_insert_id的最大上限也变更为MaxUint64。[#44574](https://github.com/pingcap/tidb/issues/44574) @[Defined2014](https://github.com/Defined2014) + TiKV From 825ea16c7ebd31ef55650fb89143daec33031f56 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Sun, 25 Jun 2023 13:51:15 +0800 Subject: [PATCH 076/121] remove improvements and bug fixes already covered in v7.1.0 --- releases/release-7.2.0.md | 54 +++++++++++---------------------------- 1 file changed, 15 insertions(+), 39 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 924cc8926d1d..b245c329cb00 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -170,21 +170,19 @@ TiDB 版本:7.2.0 ## 改进提升 -+ TiDB ++ TiDB - - 优化构造索引扫描范围的逻辑,支持将一些复杂条件转化为索引扫描范围 [#41572](https://github.com/pingcap/tidb/issues/41572) [#44389](https://github.com/pingcap/tidb/issues/44389) @xuyifangreeneyes - 为 stale read 新增相关监控指标 [#43325](https://github.com/pingcap/tidb/issues/43325) @[you06](https://github.com/you06) - 当 stale read retry leader 遇到 lock,resolve lock 之后强制走 leader 避免无谓开销 [#43659](https://github.com/pingcap/tidb/issues/43659) @[you06](https://github.com/you06) - 使用估计时间计算 stale read ts,减少 stale read 开销 [#44215](https://github.com/pingcap/tidb/issues/44215) @[you06](https://github.com/you06) - 添加 long running 事务日志和系统变量 [#41471](https://github.com/pingcap/tidb/issues/41471) @[crazycs520](https://github.com/crazycs520) - 支持通过 MySQL 压缩协议连接 TiDB (在连接时加上 `--compress` 选项),提升数据密集型查询在低网络质量下的性能,并节省带宽成本的开销 [#22605](https://github.com/pingcap/tidb/issues/22605) @[dveeden](https://github.com/dveeden) - - 支持将utf8和utf8mb3都识别为旧的三字节字符集编码。[#26226](https://github.com/pingcap/tidb/issues/26226) @[dveeden](https://github.com/dveeden) - - 支持将 := 用于 update 语句中赋值。[#44751](https://github.com/pingcap/tidb/issues/44751) @[CbcWestwolf](https://github.com/CbcWestwolf) + - 支持将utf8和utf8mb3都识别为旧的三字节字符集编码。[#26226](https://github.com/pingcap/tidb/issues/26226) @[dveeden](https://github.com/dveeden) + - 支持将 := 用于 update 语句中赋值。[#44751](https://github.com/pingcap/tidb/issues/44751) @[CbcWestwolf](https://github.com/CbcWestwolf) -+ TiKV ++ TiKV - - 支持配置PDclient的重连间隔 [#14964](https://github.com/tikv/tikv/issues/14964) @[rleungx](https://github.com/rleungx) - resource control提高调度算法将全局的资源使用作为调度因素 [#14604](https://github.com/tikv/tikv/issues/14604) @[Connor1996](https://github.com/Connor1996) - compaction-guard-min-output-file-size默认值从8MB改为1MB [#14888](https://github.com/tikv/tikv/issues/14888) @[tonyxuqqi](https://github.com/tonyxuqqi) @@ -192,12 +190,10 @@ TiDB 版本:7.2.0 - 添加 check leader 相关 metric [#14658](https://github.com/tikv/tikv/issues/14658) @[you06](https://github.com/you06) - 详细记录 write command 处理时间细节 [#12362](https://github.com/tikv/tikv/issues/12362) @[cfzjywxk](https://github.com/cfzjywxk) -+ PD ++ PD - - PD Leader 选举使用单独的 gRPC 链接,防止受到其他请求的影响 [#6403](https://github.com/tikv/pd/issues/6403) @[rleungx](https://github.com/rleungx) - 默认打开 bucket split,改善 Multi-Region 的热点问题 [#6433](https://github.com/tikv/pd/issues/6433) @[bufferflies](https://github.com/bufferflies) - - 新增历史负载信息,避免了存储引擎为 raft-kv2 时,热点调度器对不稳定负载所在的 Region 进行频繁调度 [#6297](https://github.com/tikv/pd/issues/6297) @[bufferflies](https://github.com/bufferflies) + TiFlash @@ -206,23 +202,15 @@ TiDB 版本:7.2.0 + Tools - + Backup & Restore (BR) - - + + Backup & Restore (BR) - 为外部存储 Azure Blob Storage 提供 SAS (shared access signature) 的访问方式 [#44199](https://github.com/pingcap/tidb/issues/44199) @[Leavrth](https://github.com/Leavrth) - + TiCDC + + TiCDC - - - 优化 CDC 同步任务失败时设置 gc ttl 的方法 [#8403](https://github.com/pingcap/tiflow/issues/8403) - - 优化 canal-json 协议在发生 update 操作时输出数据的格式 [#8706](https://github.com/pingcap/tiflow/issues/8706) - 优化同步到对象存储场景下发生 DDL 时存放数据文件目录的结构 [#8891](https://github.com/pingcap/tiflow/issues/8891) - - 优化 CDC 同步有损 DDL 时的行为 [#8686](https://github.com/pingcap/tiflow/issues/8686) - 增加在 Kafka 场景下 OAuth 认证方式的支持 [#8865](https://github.com/pingcap/tiflow/issues/8865) - 增加同步到 Kafka 场景下,对于 delete 操作,用户可以只选择输出 handle key 的方式 [#9143](https://github.com/pingcap/tiflow/issues/9143) - - 优化 CDC 做增量扫时的并发控制逻辑,降低 CDC 节点在 crash 时对同步延时的影响 [#8858](https://github.com/pingcap/tiflow/issues/8858) - - 优化 CDC 同步任务失败时设置 gc ttl 的方法 [#8403](https://github.com/pingcap/tiflow/issues/8403) + TiDB Data Migration (DM) @@ -236,9 +224,8 @@ TiDB 版本:7.2.0 ## 错误修复 -+ TiDB ++ TiDB - - 修复关联子查询中含有 CTE 时可能出现的查询 hang 住的问题 [#36896](https://github.com/pingcap/tidb/issues/36896) @[guo-shaoge](https://github.com/guo-shaoge) - 修复某些情况下 max/min 结果出错的问题 [#43805](https://github.com/pingcap/tidb/issues/43508)@[wshwsh12](https://github.com/wshwsh12) - 修复当 query 包含子查询时,information schema 显示中 `TxnStart` 字段为空的问题 [#40851](https://github.com/pingcap/tidb/issues/40851) @[crazycs520](https://github.com/crazycs520) @@ -247,7 +234,6 @@ TiDB 版本:7.2.0 - 修复 prepared stale read 语句无法读到预期结果机会的问题 [#43044](https://github.com/pingcap/tidb/issues/43044) @[you06](https://github.com/you06) - 修复 on update 语句没有正确更新 primary key 导致数据索引不一致问题 @[zyguan](https://github.com/zyguan) - 修复 RC 模式悲观锁缓存可能导致数据不一致的问题 [43294](https://github.com/pingcap/tidb/issues/43294) @[ekexium](https://github.com/ekexium) - - 修复部分 TiDB 内部 SQL 解析错误问题 [#43392] (https://github.com/pingcap/tidb/issues/43392) @[guo-shaoge](https://github.com/guo-shaoge) - 修改 UNIX_TIMESTAMP 函数的上限为 `3001-01-19 03:14:07.999999 UTC` 和 MySQL 8.0.28+ 保持一致 [#43987](https://github.com/pingcap/tidb/issues/43987) @[YangKeao](https://github.com/YangKeao) - 修复了 add Index 在 ingest 模式下失败的问题 [#44137](https://github.com/pingcap/tidb/issues/44137) @[tangenta](https://github.com/tangenta) - 修复了 cancel 处于在 rollback 状态的 DDL 任务导致相关元数据出错的问题 [#44143](https://github.com/pingcap/tidb/issues/44143) @[wjhuang2016](https://github.com/wjhuang2016) @@ -256,44 +242,34 @@ TiDB 版本:7.2.0 - 修复了分区表在 Index join 的 probe 阶段找不到对应行而报错的问题 [#43686](https://github.com/pingcap/tidb/issues/43686) @[AilinKid](https://github.com/AilinKid) @[mjonss](https://github.com/mjonss) - 修复了创建 subpartition 的报错信息 [#41198](https://github.com/pingcap/tidb/issues/41198) [#41200](https://github.com/pingcap/tidb/issues/41200) @[mjonss](https://github.com/mjonss) - 修复了执行时间超过 `MAX_EXECUTION_TIME` 被 kill 的返回值和 MySQL 不一致的问题 [#43031](https://github.com/pingcap/tidb/issues/43031) @[dveeden](https://github.com/dveeden) - - 修复了 Leading Hint 无法支持 query block alias 的问题 [#44645] (https://github.com/pingcap/tidb/issues/44645) @[qw4990](https://github.com/qw4990) - - last_insert_id函数的返回类型从varchar变更为longlong,与MySQL相同,同时last_insert_id的最大上限也变更为MaxUint64。[#44574](https://github.com/pingcap/tidb/issues/44574) @[Defined2014](https://github.com/Defined2014) + - 修复了 Leading Hint 无法支持 query block alias 的问题 [#44645](https://github.com/pingcap/tidb/issues/44645) @[qw4990](https://github.com/qw4990) + - last_insert_id函数的返回类型从varchar变更为longlong,与MySQL相同,同时last_insert_id的最大上限也变更为MaxUint64。[#44574](https://github.com/pingcap/tidb/issues/44574) @[Defined2014](https://github.com/Defined2014) -+ TiKV ++ TiKV - - 修复处理stale悲观锁冲突时不正确的事务返回值 [#13298](https://github.com/tikv/tikv/issues/13298) @[cfzjywxk](https://github.com/cfzjywxk) - 修复in-memory pessimistic locks可能导致flashback失败和数据不一致 [#13303](https://github.com/tikv/tikv/issues/13303) @[JmPotato](https://github.com/JmPotato) - - 修复锁堆积优化在老版本升级情况下不生效的问题 #[14780](https://github.com/tikv/tikv/issues/14780) @[ekexium](https://github.com/ekexium) - 修复 fair lock 在出现 stale req 情况下的正确性问题 #[13298](https://github.com/tikv/tikv/issues/13298) @[cfzjywxk](https://github.com/cfzjywxk) - 修复 autocommit point get 在 follower read 情况下线性一致性可能被破坏的问题 #[14715](https://github.com/tikv/tikv/issues/14715) @[cfzjywxkj](https://github.com/cfzjywxk) -+ PD ++ PD - - 修复在特殊情况下冗余副本无法自动修复的问题 [#6573](https://github.com/tikv/pd/issues/6573) @[nolouch](https://github.com/nolouch) - - 修复 region health 监控项在 pd leader 发生变化后丢失的问题 [#6366](https://github.com/tikv/pd/issues/6366)@[iosmanthus](https://github.com/iosmanthus) - - 修复 nightling 在使用 region label 暂停调度时,导致不健康的副本无法自动修复的问题 [#6426](https://github.com/tikv/pd/issues/6426) @[nolouch](https://github.com/nolouch) - - 修复使用 pd control 标记 tikv, tikv 重启后 label 丢失的问题 [#6467](https://github.com/tikv/pd/issues/6467) @[JmPotato](https://github.com/JmPotato) -+ TiFlash ++ TiFlash - - 修复在 join 的 build 端数据量很大且含有大量短字符串时内存消耗过大的问题 [#7416](https://github.com/pingcap/tiflash/issues/7416) @[yibin87](https://github.com/yibin87) + Tools - + Backup & Restore (BR) + + Backup & Restore (BR) - - 修复了在一些情况下误报 checksum mismatch 的问题 [#44472](https://github.com/pingcap/tidb/issues/44472) @[Leavrth](https://github.com/Leavrth) - 修复了在一些情况下误报 resolved lock timeout 的问题 [#43236](https://github.com/pingcap/tidb/issues/43236) @[YuJuncen](https://github.com/YuJuncen) - 修复了在恢复统计信息的时候可能会 panic 的问题 [#44490](https://github.com/pingcap/tidb/issues/44490) @[tangenta](https://github.com/tangenta) - + TiCDC + + TiCDC - - - 修复同步到对象存储场下上游执行 exchange partition 命令时不能正常执行的问题 [#8914](https://github.com/pingcap/tiflow/issues/8914) - 修复在某些特殊情况下 resolved ts 不能正常推进的问题 [#8963](https://github.com/pingcap/tiflow/issues/8963) - 修复使用 Avro 或 csv 协议场景下 update 操作不能输出旧值的问题 [#9086](https://github.com/pingcap/tiflow/issues/9086) - 修复同步到 Kafka 场景下,读取下游 meta 信息太频繁导致下游压力过大的问题 [#8959](https://github.com/pingcap/tiflow/issues/8959) From d5e681c9b8a37479b2563cfab32c7397f9c4cd58 Mon Sep 17 00:00:00 2001 From: qiancai Date: Sun, 25 Jun 2023 14:27:00 +0800 Subject: [PATCH 077/121] remove #43294 as the issue for it has been covered by v7.1.0 --- releases/release-7.2.0.md | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index b245c329cb00..fe7414b8db70 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -170,7 +170,7 @@ TiDB 版本:7.2.0 ## 改进提升 -+ TiDB ++ TiDB - 优化构造索引扫描范围的逻辑,支持将一些复杂条件转化为索引扫描范围 [#41572](https://github.com/pingcap/tidb/issues/41572) [#44389](https://github.com/pingcap/tidb/issues/44389) @xuyifangreeneyes - 为 stale read 新增相关监控指标 [#43325](https://github.com/pingcap/tidb/issues/43325) @[you06](https://github.com/you06) @@ -178,9 +178,9 @@ TiDB 版本:7.2.0 - 使用估计时间计算 stale read ts,减少 stale read 开销 [#44215](https://github.com/pingcap/tidb/issues/44215) @[you06](https://github.com/you06) - 添加 long running 事务日志和系统变量 [#41471](https://github.com/pingcap/tidb/issues/41471) @[crazycs520](https://github.com/crazycs520) - 支持通过 MySQL 压缩协议连接 TiDB (在连接时加上 `--compress` 选项),提升数据密集型查询在低网络质量下的性能,并节省带宽成本的开销 [#22605](https://github.com/pingcap/tidb/issues/22605) @[dveeden](https://github.com/dveeden) - - 支持将utf8和utf8mb3都识别为旧的三字节字符集编码。[#26226](https://github.com/pingcap/tidb/issues/26226) @[dveeden](https://github.com/dveeden) + - 支持将utf8和utf8mb3都识别为旧的三字节字符集编码。[#26226](https://github.com/pingcap/tidb/issues/26226) @[dveeden](https://github.com/dveeden) - 支持将 := 用于 update 语句中赋值。[#44751](https://github.com/pingcap/tidb/issues/44751) @[CbcWestwolf](https://github.com/CbcWestwolf) - + + TiKV - 支持配置PDclient的重连间隔 [#14964](https://github.com/tikv/tikv/issues/14964) @[rleungx](https://github.com/rleungx) @@ -190,7 +190,7 @@ TiDB 版本:7.2.0 - 添加 check leader 相关 metric [#14658](https://github.com/tikv/tikv/issues/14658) @[you06](https://github.com/you06) - 详细记录 write command 处理时间细节 [#12362](https://github.com/tikv/tikv/issues/12362) @[cfzjywxk](https://github.com/cfzjywxk) -+ PD ++ PD - PD Leader 选举使用单独的 gRPC 链接,防止受到其他请求的影响 [#6403](https://github.com/tikv/pd/issues/6403) @[rleungx](https://github.com/rleungx) - 默认打开 bucket split,改善 Multi-Region 的热点问题 [#6433](https://github.com/tikv/pd/issues/6433) @[bufferflies](https://github.com/bufferflies) @@ -198,11 +198,10 @@ TiDB 版本:7.2.0 + TiFlash - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + Tools - + Backup & Restore (BR) + + Backup & Restore (BR) - 为外部存储 Azure Blob Storage 提供 SAS (shared access signature) 的访问方式 [#44199](https://github.com/pingcap/tidb/issues/44199) @[Leavrth](https://github.com/Leavrth) @@ -224,16 +223,18 @@ TiDB 版本:7.2.0 ## 错误修复 -+ TiDB ++ TiDB + + - 修复关联子查询中含有 CTE 时可能出现的查询 hang 住的问题 [#36896](https://github.com/pingcap/tidb/issues/36896) @[guo-shaoge](https://github.com/guo-shaoge) - 修复某些情况下 max/min 结果出错的问题 [#43805](https://github.com/pingcap/tidb/issues/43508)@[wshwsh12](https://github.com/wshwsh12) - 修复当 query 包含子查询时,information schema 显示中 `TxnStart` 字段为空的问题 [#40851](https://github.com/pingcap/tidb/issues/40851) @[crazycs520](https://github.com/crazycs520) - 修复 cop task 中 txn scope 缺失导致 stale read global optimization 不生效的问题 [#43365](https://github.com/pingcap/tidb/issues/43365) @[you06](https://github.com/you06) - 修复 follower read 未处理 flashback 错误进行重试导致查询报错的问题 [#43673](https://github.com/pingcap/tidb/issues/43673) @[you06](https://github.com/you06) + - 修复 prepared stale read 语句无法读到预期结果机会的问题 [#43044](https://github.com/pingcap/tidb/issues/43044) @[you06](https://github.com/you06) - 修复 on update 语句没有正确更新 primary key 导致数据索引不一致问题 @[zyguan](https://github.com/zyguan) - - 修复 RC 模式悲观锁缓存可能导致数据不一致的问题 [43294](https://github.com/pingcap/tidb/issues/43294) @[ekexium](https://github.com/ekexium) - 修改 UNIX_TIMESTAMP 函数的上限为 `3001-01-19 03:14:07.999999 UTC` 和 MySQL 8.0.28+ 保持一致 [#43987](https://github.com/pingcap/tidb/issues/43987) @[YangKeao](https://github.com/YangKeao) - 修复了 add Index 在 ingest 模式下失败的问题 [#44137](https://github.com/pingcap/tidb/issues/44137) @[tangenta](https://github.com/tangenta) - 修复了 cancel 处于在 rollback 状态的 DDL 任务导致相关元数据出错的问题 [#44143](https://github.com/pingcap/tidb/issues/44143) @[wjhuang2016](https://github.com/wjhuang2016) @@ -252,17 +253,17 @@ TiDB 版本:7.2.0 - 修复 fair lock 在出现 stale req 情况下的正确性问题 #[13298](https://github.com/tikv/tikv/issues/13298) @[cfzjywxk](https://github.com/cfzjywxk) - 修复 autocommit point get 在 follower read 情况下线性一致性可能被破坏的问题 #[14715](https://github.com/tikv/tikv/issues/14715) @[cfzjywxkj](https://github.com/cfzjywxk) -+ PD ++ PD - 修复在特殊情况下冗余副本无法自动修复的问题 [#6573](https://github.com/tikv/pd/issues/6573) @[nolouch](https://github.com/nolouch) -+ TiFlash ++ TiFlash - 修复在 join 的 build 端数据量很大且含有大量短字符串时内存消耗过大的问题 [#7416](https://github.com/pingcap/tiflash/issues/7416) @[yibin87](https://github.com/yibin87) + Tools - + Backup & Restore (BR) + + Backup & Restore (BR) - 修复了在一些情况下误报 checksum mismatch 的问题 [#44472](https://github.com/pingcap/tidb/issues/44472) @[Leavrth](https://github.com/Leavrth) - 修复了在一些情况下误报 resolved lock timeout 的问题 [#43236](https://github.com/pingcap/tidb/issues/43236) @[YuJuncen](https://github.com/YuJuncen) From b288b32a7f9a8aa5c3a52b863b101958e14db777 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Sun, 25 Jun 2023 16:38:13 +0800 Subject: [PATCH 078/121] Apply suggestions from code review Co-authored-by: Xiaoju Wu --- releases/release-7.2.0.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index fe7414b8db70..95d42fef9974 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -213,13 +213,13 @@ TiDB 版本:7.2.0 + TiDB Data Migration (DM) - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 支持 MySQL 8.0 压缩 binlog 的增量同步 [#6381](https://github.com/pingcap/tiflow/issues/6381) @[dveeden](https://github.com/dveeden) + TiDB Lightning - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 优化导入时遇到 leader 切换导致的错误的重试机制 [#44478](https://github.com/pingcap/tidb/pull/44478) + - 导入完成后通过 SQL 的方式校验 checksum,提升检验的稳定性 [#41941](https://github.com/pingcap/tidb/issues/41941) + - 优化宽表导入下 lightning OOM 的问题 [43853](https://github.com/pingcap/tidb/issues/43853) ## 错误修复 @@ -245,6 +245,9 @@ TiDB 版本:7.2.0 - 修复了执行时间超过 `MAX_EXECUTION_TIME` 被 kill 的返回值和 MySQL 不一致的问题 [#43031](https://github.com/pingcap/tidb/issues/43031) @[dveeden](https://github.com/dveeden) - 修复了 Leading Hint 无法支持 query block alias 的问题 [#44645](https://github.com/pingcap/tidb/issues/44645) @[qw4990](https://github.com/qw4990) - last_insert_id函数的返回类型从varchar变更为longlong,与MySQL相同,同时last_insert_id的最大上限也变更为MaxUint64。[#44574](https://github.com/pingcap/tidb/issues/44574) @[Defined2014](https://github.com/Defined2014) +- 修复了 CTE 多次被非关联子查询引用的情况下,因过滤条件下推导致的结果错误 [#44051] (https://github.com/pingcap/tidb/issues/44051) @[winoros](https://github.com/winoros) +- 修复了 outer join reorder 对 condition 的错误处理导致的结果正确性问题 [#44314] (https://github.com/pingcap/tidb/issues/44314) @[AilinKid](https://github.com/AilinKid) +- 修复了 `prepare stmt from "analyze table xxx"` 会被 `tidb_mem_quota_query` kill 掉的问题 [#44320] (https://github.com/pingcap/tidb/issues/44320) @[chrysan](https://github.com/chrysan) + TiKV @@ -285,8 +288,8 @@ TiDB 版本:7.2.0 + TiDB Lightning - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 修复开启 expression index 且默认值是 uuid 导致 lightning panic 的问题 [#44516](https://github.com/pingcap/tidb/pull/44516) + - 修复划分数据文件时任务退出导致 lightning panic 的问题 [#43195](https://github.com/pingcap/tidb/issues/43195) ## 贡献者 From a3a65636437b232b536e42f90c6d76ba435a319c Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Sun, 25 Jun 2023 16:47:07 +0800 Subject: [PATCH 079/121] Apply suggestions from code review --- releases/release-7.2.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 95d42fef9974..1630d669e4ae 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -211,11 +211,11 @@ TiDB 版本:7.2.0 - 增加在 Kafka 场景下 OAuth 认证方式的支持 [#8865](https://github.com/pingcap/tiflow/issues/8865) - 增加同步到 Kafka 场景下,对于 delete 操作,用户可以只选择输出 handle key 的方式 [#9143](https://github.com/pingcap/tiflow/issues/9143) - + TiDB Data Migration (DM) + + TiDB Data Migration (DM) - 支持 MySQL 8.0 压缩 binlog 的增量同步 [#6381](https://github.com/pingcap/tiflow/issues/6381) @[dveeden](https://github.com/dveeden) - + TiDB Lightning + + TiDB Lightning - 优化导入时遇到 leader 切换导致的错误的重试机制 [#44478](https://github.com/pingcap/tidb/pull/44478) - 导入完成后通过 SQL 的方式校验 checksum,提升检验的稳定性 [#41941](https://github.com/pingcap/tidb/issues/41941) @@ -286,7 +286,7 @@ TiDB 版本:7.2.0 - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) - + TiDB Lightning + + TiDB Lightning - 修复开启 expression index 且默认值是 uuid 导致 lightning panic 的问题 [#44516](https://github.com/pingcap/tidb/pull/44516) - 修复划分数据文件时任务退出导致 lightning panic 的问题 [#43195](https://github.com/pingcap/tidb/issues/43195) From 0ae988b440552eaa557dd94258828761e609706f Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Sun, 25 Jun 2023 19:47:11 +0800 Subject: [PATCH 080/121] Apply suggestions from code review --- releases/release-7.2.0.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 1630d669e4ae..c0c5d461bf9e 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -207,9 +207,9 @@ TiDB 版本:7.2.0 + TiCDC - - 优化同步到对象存储场景下发生 DDL 时存放数据文件目录的结构 [#8891](https://github.com/pingcap/tiflow/issues/8891) - - 增加在 Kafka 场景下 OAuth 认证方式的支持 [#8865](https://github.com/pingcap/tiflow/issues/8865) - - 增加同步到 Kafka 场景下,对于 delete 操作,用户可以只选择输出 handle key 的方式 [#9143](https://github.com/pingcap/tiflow/issues/9143) + - 优化同步到对象存储场景下发生 DDL 时存放数据文件目录的结构 [#8891](https://github.com/pingcap/tiflow/issues/8891) @[CharlesCheung96](https://github.com/CharlesCheung96) + - 增加在 Kafka 场景下支持 OAUTHBEARER 认证方式 [#8865](https://github.com/pingcap/tiflow/issues/8865) @[hi-rustin](https://github.com/hi-rustin) + - 增加同步到 Kafka 场景下,对于 `DELETE` 操作,支持选择只输出 Handle Key [#9143](https://github.com/pingcap/tiflow/issues/9143) @[3AceShowHand](https://github.com/3AceShowHand) + TiDB Data Migration (DM) @@ -268,18 +268,18 @@ TiDB 版本:7.2.0 + Backup & Restore (BR) - - 修复了在一些情况下误报 checksum mismatch 的问题 [#44472](https://github.com/pingcap/tidb/issues/44472) @[Leavrth](https://github.com/Leavrth) - - 修复了在一些情况下误报 resolved lock timeout 的问题 [#43236](https://github.com/pingcap/tidb/issues/43236) @[YuJuncen](https://github.com/YuJuncen) - - 修复了在恢复统计信息的时候可能会 panic 的问题 [#44490](https://github.com/pingcap/tidb/issues/44490) @[tangenta](https://github.com/tangenta) + - 修复某些情况下误报 `checksum mismatch` 的问题 [#44472](https://github.com/pingcap/tidb/issues/44472) @[Leavrth](https://github.com/Leavrth) + - 修复某些情况下误报 `resolved lock timeout` 的问题 [#43236](https://github.com/pingcap/tidb/issues/43236) @[YuJuncen](https://github.com/YuJuncen) + - 修复在恢复统计信息的时候可能会 panic 的问题 [#44490](https://github.com/pingcap/tidb/issues/44490) @[tangenta](https://github.com/tangenta) + TiCDC - - 修复在某些特殊情况下 resolved ts 不能正常推进的问题 [#8963](https://github.com/pingcap/tiflow/issues/8963) - - 修复使用 Avro 或 csv 协议场景下 update 操作不能输出旧值的问题 [#9086](https://github.com/pingcap/tiflow/issues/9086) - - 修复同步到 Kafka 场景下,读取下游 meta 信息太频繁导致下游压力过大的问题 [#8959](https://github.com/pingcap/tiflow/issues/8959) - - 修复同步到 TiDB/MySQL场景下频繁设置下游 BDR 相关变量导致下游日志过多的问题 [#9180](https://github.com/pingcap/tiflow/issues/9180) - - 修复 PD 节点 crash 时导致 CDC节点重启的问题 [#8868](https://github.com/pingcap/tiflow/issues/8868) - - 修复 TiCDC 同步到 KOP 时不能正确建立链接的问题 [#8892](https://github.com/pingcap/tiflow/issues/8892) + - 修复在某些特殊情况下 Resolved TS 不能正常推进的问题 [#8963](https://github.com/pingcap/tiflow/issues/8963) @[CharlesCheung96](https://github.com/CharlesCheung96) + - 修复使用 Avro 或 CSV 协议场景下 `UPDATE` 操作不能输出旧值的问题 [#9086](https://github.com/pingcap/tiflow/issues/9086) @[3AceShowHand](https://github.com/3AceShowHand) + - 修复同步到 Kafka 场景下,读取下游 Metadata 太频繁导致下游压力过大的问题 [#8959](https://github.com/pingcap/tiflow/issues/8959) @[hi-rustin](https://github.com/hi-rustin) + - 修复同步到 TiDB 或 MySQL 场景下,频繁设置下游 BDR 相关变量导致下游日志过多的问题 [#9180](https://github.com/pingcap/tiflow/issues/9180) @[asddongmen](https://github.com/asddongmen) + - 修复 PD 节点宕机导致 TiCDC 节点重启的问题 [#8868](https://github.com/pingcap/tiflow/issues/8868) @[asddongmen](https://github.com/asddongmen) + - 修复 TiCDC 同步到 KOP 时不能正确建立链接的问题 [#8892](https://github.com/pingcap/tiflow/issues/8892) @[hi-rustin](https://github.com/hi-rustin) + TiDB Data Migration (DM) @@ -288,8 +288,8 @@ TiDB 版本:7.2.0 + TiDB Lightning - - 修复开启 expression index 且默认值是 uuid 导致 lightning panic 的问题 [#44516](https://github.com/pingcap/tidb/pull/44516) - - 修复划分数据文件时任务退出导致 lightning panic 的问题 [#43195](https://github.com/pingcap/tidb/issues/43195) + - 修复开启 `experimental.allow-expression-index` 且默认值是 UUID 时导致 TiDB Lightning panic 的问题 [#44497](https://github.com/pingcap/tidb/issues/44497) @[lichunzhu](https://github.com/lichunzhu) + - 修复划分数据文件时任务退出导致 TiDB Lightning panic 的问题 [#43195](https://github.com/pingcap/tidb/issues/43195) @[lance6716](https://github.com/lance6716) ## 贡献者 From 9d27c5bae58ce3aa287ffa8fd414575c4b1e6805 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Sun, 25 Jun 2023 20:18:37 +0800 Subject: [PATCH 081/121] Update releases/release-7.2.0.md --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index c0c5d461bf9e..0057e2494d59 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -203,7 +203,7 @@ TiDB 版本:7.2.0 + Backup & Restore (BR) - - 为外部存储 Azure Blob Storage 提供 SAS (shared access signature) 的访问方式 [#44199](https://github.com/pingcap/tidb/issues/44199) @[Leavrth](https://github.com/Leavrth) + - 为外部存储 Azure Blob Storage 提供 shared access signature (SAS) 的访问方式 [#44199](https://github.com/pingcap/tidb/issues/44199) @[Leavrth](https://github.com/Leavrth) + TiCDC From 7a3e4cd252646a52d099a4c04c2c2f36bd3120eb Mon Sep 17 00:00:00 2001 From: Aolin Date: Mon, 26 Jun 2023 11:54:18 +0800 Subject: [PATCH 082/121] Apply suggestions from code review --- releases/release-7.2.0.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 0057e2494d59..0631a665cd55 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -155,6 +155,7 @@ TiDB 版本:7.2.0 | -------- | -------- | -------- | -------- | | TiDB | [`force-init-stats`](/tidb-configuration-file.md#force-init-stats-从-v710-版本开始引入) | 修改 | 默认值从 `false` 修改为 `true`,表示 TiDB 启动时默认会在完成统计信息初始化后再对外提供服务。 | | TiDB | [`lite-init-stats`](/tidb-configuration-file.md#lite-init-stats-从-v710-版本开始引入) | 修改 | 默认值从 `false` 修改为 `true`,表示 TiDB 启动时默认将采用轻量级的统计信息初始化。 | +| TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].compaction-guard-min-output-file-size](/tikv-configuration-file.md#compaction-guard-min-output-file-size) | 修改 | 为减小 RocksDB 中 compaction 任务的数据量,该变量默认值从 `"8MB"` 修改为 `"1MB"`。 | | TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].optimize-filters-for-memory](/tikv-configuration-file.md#optimize-filters-for-memory-从-v710-版本开始引入) | 新增 | 控制是否生成能够最小化内存碎片的 Bloom/Ribbon filter。 | | TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].ribbon-filter-above-level](/tikv-configuration-file.md#ribbon-filter-above-level-从-v710-版本开始引入) | 新增 | 控制是否对于大于等于该值的 level 使用 Ribbon filter,对于小于该值的 level,使用非 block-based bloom filter。 | | TiDB Lightning | `send-kv-pairs` | 废弃 | 从 v7.2.0 版本开始,`send-kv-pairs` 不再生效。你可以使用新参数 [`send-kv-size`](/tidb-lightning/tidb-lightning-configuration.md) 来指定物理导入模式下向 TiKV 发送数据时一次请求的最大大小。**tw@hfxsd** | @@ -183,17 +184,16 @@ TiDB 版本:7.2.0 + TiKV - - 支持配置PDclient的重连间隔 [#14964](https://github.com/tikv/tikv/issues/14964) @[rleungx](https://github.com/rleungx) - - resource control提高调度算法将全局的资源使用作为调度因素 [#14604](https://github.com/tikv/tikv/issues/14604) @[Connor1996](https://github.com/Connor1996) - - compaction-guard-min-output-file-size默认值从8MB改为1MB [#14888](https://github.com/tikv/tikv/issues/14888) @[tonyxuqqi](https://github.com/tonyxuqqi) - - 使用 gzip 压缩 check leader 请求减少流量消耗 [#14553](https://github.com/tikv/tikv/issues/14553) @[you06](https://github.com/you06) - - 添加 check leader 相关 metric [#14658](https://github.com/tikv/tikv/issues/14658) @[you06](https://github.com/you06) - - 详细记录 write command 处理时间细节 [#12362](https://github.com/tikv/tikv/issues/12362) @[cfzjywxk](https://github.com/cfzjywxk) + - 支持通过 `pd.retry-interval` 配置请求失败等场景下 PD 连接的重试间隔 [#14964](https://github.com/tikv/tikv/issues/14964) @[rleungx](https://github.com/rleungx) + - 优化资源管控调度算法,将全局的资源使用量作为调度因素 [#14604](https://github.com/tikv/tikv/issues/14604) @[Connor1996](https://github.com/Connor1996) + - 使用 gzip 压缩 `check_leader` 请求以减少流量 [#14553](https://github.com/tikv/tikv/issues/14553) @[you06](https://github.com/you06) + - 为 `check_leader` 请求增加相关监控项 [#14658](https://github.com/tikv/tikv/issues/14658) @[you06](https://github.com/you06) + - 详细记录 TiKV 处理写入命令过程中的时间信息 [#12362](https://github.com/tikv/tikv/issues/12362) @[cfzjywxk](https://github.com/cfzjywxk) + PD - PD Leader 选举使用单独的 gRPC 链接,防止受到其他请求的影响 [#6403](https://github.com/tikv/pd/issues/6403) @[rleungx](https://github.com/rleungx) - - 默认打开 bucket split,改善 Multi-Region 的热点问题 [#6433](https://github.com/tikv/pd/issues/6433) @[bufferflies](https://github.com/bufferflies) + - 默认开启 bucket split 以改善多 Region 的热点问题 [#6433](https://github.com/tikv/pd/issues/6433) @[bufferflies](https://github.com/bufferflies) + TiFlash @@ -251,10 +251,10 @@ TiDB 版本:7.2.0 + TiKV - - 修复处理stale悲观锁冲突时不正确的事务返回值 [#13298](https://github.com/tikv/tikv/issues/13298) @[cfzjywxk](https://github.com/cfzjywxk) - - 修复in-memory pessimistic locks可能导致flashback失败和数据不一致 [#13303](https://github.com/tikv/tikv/issues/13303) @[JmPotato](https://github.com/JmPotato) - - 修复 fair lock 在出现 stale req 情况下的正确性问题 #[13298](https://github.com/tikv/tikv/issues/13298) @[cfzjywxk](https://github.com/cfzjywxk) - - 修复 autocommit point get 在 follower read 情况下线性一致性可能被破坏的问题 #[14715](https://github.com/tikv/tikv/issues/14715) @[cfzjywxkj](https://github.com/cfzjywxk) + - 修复处理 stale 悲观锁冲突时事务返回值不正确的问题 [#13298](https://github.com/tikv/tikv/issues/13298) @[cfzjywxk](https://github.com/cfzjywxk) + - 修复内存悲观锁可能导致 Flashback 失败和数据不一致的问题 [#13303](https://github.com/tikv/tikv/issues/13303) @[JmPotato](https://github.com/JmPotato) + - 修复处理过期请求时 fair lock 的正确性问题 [#13298](https://github.com/tikv/tikv/issues/13298) @[cfzjywxk](https://github.com/cfzjywxk) + - 修复 autocommit 和 point get replica read 可能破坏线性一致性的问题 [#14715](https://github.com/tikv/tikv/issues/14715) @[cfzjywxk](https://github.com/cfzjywxk) + PD From b8cb1a1965ccf57a749789bf59ea0b88c9ce835b Mon Sep 17 00:00:00 2001 From: Hangjie Mo Date: Mon, 26 Jun 2023 16:20:54 +0800 Subject: [PATCH 083/121] Update releases/release-7.2.0.md Co-authored-by: Grace Cai --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 0631a665cd55..5ff7dda773be 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -244,7 +244,7 @@ TiDB 版本:7.2.0 - 修复了创建 subpartition 的报错信息 [#41198](https://github.com/pingcap/tidb/issues/41198) [#41200](https://github.com/pingcap/tidb/issues/41200) @[mjonss](https://github.com/mjonss) - 修复了执行时间超过 `MAX_EXECUTION_TIME` 被 kill 的返回值和 MySQL 不一致的问题 [#43031](https://github.com/pingcap/tidb/issues/43031) @[dveeden](https://github.com/dveeden) - 修复了 Leading Hint 无法支持 query block alias 的问题 [#44645](https://github.com/pingcap/tidb/issues/44645) @[qw4990](https://github.com/qw4990) - - last_insert_id函数的返回类型从varchar变更为longlong,与MySQL相同,同时last_insert_id的最大上限也变更为MaxUint64。[#44574](https://github.com/pingcap/tidb/issues/44574) @[Defined2014](https://github.com/Defined2014) + - 修复 `LAST_INSERT_ID()` 函数的返回类型,从 VARCHAR 变更为 LONGLONG,与 MySQL 一致 [#44574](https://github.com/pingcap/tidb/issues/44574) @[Defined2014](https://github.com/Defined2014) - 修复了 CTE 多次被非关联子查询引用的情况下,因过滤条件下推导致的结果错误 [#44051] (https://github.com/pingcap/tidb/issues/44051) @[winoros](https://github.com/winoros) - 修复了 outer join reorder 对 condition 的错误处理导致的结果正确性问题 [#44314] (https://github.com/pingcap/tidb/issues/44314) @[AilinKid](https://github.com/AilinKid) - 修复了 `prepare stmt from "analyze table xxx"` 会被 `tidb_mem_quota_query` kill 掉的问题 [#44320] (https://github.com/pingcap/tidb/issues/44320) @[chrysan](https://github.com/chrysan) From e9bba3bc6b56a4af70c7de10eefc679d27476de3 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 26 Jun 2023 16:35:35 +0800 Subject: [PATCH 084/121] Apply suggestions from code review --- releases/release-7.2.0.md | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 5ff7dda773be..82b100692d0c 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -233,21 +233,20 @@ TiDB 版本:7.2.0 - 修复 cop task 中 txn scope 缺失导致 stale read global optimization 不生效的问题 [#43365](https://github.com/pingcap/tidb/issues/43365) @[you06](https://github.com/you06) - 修复 follower read 未处理 flashback 错误进行重试导致查询报错的问题 [#43673](https://github.com/pingcap/tidb/issues/43673) @[you06](https://github.com/you06) - - 修复 prepared stale read 语句无法读到预期结果机会的问题 [#43044](https://github.com/pingcap/tidb/issues/43044) @[you06](https://github.com/you06) - - 修复 on update 语句没有正确更新 primary key 导致数据索引不一致问题 @[zyguan](https://github.com/zyguan) - - 修改 UNIX_TIMESTAMP 函数的上限为 `3001-01-19 03:14:07.999999 UTC` 和 MySQL 8.0.28+ 保持一致 [#43987](https://github.com/pingcap/tidb/issues/43987) @[YangKeao](https://github.com/YangKeao) - - 修复了 add Index 在 ingest 模式下失败的问题 [#44137](https://github.com/pingcap/tidb/issues/44137) @[tangenta](https://github.com/tangenta) - - 修复了 cancel 处于在 rollback 状态的 DDL 任务导致相关元数据出错的问题 [#44143](https://github.com/pingcap/tidb/issues/44143) @[wjhuang2016](https://github.com/wjhuang2016) - - 修复了 memtracker 配合 cursor 使用导致内存泄漏的问题 [#44254](https://github.com/pingcap/tidb/issues/44254) @[YangKeao](https://github.com/YangKeao) - - 修复了删除 database 导致 GC 推进慢的问题 [#33069](https://github.com/pingcap/tidb/issues/33069) @[tiancaiamao](https://github.com/tiancaiamao) - - 修复了分区表在 Index join 的 probe 阶段找不到对应行而报错的问题 [#43686](https://github.com/pingcap/tidb/issues/43686) @[AilinKid](https://github.com/AilinKid) @[mjonss](https://github.com/mjonss) - - 修复了创建 subpartition 的报错信息 [#41198](https://github.com/pingcap/tidb/issues/41198) [#41200](https://github.com/pingcap/tidb/issues/41200) @[mjonss](https://github.com/mjonss) - - 修复了执行时间超过 `MAX_EXECUTION_TIME` 被 kill 的返回值和 MySQL 不一致的问题 [#43031](https://github.com/pingcap/tidb/issues/43031) @[dveeden](https://github.com/dveeden) - - 修复了 Leading Hint 无法支持 query block alias 的问题 [#44645](https://github.com/pingcap/tidb/issues/44645) @[qw4990](https://github.com/qw4990) + - 修复 `ON UPDATE` 语句没有正确更新 primary key 导致数据索引不一致问题 [#44565](https://github.com/pingcap/tidb/issues/44565) @[zyguan](https://github.com/zyguan) + - 修改 UNIX_TIMESTAMP 函数的上限为 `3001-01-19 03:14:07.999999 UTC`,与 MySQL 8.0.28+ 保持一致 [#43987](https://github.com/pingcap/tidb/issues/43987) @[YangKeao](https://github.com/YangKeao) + - 修复在 ingest 模式下创建索引失败的问题 [#44137](https://github.com/pingcap/tidb/issues/44137) @[tangenta](https://github.com/tangenta) + - 修复取消处于 rollback 状态的 DDL 任务导致相关元数据出错的问题 [#44143](https://github.com/pingcap/tidb/issues/44143) @[wjhuang2016](https://github.com/wjhuang2016) + - 修复 `memTracker` 配合 cursor fetch 使用导致内存泄漏的问题 [#44254](https://github.com/pingcap/tidb/issues/44254) @[YangKeao](https://github.com/YangKeao) + - 修复删除 database 导致 GC 推进慢的问题 [#33069](https://github.com/pingcap/tidb/issues/33069) @[tiancaiamao](https://github.com/tiancaiamao) + - 修复分区表在 Index join 的 probe 阶段找不到对应行而报错的问题 [#43686](https://github.com/pingcap/tidb/issues/43686) @[AilinKid](https://github.com/AilinKid) @[mjonss](https://github.com/mjonss) + - 修复在创建分区表时使用 `SUBPARTITION` 没有警告提醒的问题 [#41198](https://github.com/pingcap/tidb/issues/41198) [#41200](https://github.com/pingcap/tidb/issues/41200) @[mjonss](https://github.com/mjonss) + - 修复了执行时间超过 `MAX_EXECUTION_TIME` 的 query 被 kill 时的返回值和 MySQL 不一致的问题 [#43031](https://github.com/pingcap/tidb/issues/43031) @[dveeden](https://github.com/dveeden) + - 修复了 `LEADING` hint 不支持查询块别名 (query block alias) 的问题 [#44645](https://github.com/pingcap/tidb/issues/44645) @[qw4990](https://github.com/qw4990) - 修复 `LAST_INSERT_ID()` 函数的返回类型,从 VARCHAR 变更为 LONGLONG,与 MySQL 一致 [#44574](https://github.com/pingcap/tidb/issues/44574) @[Defined2014](https://github.com/Defined2014) -- 修复了 CTE 多次被非关联子查询引用的情况下,因过滤条件下推导致的结果错误 [#44051] (https://github.com/pingcap/tidb/issues/44051) @[winoros](https://github.com/winoros) -- 修复了 outer join reorder 对 condition 的错误处理导致的结果正确性问题 [#44314] (https://github.com/pingcap/tidb/issues/44314) @[AilinKid](https://github.com/AilinKid) -- 修复了 `prepare stmt from "analyze table xxx"` 会被 `tidb_mem_quota_query` kill 掉的问题 [#44320] (https://github.com/pingcap/tidb/issues/44320) @[chrysan](https://github.com/chrysan) + - 修复当公共表表达式 (CTE) 多次被非关联子查询引用时,因过滤条件下推导致结果有误的问题 [#44051] (https://github.com/pingcap/tidb/issues/44051) @[winoros](https://github.com/winoros) + - 修复了 outer join reorder 对 condition 的错误处理导致结果有误的问题 [#44314] (https://github.com/pingcap/tidb/issues/44314) @[AilinKid](https://github.com/AilinKid) + - 修复了 `PREPARE stmt FROM "analyze table xxx"` 会被 `tidb_mem_quota_query` kill 掉的问题 [#44320] (https://github.com/pingcap/tidb/issues/44320) @[chrysan](https://github.com/chrysan) + TiKV @@ -262,7 +261,7 @@ TiDB 版本:7.2.0 + TiFlash - - 修复在 join 的 build 端数据量很大且含有大量短字符串时内存消耗过大的问题 [#7416](https://github.com/pingcap/tiflash/issues/7416) @[yibin87](https://github.com/yibin87) + - 修复在 join 操作的 build 侧数据量很大且含有大量短字符串时内存消耗过大的问题 [#7416](https://github.com/pingcap/tiflash/issues/7416) @[yibin87](https://github.com/yibin87) + Tools From 065fb11c0b324971f2f383261fe8c743ca6bfdc6 Mon Sep 17 00:00:00 2001 From: qiancai Date: Mon, 26 Jun 2023 16:42:30 +0800 Subject: [PATCH 085/121] fix comment format issue that causes build failures --- releases/release-7.2.0.md | 69 ++++++++++++++++++++++++--------------- 1 file changed, 43 insertions(+), 26 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 82b100692d0c..8f8aa988a291 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -171,7 +171,9 @@ TiDB 版本:7.2.0 ## 改进提升 -+ TiDB ++ TiDB + + - 优化构造索引扫描范围的逻辑,支持将一些复杂条件转化为索引扫描范围 [#41572](https://github.com/pingcap/tidb/issues/41572) [#44389](https://github.com/pingcap/tidb/issues/44389) @xuyifangreeneyes - 为 stale read 新增相关监控指标 [#43325](https://github.com/pingcap/tidb/issues/43325) @[you06](https://github.com/you06) @@ -182,7 +184,9 @@ TiDB 版本:7.2.0 - 支持将utf8和utf8mb3都识别为旧的三字节字符集编码。[#26226](https://github.com/pingcap/tidb/issues/26226) @[dveeden](https://github.com/dveeden) - 支持将 := 用于 update 语句中赋值。[#44751](https://github.com/pingcap/tidb/issues/44751) @[CbcWestwolf](https://github.com/CbcWestwolf) -+ TiKV ++ TiKV + + - 支持通过 `pd.retry-interval` 配置请求失败等场景下 PD 连接的重试间隔 [#14964](https://github.com/tikv/tikv/issues/14964) @[rleungx](https://github.com/rleungx) - 优化资源管控调度算法,将全局的资源使用量作为调度因素 [#14604](https://github.com/tikv/tikv/issues/14604) @[Connor1996](https://github.com/Connor1996) @@ -190,36 +194,42 @@ TiDB 版本:7.2.0 - 为 `check_leader` 请求增加相关监控项 [#14658](https://github.com/tikv/tikv/issues/14658) @[you06](https://github.com/you06) - 详细记录 TiKV 处理写入命令过程中的时间信息 [#12362](https://github.com/tikv/tikv/issues/12362) @[cfzjywxk](https://github.com/cfzjywxk) -+ PD ++ PD + + - PD Leader 选举使用单独的 gRPC 链接,防止受到其他请求的影响 [#6403](https://github.com/tikv/pd/issues/6403) @[rleungx](https://github.com/rleungx) - 默认开启 bucket split 以改善多 Region 的热点问题 [#6433](https://github.com/tikv/pd/issues/6433) @[bufferflies](https://github.com/bufferflies) -+ TiFlash - - - note [#issue](链接) @[贡献者 GitHub ID](链接) - + Tools - + Backup & Restore (BR) + + Backup & Restore (BR) + + - 为外部存储 Azure Blob Storage 提供 shared access signature (SAS) 的访问方式 [#44199](https://github.com/pingcap/tidb/issues/44199) @[Leavrth](https://github.com/Leavrth) - + TiCDC + + TiCDC + + - 优化同步到对象存储场景下发生 DDL 时存放数据文件目录的结构 [#8891](https://github.com/pingcap/tiflow/issues/8891) @[CharlesCheung96](https://github.com/CharlesCheung96) - 增加在 Kafka 场景下支持 OAUTHBEARER 认证方式 [#8865](https://github.com/pingcap/tiflow/issues/8865) @[hi-rustin](https://github.com/hi-rustin) - 增加同步到 Kafka 场景下,对于 `DELETE` 操作,支持选择只输出 Handle Key [#9143](https://github.com/pingcap/tiflow/issues/9143) @[3AceShowHand](https://github.com/3AceShowHand) - + TiDB Data Migration (DM) + + TiDB Data Migration (DM) + + - 支持 MySQL 8.0 压缩 binlog 的增量同步 [#6381](https://github.com/pingcap/tiflow/issues/6381) @[dveeden](https://github.com/dveeden) - + TiDB Lightning + + TiDB Lightning + + - - 优化导入时遇到 leader 切换导致的错误的重试机制 [#44478](https://github.com/pingcap/tidb/pull/44478) - - 导入完成后通过 SQL 的方式校验 checksum,提升检验的稳定性 [#41941](https://github.com/pingcap/tidb/issues/41941) - - 优化宽表导入下 lightning OOM 的问题 [43853](https://github.com/pingcap/tidb/issues/43853) + - 优化导入时遇到 leader 切换导致的错误的重试机制 [#44478](https://github.com/pingcap/tidb/pull/44478) + - 导入完成后通过 SQL 的方式校验 checksum,提升检验的稳定性 [#41941](https://github.com/pingcap/tidb/issues/41941) + - 优化宽表导入下 lightning OOM 的问题 [43853](https://github.com/pingcap/tidb/issues/43853) ## 错误修复 @@ -244,34 +254,44 @@ TiDB 版本:7.2.0 - 修复了执行时间超过 `MAX_EXECUTION_TIME` 的 query 被 kill 时的返回值和 MySQL 不一致的问题 [#43031](https://github.com/pingcap/tidb/issues/43031) @[dveeden](https://github.com/dveeden) - 修复了 `LEADING` hint 不支持查询块别名 (query block alias) 的问题 [#44645](https://github.com/pingcap/tidb/issues/44645) @[qw4990](https://github.com/qw4990) - 修复 `LAST_INSERT_ID()` 函数的返回类型,从 VARCHAR 变更为 LONGLONG,与 MySQL 一致 [#44574](https://github.com/pingcap/tidb/issues/44574) @[Defined2014](https://github.com/Defined2014) - - 修复当公共表表达式 (CTE) 多次被非关联子查询引用时,因过滤条件下推导致结果有误的问题 [#44051] (https://github.com/pingcap/tidb/issues/44051) @[winoros](https://github.com/winoros) + - 修复当公共表表达式 (CTE) 多次被非关联子查询引用时,因过滤条件下推导致结果有误的问题 [#44051](https://github.com/pingcap/tidb/issues/44051) @[winoros](https://github.com/winoros) - 修复了 outer join reorder 对 condition 的错误处理导致结果有误的问题 [#44314] (https://github.com/pingcap/tidb/issues/44314) @[AilinKid](https://github.com/AilinKid) - - 修复了 `PREPARE stmt FROM "analyze table xxx"` 会被 `tidb_mem_quota_query` kill 掉的问题 [#44320] (https://github.com/pingcap/tidb/issues/44320) @[chrysan](https://github.com/chrysan) + - 修复了 `PREPARE stmt FROM "analyze table xxx"` 会被 `tidb_mem_quota_query` kill 掉的问题 [#44320](https://github.com/pingcap/tidb/issues/44320) @[chrysan](https://github.com/chrysan) + ++ TiKV -+ TiKV + - 修复处理 stale 悲观锁冲突时事务返回值不正确的问题 [#13298](https://github.com/tikv/tikv/issues/13298) @[cfzjywxk](https://github.com/cfzjywxk) - 修复内存悲观锁可能导致 Flashback 失败和数据不一致的问题 [#13303](https://github.com/tikv/tikv/issues/13303) @[JmPotato](https://github.com/JmPotato) - 修复处理过期请求时 fair lock 的正确性问题 [#13298](https://github.com/tikv/tikv/issues/13298) @[cfzjywxk](https://github.com/cfzjywxk) - 修复 autocommit 和 point get replica read 可能破坏线性一致性的问题 [#14715](https://github.com/tikv/tikv/issues/14715) @[cfzjywxk](https://github.com/cfzjywxk) -+ PD ++ PD + + - 修复在特殊情况下冗余副本无法自动修复的问题 [#6573](https://github.com/tikv/pd/issues/6573) @[nolouch](https://github.com/nolouch) -+ TiFlash ++ TiFlash + + - 修复在 join 操作的 build 侧数据量很大且含有大量短字符串时内存消耗过大的问题 [#7416](https://github.com/pingcap/tiflash/issues/7416) @[yibin87](https://github.com/yibin87) + Tools - + Backup & Restore (BR) + + Backup & Restore (BR) + + - 修复某些情况下误报 `checksum mismatch` 的问题 [#44472](https://github.com/pingcap/tidb/issues/44472) @[Leavrth](https://github.com/Leavrth) - 修复某些情况下误报 `resolved lock timeout` 的问题 [#43236](https://github.com/pingcap/tidb/issues/43236) @[YuJuncen](https://github.com/YuJuncen) - 修复在恢复统计信息的时候可能会 panic 的问题 [#44490](https://github.com/pingcap/tidb/issues/44490) @[tangenta](https://github.com/tangenta) - + TiCDC + + TiCDC + + - 修复在某些特殊情况下 Resolved TS 不能正常推进的问题 [#8963](https://github.com/pingcap/tiflow/issues/8963) @[CharlesCheung96](https://github.com/CharlesCheung96) - 修复使用 Avro 或 CSV 协议场景下 `UPDATE` 操作不能输出旧值的问题 [#9086](https://github.com/pingcap/tiflow/issues/9086) @[3AceShowHand](https://github.com/3AceShowHand) @@ -280,12 +300,9 @@ TiDB 版本:7.2.0 - 修复 PD 节点宕机导致 TiCDC 节点重启的问题 [#8868](https://github.com/pingcap/tiflow/issues/8868) @[asddongmen](https://github.com/asddongmen) - 修复 TiCDC 同步到 KOP 时不能正确建立链接的问题 [#8892](https://github.com/pingcap/tiflow/issues/8892) @[hi-rustin](https://github.com/hi-rustin) - + TiDB Data Migration (DM) - - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + + TiDB Lightning - + TiDB Lightning + - 修复开启 `experimental.allow-expression-index` 且默认值是 UUID 时导致 TiDB Lightning panic 的问题 [#44497](https://github.com/pingcap/tidb/issues/44497) @[lichunzhu](https://github.com/lichunzhu) - 修复划分数据文件时任务退出导致 TiDB Lightning panic 的问题 [#43195](https://github.com/pingcap/tidb/issues/43195) @[lance6716](https://github.com/lance6716) From f3836f87f96743bf47006df17d8031a80f713622 Mon Sep 17 00:00:00 2001 From: Ran Date: Mon, 26 Jun 2023 17:05:02 +0800 Subject: [PATCH 086/121] Apply suggestions from code review --- releases/release-7.2.0.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 8f8aa988a291..c5d23811640d 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -175,14 +175,14 @@ TiDB 版本:7.2.0 - - 优化构造索引扫描范围的逻辑,支持将一些复杂条件转化为索引扫描范围 [#41572](https://github.com/pingcap/tidb/issues/41572) [#44389](https://github.com/pingcap/tidb/issues/44389) @xuyifangreeneyes - - 为 stale read 新增相关监控指标 [#43325](https://github.com/pingcap/tidb/issues/43325) @[you06](https://github.com/you06) - - 当 stale read retry leader 遇到 lock,resolve lock 之后强制走 leader 避免无谓开销 [#43659](https://github.com/pingcap/tidb/issues/43659) @[you06](https://github.com/you06) - - 使用估计时间计算 stale read ts,减少 stale read 开销 [#44215](https://github.com/pingcap/tidb/issues/44215) @[you06](https://github.com/you06) + - 优化构造索引扫描范围的逻辑,支持将一些复杂条件转化为索引扫描范围 [#41572](https://github.com/pingcap/tidb/issues/41572) [#44389](https://github.com/pingcap/tidb/issues/44389) @[xuyifangreeneyes](https://github.com/xuyifangreeneyes) + - 为 Stale Read 新增相关监控指标 [#43325](https://github.com/pingcap/tidb/issues/43325) @[you06](https://github.com/you06) + - 当 Stale Read 的 retry leader 遇到 lock 时,resolve lock 之后强制重试 leader,避免无谓开销 [#43659](https://github.com/pingcap/tidb/issues/43659) @[you06](https://github.com/you06) + - 使用估计时间计算 Stale Read ts,减少 Stale Read 的开销 [#44215](https://github.com/pingcap/tidb/issues/44215) @[you06](https://github.com/you06) - 添加 long running 事务日志和系统变量 [#41471](https://github.com/pingcap/tidb/issues/41471) @[crazycs520](https://github.com/crazycs520) - - 支持通过 MySQL 压缩协议连接 TiDB (在连接时加上 `--compress` 选项),提升数据密集型查询在低网络质量下的性能,并节省带宽成本的开销 [#22605](https://github.com/pingcap/tidb/issues/22605) @[dveeden](https://github.com/dveeden) - - 支持将utf8和utf8mb3都识别为旧的三字节字符集编码。[#26226](https://github.com/pingcap/tidb/issues/26226) @[dveeden](https://github.com/dveeden) - - 支持将 := 用于 update 语句中赋值。[#44751](https://github.com/pingcap/tidb/issues/44751) @[CbcWestwolf](https://github.com/CbcWestwolf) + - 支持通过 MySQL 压缩协议连接 TiDB(在连接时加上 `--compress` 选项),提升数据密集型查询在低网络质量下的性能,并节省带宽成本的开销 [#22605](https://github.com/pingcap/tidb/issues/22605) @[dveeden](https://github.com/dveeden) + - 支持将 utf8 和 utf8mb3 识别为旧的三字节字符集编码 [#26226](https://github.com/pingcap/tidb/issues/26226) @[dveeden](https://github.com/dveeden) + - 支持在 UPDATE 语句中使用 `:=` 进行赋值操作 [#44751](https://github.com/pingcap/tidb/issues/44751) @[CbcWestwolf](https://github.com/CbcWestwolf) + TiKV @@ -237,11 +237,11 @@ TiDB 版本:7.2.0 - - 修复关联子查询中含有 CTE 时可能出现的查询 hang 住的问题 [#36896](https://github.com/pingcap/tidb/issues/36896) @[guo-shaoge](https://github.com/guo-shaoge) - - 修复某些情况下 max/min 结果出错的问题 [#43805](https://github.com/pingcap/tidb/issues/43508)@[wshwsh12](https://github.com/wshwsh12) - - 修复当 query 包含子查询时,information schema 显示中 `TxnStart` 字段为空的问题 [#40851](https://github.com/pingcap/tidb/issues/40851) @[crazycs520](https://github.com/crazycs520) - - 修复 cop task 中 txn scope 缺失导致 stale read global optimization 不生效的问题 [#43365](https://github.com/pingcap/tidb/issues/43365) @[you06](https://github.com/you06) - - 修复 follower read 未处理 flashback 错误进行重试导致查询报错的问题 [#43673](https://github.com/pingcap/tidb/issues/43673) @[you06](https://github.com/you06) + (dup)- 修复使用 CTE 的查询导致 TiDB 卡住的问题 [#43749](https://github.com/pingcap/tidb/issues/43749) [#36896](https://github.com/pingcap/tidb/issues/36896) @[guo-shaoge](https://github.com/guo-shaoge) + (dup)- 修复 `min, max` 查询结果出错的问题 [#43805](https://github.com/pingcap/tidb/issues/43805) @[wshwsh12](https://github.com/wshwsh12) + (dup)- 修复 `SHOW PROCESSLIST` 语句无法显示子查询时间较长语句的事务的 TxnStart 的问题 [#40851](https://github.com/pingcap/tidb/issues/40851) @[crazycs520](https://github.com/crazycs520) + - 修复由于 Coprocessor task 中 `TxnScope` 缺失导致 Stale Read 全局优化不生效的问题 [#43365](https://github.com/pingcap/tidb/issues/43365) @[you06](https://github.com/you06) + - 修复 follower read 未处理 flashback 错误而进行重试,导致查询报错的问题 [#43673](https://github.com/pingcap/tidb/issues/43673) @[you06](https://github.com/you06) - 修复 `ON UPDATE` 语句没有正确更新 primary key 导致数据索引不一致问题 [#44565](https://github.com/pingcap/tidb/issues/44565) @[zyguan](https://github.com/zyguan) - 修改 UNIX_TIMESTAMP 函数的上限为 `3001-01-19 03:14:07.999999 UTC`,与 MySQL 8.0.28+ 保持一致 [#43987](https://github.com/pingcap/tidb/issues/43987) @[YangKeao](https://github.com/YangKeao) From 39caecb609c4f34eb2767b3725d6c9a22d5c765c Mon Sep 17 00:00:00 2001 From: Ran Date: Mon, 26 Jun 2023 17:07:08 +0800 Subject: [PATCH 087/121] Update releases/release-7.2.0.md --- releases/release-7.2.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index c5d23811640d..1513100fbdb1 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -227,9 +227,9 @@ TiDB 版本:7.2.0 - - 优化导入时遇到 leader 切换导致的错误的重试机制 [#44478](https://github.com/pingcap/tidb/pull/44478) - - 导入完成后通过 SQL 的方式校验 checksum,提升检验的稳定性 [#41941](https://github.com/pingcap/tidb/issues/41941) - - 优化宽表导入下 lightning OOM 的问题 [43853](https://github.com/pingcap/tidb/issues/43853) + - 优化导入过程中的重试机制,避免因 leader 切换而导致的错误 [#44478](https://github.com/pingcap/tidb/issues/44263) @[lance6716](https://github.com/lance6716) + - 导入完成后通过 SQL 的方式校验 checksum,提升检验的稳定性 [#41941](https://github.com/pingcap/tidb/issues/41941) @[GMHDBJD](https://github.com/GMHDBJD) + - 优化导入宽表时 TiDB Lightning 发生 OOM 的问题 [#43853](https://github.com/pingcap/tidb/issues/43853) @[D3Hunter](https://github.com/D3Hunter) ## 错误修复 From 4aa8eeba3c01e7f0d3865eb820b64361520dcad6 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 26 Jun 2023 18:56:12 +0800 Subject: [PATCH 088/121] Update releases/release-7.2.0.md --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 1513100fbdb1..88c7cbea213e 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -173,7 +173,7 @@ TiDB 版本:7.2.0 + TiDB - + - 优化构造索引扫描范围的逻辑,支持将一些复杂条件转化为索引扫描范围 [#41572](https://github.com/pingcap/tidb/issues/41572) [#44389](https://github.com/pingcap/tidb/issues/44389) @[xuyifangreeneyes](https://github.com/xuyifangreeneyes) - 为 Stale Read 新增相关监控指标 [#43325](https://github.com/pingcap/tidb/issues/43325) @[you06](https://github.com/you06) From d6e6fd858cedfd295d92c2f10135018bb9ec8c26 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 26 Jun 2023 20:35:58 +0800 Subject: [PATCH 089/121] Update releases/release-7.2.0.md --- releases/release-7.2.0.md | 1 - 1 file changed, 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 88c7cbea213e..2a774c9bca3a 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -174,7 +174,6 @@ TiDB 版本:7.2.0 + TiDB - - 优化构造索引扫描范围的逻辑,支持将一些复杂条件转化为索引扫描范围 [#41572](https://github.com/pingcap/tidb/issues/41572) [#44389](https://github.com/pingcap/tidb/issues/44389) @[xuyifangreeneyes](https://github.com/xuyifangreeneyes) - 为 Stale Read 新增相关监控指标 [#43325](https://github.com/pingcap/tidb/issues/43325) @[you06](https://github.com/you06) - 当 Stale Read 的 retry leader 遇到 lock 时,resolve lock 之后强制重试 leader,避免无谓开销 [#43659](https://github.com/pingcap/tidb/issues/43659) @[you06](https://github.com/you06) From 8cf941944e7a10573f93a00b713964c41d40c656 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 26 Jun 2023 22:04:58 +0800 Subject: [PATCH 090/121] Update releases/release-7.2.0.md --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 2a774c9bca3a..40ee59d5f11e 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -173,7 +173,7 @@ TiDB 版本:7.2.0 + TiDB - + - 优化构造索引扫描范围的逻辑,支持将一些复杂条件转化为索引扫描范围 [#41572](https://github.com/pingcap/tidb/issues/41572) [#44389](https://github.com/pingcap/tidb/issues/44389) @[xuyifangreeneyes](https://github.com/xuyifangreeneyes) - 为 Stale Read 新增相关监控指标 [#43325](https://github.com/pingcap/tidb/issues/43325) @[you06](https://github.com/you06) - 当 Stale Read 的 retry leader 遇到 lock 时,resolve lock 之后强制重试 leader,避免无谓开销 [#43659](https://github.com/pingcap/tidb/issues/43659) @[you06](https://github.com/you06) From 2fe903c8e5f05e822cdf41f6cea7f444be6f9328 Mon Sep 17 00:00:00 2001 From: qiancai Date: Tue, 27 Jun 2023 00:08:08 +0800 Subject: [PATCH 091/121] add key features --- releases/release-7.2.0.md | 88 ++++++++++++++++++++++++++------------- 1 file changed, 60 insertions(+), 28 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 40ee59d5f11e..bf4160e2f929 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -13,7 +13,38 @@ TiDB 版本:7.2.0 在 7.2.0 版本中,你可以获得以下关键特性: - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CategoryFeatureDescription
可扩展性与性能资源组支持管理资源消耗超出预期的查询(实验特性)资源组可以通过降低优先级或终止查询来管理超出预期执行时间的查询。通过该功能,你可以在资源组级别设置查询的最长执行时间,并指定当查询超出此设置值时需要 TiDB 采取的操作,从而更好地控制超出预期长时间运行的查询对集群的影响。 +
TiFlash 支持 Pipeline 执行模型(实验特性)TiFlash 支持 Pipeline 执行模型,优化对线程资源的控制。 +当前,TiDB Serverless 的分析能力依赖于此功能。
SQL支持新的 SQL 语句 `IMPORT INTO`, 可以通过 TiDB 进行数据导入 (实验特性)TiDB 引入了一个新的 SQL 语句 `IMPORT INTO`。该语句集成了 TiDB Lightning 的物理导入模式的能力,使你无需单独部署和管理 TiDB Lightning 即可导入数据文件到 TiDB 中。例如,通过该语句,你可以直接从 Amazon S3 远程导入数据到 TiDB 中。
数据库管理与可观测性DDL 任务支持暂停和恢复操作(实验特性)DDL 操作(如添加索引)可能消耗大量资源并影响业务负载。与传统的 schema 更改工具(如 pt-osc 和 gh-ost)类似,TiDB 现在原生支持同时暂停多个后台 DDL 任务。该功能可以帮助你节省资源并最小化 DDL 操作对业务负载的影响,而无需取消和重新启动 DDL 任务。
## 功能详情 @@ -171,9 +202,10 @@ TiDB 版本:7.2.0 ## 改进提升 + + + TiDB - - 优化构造索引扫描范围的逻辑,支持将一些复杂条件转化为索引扫描范围 [#41572](https://github.com/pingcap/tidb/issues/41572) [#44389](https://github.com/pingcap/tidb/issues/44389) @[xuyifangreeneyes](https://github.com/xuyifangreeneyes) - 为 Stale Read 新增相关监控指标 [#43325](https://github.com/pingcap/tidb/issues/43325) @[you06](https://github.com/you06) - 当 Stale Read 的 retry leader 遇到 lock 时,resolve lock 之后强制重试 leader,避免无谓开销 [#43659](https://github.com/pingcap/tidb/issues/43659) @[you06](https://github.com/you06) @@ -183,9 +215,9 @@ TiDB 版本:7.2.0 - 支持将 utf8 和 utf8mb3 识别为旧的三字节字符集编码 [#26226](https://github.com/pingcap/tidb/issues/26226) @[dveeden](https://github.com/dveeden) - 支持在 UPDATE 语句中使用 `:=` 进行赋值操作 [#44751](https://github.com/pingcap/tidb/issues/44751) @[CbcWestwolf](https://github.com/CbcWestwolf) -+ TiKV + - ++ TiKV - 支持通过 `pd.retry-interval` 配置请求失败等场景下 PD 连接的重试间隔 [#14964](https://github.com/tikv/tikv/issues/14964) @[rleungx](https://github.com/rleungx) - 优化资源管控调度算法,将全局的资源使用量作为调度因素 [#14604](https://github.com/tikv/tikv/issues/14604) @[Connor1996](https://github.com/Connor1996) @@ -193,38 +225,38 @@ TiDB 版本:7.2.0 - 为 `check_leader` 请求增加相关监控项 [#14658](https://github.com/tikv/tikv/issues/14658) @[you06](https://github.com/you06) - 详细记录 TiKV 处理写入命令过程中的时间信息 [#12362](https://github.com/tikv/tikv/issues/12362) @[cfzjywxk](https://github.com/cfzjywxk) -+ PD + - ++ PD - PD Leader 选举使用单独的 gRPC 链接,防止受到其他请求的影响 [#6403](https://github.com/tikv/pd/issues/6403) @[rleungx](https://github.com/rleungx) - 默认开启 bucket split 以改善多 Region 的热点问题 [#6433](https://github.com/tikv/pd/issues/6433) @[bufferflies](https://github.com/bufferflies) + Tools - + Backup & Restore (BR) + - + + Backup & Restore (BR) - 为外部存储 Azure Blob Storage 提供 shared access signature (SAS) 的访问方式 [#44199](https://github.com/pingcap/tidb/issues/44199) @[Leavrth](https://github.com/Leavrth) - + TiCDC + - + + TiCDC - 优化同步到对象存储场景下发生 DDL 时存放数据文件目录的结构 [#8891](https://github.com/pingcap/tiflow/issues/8891) @[CharlesCheung96](https://github.com/CharlesCheung96) - 增加在 Kafka 场景下支持 OAUTHBEARER 认证方式 [#8865](https://github.com/pingcap/tiflow/issues/8865) @[hi-rustin](https://github.com/hi-rustin) - 增加同步到 Kafka 场景下,对于 `DELETE` 操作,支持选择只输出 Handle Key [#9143](https://github.com/pingcap/tiflow/issues/9143) @[3AceShowHand](https://github.com/3AceShowHand) - + TiDB Data Migration (DM) + - + + TiDB Data Migration (DM) - 支持 MySQL 8.0 压缩 binlog 的增量同步 [#6381](https://github.com/pingcap/tiflow/issues/6381) @[dveeden](https://github.com/dveeden) - + TiDB Lightning + - + + TiDB Lightning - 优化导入过程中的重试机制,避免因 leader 切换而导致的错误 [#44478](https://github.com/pingcap/tidb/issues/44263) @[lance6716](https://github.com/lance6716) - 导入完成后通过 SQL 的方式校验 checksum,提升检验的稳定性 [#41941](https://github.com/pingcap/tidb/issues/41941) @[GMHDBJD](https://github.com/GMHDBJD) @@ -232,9 +264,9 @@ TiDB 版本:7.2.0 ## 错误修复 -+ TiDB + - ++ TiDB (dup)- 修复使用 CTE 的查询导致 TiDB 卡住的问题 [#43749](https://github.com/pingcap/tidb/issues/43749) [#36896](https://github.com/pingcap/tidb/issues/36896) @[guo-shaoge](https://github.com/guo-shaoge) (dup)- 修复 `min, max` 查询结果出错的问题 [#43805](https://github.com/pingcap/tidb/issues/43805) @[wshwsh12](https://github.com/wshwsh12) @@ -257,40 +289,40 @@ TiDB 版本:7.2.0 - 修复了 outer join reorder 对 condition 的错误处理导致结果有误的问题 [#44314] (https://github.com/pingcap/tidb/issues/44314) @[AilinKid](https://github.com/AilinKid) - 修复了 `PREPARE stmt FROM "analyze table xxx"` 会被 `tidb_mem_quota_query` kill 掉的问题 [#44320](https://github.com/pingcap/tidb/issues/44320) @[chrysan](https://github.com/chrysan) -+ TiKV + - ++ TiKV - 修复处理 stale 悲观锁冲突时事务返回值不正确的问题 [#13298](https://github.com/tikv/tikv/issues/13298) @[cfzjywxk](https://github.com/cfzjywxk) - 修复内存悲观锁可能导致 Flashback 失败和数据不一致的问题 [#13303](https://github.com/tikv/tikv/issues/13303) @[JmPotato](https://github.com/JmPotato) - 修复处理过期请求时 fair lock 的正确性问题 [#13298](https://github.com/tikv/tikv/issues/13298) @[cfzjywxk](https://github.com/cfzjywxk) - 修复 autocommit 和 point get replica read 可能破坏线性一致性的问题 [#14715](https://github.com/tikv/tikv/issues/14715) @[cfzjywxk](https://github.com/cfzjywxk) -+ PD + - ++ PD - 修复在特殊情况下冗余副本无法自动修复的问题 [#6573](https://github.com/tikv/pd/issues/6573) @[nolouch](https://github.com/nolouch) -+ TiFlash + - ++ TiFlash - 修复在 join 操作的 build 侧数据量很大且含有大量短字符串时内存消耗过大的问题 [#7416](https://github.com/pingcap/tiflash/issues/7416) @[yibin87](https://github.com/yibin87) + Tools - + Backup & Restore (BR) + - + + Backup & Restore (BR) - 修复某些情况下误报 `checksum mismatch` 的问题 [#44472](https://github.com/pingcap/tidb/issues/44472) @[Leavrth](https://github.com/Leavrth) - 修复某些情况下误报 `resolved lock timeout` 的问题 [#43236](https://github.com/pingcap/tidb/issues/43236) @[YuJuncen](https://github.com/YuJuncen) - 修复在恢复统计信息的时候可能会 panic 的问题 [#44490](https://github.com/pingcap/tidb/issues/44490) @[tangenta](https://github.com/tangenta) - + TiCDC + - + + TiCDC - 修复在某些特殊情况下 Resolved TS 不能正常推进的问题 [#8963](https://github.com/pingcap/tiflow/issues/8963) @[CharlesCheung96](https://github.com/CharlesCheung96) - 修复使用 Avro 或 CSV 协议场景下 `UPDATE` 操作不能输出旧值的问题 [#9086](https://github.com/pingcap/tiflow/issues/9086) @[3AceShowHand](https://github.com/3AceShowHand) @@ -299,9 +331,9 @@ TiDB 版本:7.2.0 - 修复 PD 节点宕机导致 TiCDC 节点重启的问题 [#8868](https://github.com/pingcap/tiflow/issues/8868) @[asddongmen](https://github.com/asddongmen) - 修复 TiCDC 同步到 KOP 时不能正确建立链接的问题 [#8892](https://github.com/pingcap/tiflow/issues/8892) @[hi-rustin](https://github.com/hi-rustin) - + TiDB Lightning + - + + TiDB Lightning - 修复开启 `experimental.allow-expression-index` 且默认值是 UUID 时导致 TiDB Lightning panic 的问题 [#44497](https://github.com/pingcap/tidb/issues/44497) @[lichunzhu](https://github.com/lichunzhu) - 修复划分数据文件时任务退出导致 TiDB Lightning panic 的问题 [#43195](https://github.com/pingcap/tidb/issues/43195) @[lance6716](https://github.com/lance6716) From ab170fd5d2f1841da1c5102539d69fd51c008c43 Mon Sep 17 00:00:00 2001 From: qiancai Date: Tue, 27 Jun 2023 00:28:02 +0800 Subject: [PATCH 092/121] Update release-7.2.0.md --- releases/release-7.2.0.md | 28 +++++++--------------------- 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index bf4160e2f929..a818695d9092 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -234,29 +234,21 @@ TiDB 版本:7.2.0 + Tools - - - + Backup & Restore (BR) + + Backup & Restore (BR) - 为外部存储 Azure Blob Storage 提供 shared access signature (SAS) 的访问方式 [#44199](https://github.com/pingcap/tidb/issues/44199) @[Leavrth](https://github.com/Leavrth) - - - + TiCDC + + TiCDC - 优化同步到对象存储场景下发生 DDL 时存放数据文件目录的结构 [#8891](https://github.com/pingcap/tiflow/issues/8891) @[CharlesCheung96](https://github.com/CharlesCheung96) - 增加在 Kafka 场景下支持 OAUTHBEARER 认证方式 [#8865](https://github.com/pingcap/tiflow/issues/8865) @[hi-rustin](https://github.com/hi-rustin) - 增加同步到 Kafka 场景下,对于 `DELETE` 操作,支持选择只输出 Handle Key [#9143](https://github.com/pingcap/tiflow/issues/9143) @[3AceShowHand](https://github.com/3AceShowHand) - - - + TiDB Data Migration (DM) + + TiDB Data Migration (DM) - 支持 MySQL 8.0 压缩 binlog 的增量同步 [#6381](https://github.com/pingcap/tiflow/issues/6381) @[dveeden](https://github.com/dveeden) - - - + TiDB Lightning + + TiDB Lightning - 优化导入过程中的重试机制,避免因 leader 切换而导致的错误 [#44478](https://github.com/pingcap/tidb/issues/44263) @[lance6716](https://github.com/lance6716) - 导入完成后通过 SQL 的方式校验 checksum,提升检验的稳定性 [#41941](https://github.com/pingcap/tidb/issues/41941) @[GMHDBJD](https://github.com/GMHDBJD) @@ -312,17 +304,13 @@ TiDB 版本:7.2.0 + Tools - - - + Backup & Restore (BR) + + Backup & Restore (BR) - 修复某些情况下误报 `checksum mismatch` 的问题 [#44472](https://github.com/pingcap/tidb/issues/44472) @[Leavrth](https://github.com/Leavrth) - 修复某些情况下误报 `resolved lock timeout` 的问题 [#43236](https://github.com/pingcap/tidb/issues/43236) @[YuJuncen](https://github.com/YuJuncen) - 修复在恢复统计信息的时候可能会 panic 的问题 [#44490](https://github.com/pingcap/tidb/issues/44490) @[tangenta](https://github.com/tangenta) - - - + TiCDC + + TiCDC - 修复在某些特殊情况下 Resolved TS 不能正常推进的问题 [#8963](https://github.com/pingcap/tiflow/issues/8963) @[CharlesCheung96](https://github.com/CharlesCheung96) - 修复使用 Avro 或 CSV 协议场景下 `UPDATE` 操作不能输出旧值的问题 [#9086](https://github.com/pingcap/tiflow/issues/9086) @[3AceShowHand](https://github.com/3AceShowHand) @@ -331,9 +319,7 @@ TiDB 版本:7.2.0 - 修复 PD 节点宕机导致 TiCDC 节点重启的问题 [#8868](https://github.com/pingcap/tiflow/issues/8868) @[asddongmen](https://github.com/asddongmen) - 修复 TiCDC 同步到 KOP 时不能正确建立链接的问题 [#8892](https://github.com/pingcap/tiflow/issues/8892) @[hi-rustin](https://github.com/hi-rustin) - - - + TiDB Lightning + + TiDB Lightning - 修复开启 `experimental.allow-expression-index` 且默认值是 UUID 时导致 TiDB Lightning panic 的问题 [#44497](https://github.com/pingcap/tidb/issues/44497) @[lichunzhu](https://github.com/lichunzhu) - 修复划分数据文件时任务退出导致 TiDB Lightning panic 的问题 [#43195](https://github.com/pingcap/tidb/issues/43195) @[lance6716](https://github.com/lance6716) From d4dff48243ac1616d709cf1745edb56aecb9dee2 Mon Sep 17 00:00:00 2001 From: Ran Date: Tue, 27 Jun 2023 10:22:01 +0800 Subject: [PATCH 093/121] Apply suggestions from code review Co-authored-by: xixirangrang --- releases/release-7.2.0.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index a818695d9092..beb5b6420aa6 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -207,13 +207,13 @@ TiDB 版本:7.2.0 + TiDB - 优化构造索引扫描范围的逻辑,支持将一些复杂条件转化为索引扫描范围 [#41572](https://github.com/pingcap/tidb/issues/41572) [#44389](https://github.com/pingcap/tidb/issues/44389) @[xuyifangreeneyes](https://github.com/xuyifangreeneyes) - - 为 Stale Read 新增相关监控指标 [#43325](https://github.com/pingcap/tidb/issues/43325) @[you06](https://github.com/you06) + - 新增 `Stale Read OPS`、`Stale Read Traffic` 监控指标 [#43325](https://github.com/pingcap/tidb/issues/43325) @[you06](https://github.com/you06) - 当 Stale Read 的 retry leader 遇到 lock 时,resolve lock 之后强制重试 leader,避免无谓开销 [#43659](https://github.com/pingcap/tidb/issues/43659) @[you06](https://github.com/you06) - 使用估计时间计算 Stale Read ts,减少 Stale Read 的开销 [#44215](https://github.com/pingcap/tidb/issues/44215) @[you06](https://github.com/you06) - - 添加 long running 事务日志和系统变量 [#41471](https://github.com/pingcap/tidb/issues/41471) @[crazycs520](https://github.com/crazycs520) + - 添加 long-running 事务日志和系统变量 [#41471](https://github.com/pingcap/tidb/issues/41471) @[crazycs520](https://github.com/crazycs520) - 支持通过 MySQL 压缩协议连接 TiDB(在连接时加上 `--compress` 选项),提升数据密集型查询在低网络质量下的性能,并节省带宽成本的开销 [#22605](https://github.com/pingcap/tidb/issues/22605) @[dveeden](https://github.com/dveeden) - - 支持将 utf8 和 utf8mb3 识别为旧的三字节字符集编码 [#26226](https://github.com/pingcap/tidb/issues/26226) @[dveeden](https://github.com/dveeden) - - 支持在 UPDATE 语句中使用 `:=` 进行赋值操作 [#44751](https://github.com/pingcap/tidb/issues/44751) @[CbcWestwolf](https://github.com/CbcWestwolf) + - 支持将 `utf8` 和 `utf8mb3` 识别为旧的三字节字符集编码 [#26226](https://github.com/pingcap/tidb/issues/26226) @[dveeden](https://github.com/dveeden) + - 支持在 `UPDATE` 语句中使用 `:=` 进行赋值操作 [#44751](https://github.com/pingcap/tidb/issues/44751) @[CbcWestwolf](https://github.com/CbcWestwolf) @@ -250,8 +250,8 @@ TiDB 版本:7.2.0 + TiDB Lightning - - 优化导入过程中的重试机制,避免因 leader 切换而导致的错误 [#44478](https://github.com/pingcap/tidb/issues/44263) @[lance6716](https://github.com/lance6716) - - 导入完成后通过 SQL 的方式校验 checksum,提升检验的稳定性 [#41941](https://github.com/pingcap/tidb/issues/41941) @[GMHDBJD](https://github.com/GMHDBJD) + - 优化导入数据过程中的重试机制,避免因 leader 切换而导致的错误 [#44478](https://github.com/pingcap/tidb/issues/44263) @[lance6716](https://github.com/lance6716) + - 数据导入完成后使用 SQL 方式校验 checksum,提升数据校验的稳定性 [#41941](https://github.com/pingcap/tidb/issues/41941) @[GMHDBJD](https://github.com/GMHDBJD) - 优化导入宽表时 TiDB Lightning 发生 OOM 的问题 [#43853](https://github.com/pingcap/tidb/issues/43853) @[D3Hunter](https://github.com/D3Hunter) ## 错误修复 From 5ccdf468ea0f2041d146bb1e767c7e2f74626ade Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Tue, 27 Jun 2023 11:50:59 +0800 Subject: [PATCH 094/121] Apply suggestions from code review Co-authored-by: Ran --- releases/release-7.2.0.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index beb5b6420aa6..7674f3317add 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -241,12 +241,12 @@ TiDB 版本:7.2.0 + TiCDC - 优化同步到对象存储场景下发生 DDL 时存放数据文件目录的结构 [#8891](https://github.com/pingcap/tiflow/issues/8891) @[CharlesCheung96](https://github.com/CharlesCheung96) - - 增加在 Kafka 场景下支持 OAUTHBEARER 认证方式 [#8865](https://github.com/pingcap/tiflow/issues/8865) @[hi-rustin](https://github.com/hi-rustin) - - 增加同步到 Kafka 场景下,对于 `DELETE` 操作,支持选择只输出 Handle Key [#9143](https://github.com/pingcap/tiflow/issues/9143) @[3AceShowHand](https://github.com/3AceShowHand) + - 在同步到 Kafka 场景下,支持 OAUTHBEARER 认证方式 [#8865](https://github.com/pingcap/tiflow/issues/8865) @[hi-rustin](https://github.com/hi-rustin) + - 在同步到 Kafka 场景下,对于 `DELETE` 操作,支持选择只输出 Handle Key [#9143](https://github.com/pingcap/tiflow/issues/9143) @[3AceShowHand](https://github.com/3AceShowHand) + TiDB Data Migration (DM) - - 支持 MySQL 8.0 压缩 binlog 的增量同步 [#6381](https://github.com/pingcap/tiflow/issues/6381) @[dveeden](https://github.com/dveeden) + - 支持读取 MySQL 8.0 中的压缩 binlog 作为增量同步的数据源 [#6381](https://github.com/pingcap/tiflow/issues/6381) @[dveeden](https://github.com/dveeden) + TiDB Lightning @@ -315,9 +315,9 @@ TiDB 版本:7.2.0 - 修复在某些特殊情况下 Resolved TS 不能正常推进的问题 [#8963](https://github.com/pingcap/tiflow/issues/8963) @[CharlesCheung96](https://github.com/CharlesCheung96) - 修复使用 Avro 或 CSV 协议场景下 `UPDATE` 操作不能输出旧值的问题 [#9086](https://github.com/pingcap/tiflow/issues/9086) @[3AceShowHand](https://github.com/3AceShowHand) - 修复同步到 Kafka 场景下,读取下游 Metadata 太频繁导致下游压力过大的问题 [#8959](https://github.com/pingcap/tiflow/issues/8959) @[hi-rustin](https://github.com/hi-rustin) - - 修复同步到 TiDB 或 MySQL 场景下,频繁设置下游 BDR 相关变量导致下游日志过多的问题 [#9180](https://github.com/pingcap/tiflow/issues/9180) @[asddongmen](https://github.com/asddongmen) + - 修复同步到 TiDB 或 MySQL 场景下,频繁设置下游双向复制相关变量导致下游日志过多的问题 [#9180](https://github.com/pingcap/tiflow/issues/9180) @[asddongmen](https://github.com/asddongmen) - 修复 PD 节点宕机导致 TiCDC 节点重启的问题 [#8868](https://github.com/pingcap/tiflow/issues/8868) @[asddongmen](https://github.com/asddongmen) - - 修复 TiCDC 同步到 KOP 时不能正确建立链接的问题 [#8892](https://github.com/pingcap/tiflow/issues/8892) @[hi-rustin](https://github.com/hi-rustin) + - 修复 TiCDC 同步到 Kafka-on-Pulsar 时不能正确建立连接的问题 [#8892](https://github.com/pingcap/tiflow/issues/8892) @[hi-rustin](https://github.com/hi-rustin) + TiDB Lightning From 803fb2a272508bac174c9be13c2e0c08bfbbc734 Mon Sep 17 00:00:00 2001 From: Roger Song Date: Tue, 27 Jun 2023 12:04:24 +0800 Subject: [PATCH 095/121] lightweight initial stats GA --- releases/release-7.2.0.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 7674f3317add..6242fa594fae 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -116,6 +116,14 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](/optimizer-fix-controls.md)。 +* 轻量统计信息初始化 GA [#42160](https://github.com/pingcap/tidb/issues/42160) @[xuyifangreeneyes](https://github.com/xuyifangreeneyes) + + 轻量统计信息初始化自 v7.2.0 成为正式功能。轻量级的统计信息初始化可以大幅减少启动时必须加载的统计信息的数量,从而提升启动过程中统计信息的加载速度。该功能提升了 TiDB 在复杂运行环境下的稳定性,并降低了部分 TiDB 节点重启对整体服务的影响。 + + 从 v7.2.0 开始,新建集群默认加载轻量统计信息,TiDB 在初始统计信息加载完成前不对外提供服务。从旧版本升级的集群,可通过修改 TiDB 配置参数 [`lite-init-stats`](/tidb-configuration-file.md#lite-init-stats-从-v710-版本开始引入) 和 [`force-init-stats`](/tidb-configuration-file.md#force-init-stats-从-v710-版本开始引入) 手工开启。 + + 更多信息,请参考[用户文档](/statistics.md#统计信息的加载)。 + ### SQL 功能 * 支持 `CHECK` 约束 [#41711](https://github.com/pingcap/tidb/issues/41711) @[fzzf678](https://github.com/fzzf678) **tw@qiancai** From 8a6de6d7a03fa4a977edd2f9fa70a56dc664f14b Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 27 Jun 2023 13:56:47 +0800 Subject: [PATCH 096/121] Update releases/release-7.2.0.md --- releases/release-7.2.0.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 6242fa594fae..0853941a4e8d 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -204,10 +204,6 @@ TiDB 版本:7.2.0 | TiCDC | [`sink.protocol`](/ticdc/ticdc-changefeed-config.md) | 修改 | 扩展下游类型是 Kafka 时的可选值范围:增加 `"open-protocol"`。用于指定编码消息时使用的格式协议。| | TiCDC | [`sink.delete-only-output-handle-key-columns`](/ticdc/ticdc-changefeed-config.md) | 新增 | 指定 Delete 事件的输出内容,只对 canal-json 和 open-protocol 协议有效。默认值为 false,即输出所有列的内容。当设置为 true 时,只输出主键列,或唯一索引列的内容。 | -## 废弃功能 - -- note [#issue](链接) @[贡献者 GitHub ID](链接) - ## 改进提升 From 48c91973d360c88f48f263e5279278e51331a8a7 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 27 Jun 2023 14:52:56 +0800 Subject: [PATCH 097/121] Apply suggestions from code review Co-authored-by: Aolin --- releases/release-7.2.0.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 0853941a4e8d..20a5438a0632 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -55,7 +55,7 @@ TiDB 版本:7.2.0 * `FIRST_VALUE` * `LAST_VALUE` -* TiFlash 支持 Pipeline 执行模型(实验特性) [#6518](https://github.com/pingcap/tiflash/issues/6518) @[SeaRise](https://github.com/SeaRise) **tw@ran-huang** +* TiFlash 支持 Pipeline 执行模型(实验特性)[#6518](https://github.com/pingcap/tiflash/issues/6518) @[SeaRise](https://github.com/SeaRise) **tw@ran-huang** 在 v7.2.0 版本之前,TiFlash 引擎中各个任务在执行时,需要自行申请线程资源。TiFlash 引擎通过控制任务数的方式限制线程资源使用,以避免线程资源超用,但并不能完全避免此问题。因此,在 v7.2.0 中,TiFlash 引入 Pipeline 执行模型,对所有线程资源进行统一管理,并对所有任务的执行进行统一调度,充分利用线程资源,同时避免资源超用。新增系统变量 [`tidb_enable_tiflash_pipeline_model`](/system-variables.md#tidb_enable_tiflash_pipeline_model) 用于设置是否启用 Pipeline 执行模型。 @@ -270,20 +270,20 @@ TiDB 版本:7.2.0 - 修复由于 Coprocessor task 中 `TxnScope` 缺失导致 Stale Read 全局优化不生效的问题 [#43365](https://github.com/pingcap/tidb/issues/43365) @[you06](https://github.com/you06) - 修复 follower read 未处理 flashback 错误而进行重试,导致查询报错的问题 [#43673](https://github.com/pingcap/tidb/issues/43673) @[you06](https://github.com/you06) - - 修复 `ON UPDATE` 语句没有正确更新 primary key 导致数据索引不一致问题 [#44565](https://github.com/pingcap/tidb/issues/44565) @[zyguan](https://github.com/zyguan) - - 修改 UNIX_TIMESTAMP 函数的上限为 `3001-01-19 03:14:07.999999 UTC`,与 MySQL 8.0.28+ 保持一致 [#43987](https://github.com/pingcap/tidb/issues/43987) @[YangKeao](https://github.com/YangKeao) + - 修复 `ON UPDATE` 语句没有正确更新主键导致数据索引不一致的问题 [#44565](https://github.com/pingcap/tidb/issues/44565) @[zyguan](https://github.com/zyguan) + - 修改 `UNIX_TIMESTAMP()` 函数的上限为 `3001-01-19 03:14:07.999999 UTC`,与 MySQL 8.0.28+ 保持一致 [#43987](https://github.com/pingcap/tidb/issues/43987) @[YangKeao](https://github.com/YangKeao) - 修复在 ingest 模式下创建索引失败的问题 [#44137](https://github.com/pingcap/tidb/issues/44137) @[tangenta](https://github.com/tangenta) - 修复取消处于 rollback 状态的 DDL 任务导致相关元数据出错的问题 [#44143](https://github.com/pingcap/tidb/issues/44143) @[wjhuang2016](https://github.com/wjhuang2016) - 修复 `memTracker` 配合 cursor fetch 使用导致内存泄漏的问题 [#44254](https://github.com/pingcap/tidb/issues/44254) @[YangKeao](https://github.com/YangKeao) - - 修复删除 database 导致 GC 推进慢的问题 [#33069](https://github.com/pingcap/tidb/issues/33069) @[tiancaiamao](https://github.com/tiancaiamao) - - 修复分区表在 Index join 的 probe 阶段找不到对应行而报错的问题 [#43686](https://github.com/pingcap/tidb/issues/43686) @[AilinKid](https://github.com/AilinKid) @[mjonss](https://github.com/mjonss) + - 修复删除数据库导致 GC 推进慢的问题 [#33069](https://github.com/pingcap/tidb/issues/33069) @[tiancaiamao](https://github.com/tiancaiamao) + - 修复分区表在 Index Join 的 probe 阶段找不到对应行而报错的问题 [#43686](https://github.com/pingcap/tidb/issues/43686) @[AilinKid](https://github.com/AilinKid) @[mjonss](https://github.com/mjonss) - 修复在创建分区表时使用 `SUBPARTITION` 没有警告提醒的问题 [#41198](https://github.com/pingcap/tidb/issues/41198) [#41200](https://github.com/pingcap/tidb/issues/41200) @[mjonss](https://github.com/mjonss) - - 修复了执行时间超过 `MAX_EXECUTION_TIME` 的 query 被 kill 时的返回值和 MySQL 不一致的问题 [#43031](https://github.com/pingcap/tidb/issues/43031) @[dveeden](https://github.com/dveeden) - - 修复了 `LEADING` hint 不支持查询块别名 (query block alias) 的问题 [#44645](https://github.com/pingcap/tidb/issues/44645) @[qw4990](https://github.com/qw4990) - - 修复 `LAST_INSERT_ID()` 函数的返回类型,从 VARCHAR 变更为 LONGLONG,与 MySQL 一致 [#44574](https://github.com/pingcap/tidb/issues/44574) @[Defined2014](https://github.com/Defined2014) - - 修复当公共表表达式 (CTE) 多次被非关联子查询引用时,因过滤条件下推导致结果有误的问题 [#44051](https://github.com/pingcap/tidb/issues/44051) @[winoros](https://github.com/winoros) - - 修复了 outer join reorder 对 condition 的错误处理导致结果有误的问题 [#44314] (https://github.com/pingcap/tidb/issues/44314) @[AilinKid](https://github.com/AilinKid) - - 修复了 `PREPARE stmt FROM "analyze table xxx"` 会被 `tidb_mem_quota_query` kill 掉的问题 [#44320](https://github.com/pingcap/tidb/issues/44320) @[chrysan](https://github.com/chrysan) + - 修复了执行时间超过 `MAX_EXECUTION_TIME` 的 query 被 kill 时的报错信息和 MySQL 不一致的问题 [#43031](https://github.com/pingcap/tidb/issues/43031) @[dveeden](https://github.com/dveeden) + - 修复了 `LEADING` hint 不支持查询块别名 (query block alias) 的问题 [#44645](https://github.com/pingcap/tidb/issues/44645) @[qw4990](https://github.com/qw4990) + - 修复 `LAST_INSERT_ID()` 函数的返回类型,从 VARCHAR 变更为 LONGLONG,与 MySQL 一致 [#44574](https://github.com/pingcap/tidb/issues/44574) @[Defined2014](https://github.com/Defined2014) + - 修复在带有非关联子查询的语句中使用公共表表达式 (CTE) 可能导致结果错误的问题 [#44051](https://github.com/pingcap/tidb/issues/44051) @[winoros](https://github.com/winoros) + - 修复 Join Reorder 可能会造成 Outer Join 结果错误的问题 [#44314](https://github.com/pingcap/tidb/issues/44314) @[AilinKid](https://github.com/AilinKid) + - 修复了 `PREPARE stmt FROM "ANALYZE TABLE xxx"` 会被 `tidb_mem_quota_query` kill 掉的问题 [#44320](https://github.com/pingcap/tidb/issues/44320) @[chrysan](https://github.com/chrysan) From e70be72590cb01a65f05fc54c200264c2e6e4db5 Mon Sep 17 00:00:00 2001 From: Aolin Date: Tue, 27 Jun 2023 15:46:47 +0800 Subject: [PATCH 098/121] Apply suggestions from code review Co-authored-by: Grace Cai --- releases/release-7.2.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 20a5438a0632..646c82aa2df1 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -223,7 +223,7 @@ TiDB 版本:7.2.0 + TiKV - - 支持通过 `pd.retry-interval` 配置请求失败等场景下 PD 连接的重试间隔 [#14964](https://github.com/tikv/tikv/issues/14964) @[rleungx](https://github.com/rleungx) + - 支持通过 `pd.retry-interval` 配置在连接请求失败等场景下 PD 连接的重试间隔 [#14964](https://github.com/tikv/tikv/issues/14964) @[rleungx](https://github.com/rleungx) - 优化资源管控调度算法,将全局的资源使用量作为调度因素 [#14604](https://github.com/tikv/tikv/issues/14604) @[Connor1996](https://github.com/Connor1996) - 使用 gzip 压缩 `check_leader` 请求以减少流量 [#14553](https://github.com/tikv/tikv/issues/14553) @[you06](https://github.com/you06) - 为 `check_leader` 请求增加相关监控项 [#14658](https://github.com/tikv/tikv/issues/14658) @[you06](https://github.com/you06) @@ -233,7 +233,7 @@ TiDB 版本:7.2.0 + PD - - PD Leader 选举使用单独的 gRPC 链接,防止受到其他请求的影响 [#6403](https://github.com/tikv/pd/issues/6403) @[rleungx](https://github.com/rleungx) + - PD Leader 选举使用单独的 gRPC 连接,防止受到其他请求的影响 [#6403](https://github.com/tikv/pd/issues/6403) @[rleungx](https://github.com/rleungx) - 默认开启 bucket split 以改善多 Region 的热点问题 [#6433](https://github.com/tikv/pd/issues/6433) @[bufferflies](https://github.com/bufferflies) + Tools From d4d624b9297f5069379a6becdfa66c3c6219a2b6 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 27 Jun 2023 16:29:54 +0800 Subject: [PATCH 099/121] Apply suggestions from code review --- releases/release-7.2.0.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 646c82aa2df1..ea006af29f66 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -24,24 +24,23 @@ TiDB 版本:7.2.0 可扩展性与性能 - 资源组支持管理资源消耗超出预期的查询(实验特性) + 资源组支持管理资源消耗超出预期的查询(实验特性) 资源组可以通过降低优先级或终止查询来管理超出预期执行时间的查询。通过该功能,你可以在资源组级别设置查询的最长执行时间,并指定当查询超出此设置值时需要 TiDB 采取的操作,从而更好地控制超出预期长时间运行的查询对集群的影响。 - TiFlash 支持 Pipeline 执行模型(实验特性) - TiFlash 支持 Pipeline 执行模型,优化对线程资源的控制。 -当前,TiDB Serverless 的分析能力依赖于此功能。 + TiFlash 支持 Pipeline 执行模型(实验特性) + TiFlash 支持 Pipeline 执行模型,优化对线程资源的控制。 SQL - 支持新的 SQL 语句 `IMPORT INTO`, 可以通过 TiDB 进行数据导入 (实验特性) + 支持新的 SQL 语句 `IMPORT INTO`, 可以通过 TiDB 进行数据导入 (实验特性) TiDB 引入了一个新的 SQL 语句 `IMPORT INTO`。该语句集成了 TiDB Lightning 的物理导入模式的能力,使你无需单独部署和管理 TiDB Lightning 即可导入数据文件到 TiDB 中。例如,通过该语句,你可以直接从 Amazon S3 远程导入数据到 TiDB 中。 数据库管理与可观测性 - DDL 任务支持暂停和恢复操作(实验特性) - DDL 操作(如添加索引)可能消耗大量资源并影响业务负载。与传统的 schema 更改工具(如 pt-osc 和 gh-ost)类似,TiDB 现在原生支持同时暂停多个后台 DDL 任务。该功能可以帮助你节省资源并最小化 DDL 操作对业务负载的影响,而无需取消和重新启动 DDL 任务。 + DDL 任务支持暂停和恢复操作(实验特性) + DDL 操作(如添加索引)可能消耗大量资源并影响业务负载。受传统的 schema 更改工具(如 pt-osc 和 gh-ost)功能启发,TiDB 现在原生支持同时暂停多个后台 DDL 任务。该功能可以帮助你节省资源并最小化 DDL 操作对业务负载的影响,而无需取消和重新启动 DDL 任务。 From 3aab3a283aa9aaf8ed03baaa5bdd4dbf66f06204 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 27 Jun 2023 16:30:10 +0800 Subject: [PATCH 100/121] Update releases/release-7.2.0.md --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index ea006af29f66..317387ab45d6 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -25,7 +25,7 @@ TiDB 版本:7.2.0 可扩展性与性能 资源组支持管理资源消耗超出预期的查询(实验特性) - 资源组可以通过降低优先级或终止查询来管理超出预期执行时间的查询。通过该功能,你可以在资源组级别设置查询的最长执行时间,并指定当查询超出此设置值时需要 TiDB 采取的操作,从而更好地控制超出预期长时间运行的查询对集群的影响。 + 通过此功能,你可以更细粒度地管理执行时间超时的查询,根据查询的不同类型实现不同的行为。符合指定阈值的查询将按照你的设置被降低优先级或者终止执行。 From 00e67dcd0a0c40d23bba0c34f72759a7337fe272 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 27 Jun 2023 19:57:35 +0800 Subject: [PATCH 101/121] Apply suggestions from code review Co-authored-by: joey-yez <104608045+joey-yez@users.noreply.github.com> Co-authored-by: bob34007 <88366491+bob34007@users.noreply.github.com> Co-authored-by: Xiaoju Wu --- releases/release-7.2.0.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 317387ab45d6..3636bab7866c 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -64,7 +64,7 @@ TiDB 版本:7.2.0 当表的 schema 发生变化时,TiFlash 需要及时从 TiKV 同步新的表结构信息。在 v7.2.0 之前,当 TiFlash 访问表数据时,只要检测到数据库中某张表的 schema 发生了变化,TiFlash 就会重新同步该数据库中所有表的 schema 信息。即使一张表没有 TiFlash 副本,TiFlash 也会同步该表的 schema 信息。当数据库中有大量表时,通过 TiFlash 只读取一张表的数据也可能因为需要等待所有表的 schema 信息同步完成而造成较高的时延。 - 在 v7.2.0 中,TiFlash 优化了 schema 的同步机制,只同步拥有 TiFlash 副本的表的 schema 信息。当检测到某张有 TiFlash 副本的表的 schema 有变化时,TiFlash 只同步该表的 schema 信息,从而降低了 TiFlash 同步 schema 的时延。该优化自动生效,无须任何设置。 + 在 v7.2.0 中,TiFlash 优化了 schema 的同步机制,只同步拥有 TiFlash 副本的表的 schema 信息。当检测到某张有 TiFlash 副本的表的 schema 有变化时,TiFlash 只同步该表的 schema 信息,从而降低了 TiFlash 同步 schema 的时延,同时减少了 DDL 操作对于 TiFlash 同步数据的影响。该优化自动生效,无须任何设置。 * 提升统计信息收集的性能 [#44725](https://github.com/pingcap/tidb/issues/44725) @[xuyifangreeneyes](https://github.com/xuyifangreeneyes) **tw@hfxsd** @@ -129,6 +129,8 @@ TiDB 版本:7.2.0 从 v7.2.0 开始,你可以通过 `CHECK` 约束限制表中的一个或者多个字段值必须满足特定的条件。当为表添加 `CHECK` 约束后,在插入或者更新表的数据时,TiDB 会先检查约束条件是否满足,只允许满足约束的数据写入。 + 该功能默认关闭,你可以通过将变量 [`tidb_enable_check_constraint`](/system-variables.md#tidb_enable_check_constraint-从-v720-版本开始引入) 设置为 `ON` 开启该功能。 + 更多信息,请参考[用户文档](/constraints.md#check-约束)。 ### 数据库管理 @@ -186,13 +188,16 @@ TiDB 版本:7.2.0 | [`tidb_enable_fast_table_check`](/system-variables.md#tidb_enable_fast_table_check-从-v720-版本开始引入) | 新增 | 这个变量用于控制是否使用基于校验和的方式来快速检查表中数据和索引的一致性。默认值 `ON` 表示该功能默认开启。 | | [`tidb_enable_tiflash_pipeline_model`](/system-variables.md#tidb_enable_tiflash_pipeline_model-从-v720-版本开始引入) | 新增 | 这个变量用来控制是否启用 TiFlash 新的执行模型 [Pipeline Model](/tiflash/tiflash-pipeline-model.md),默认值为 `OFF`,即关闭 Pipeline Model。 | | [`tidb_expensive_txn_time_threshold`](/system-variables.md#tidb_expensive_txn_time_threshold-从-v720-版本开始引入) | 新增 | 控制打印 expensive transaction 日志的阈值时间,默认值是 600 秒。expensive transaction 日志会将尚未 COMMIT 或 ROLLBACK 且持续时间超过该阈值的事务的相关信息打印出来。 | +| [`tidb_enable_non_prepared_plan_cache`](/system-variables.md#tidb_enable_non_prepared_plan_cache) | 修改 | 经进一步的测试后,该变量默认值从 `OFF` 修改为 `ON`,即默认开启非 Prepare 语句执行计划缓存。 | +| [`tidb_enable_check_constraint`](/system-variables.md#tidb_enable_check_constraint-从-v720-版本开始引入) | 新增 | 这个变量用于控制`CHECK` 约束功能是否开启。默认值为 `OFF` 表示该功能默认关闭。 | ### 配置文件参数 | 配置文件 | 配置项 | 修改类型 | 描述 | | -------- | -------- | -------- | -------- | -| TiDB | [`force-init-stats`](/tidb-configuration-file.md#force-init-stats-从-v710-版本开始引入) | 修改 | 默认值从 `false` 修改为 `true`,表示 TiDB 启动时默认会在完成统计信息初始化后再对外提供服务。 | -| TiDB | [`lite-init-stats`](/tidb-configuration-file.md#lite-init-stats-从-v710-版本开始引入) | 修改 | 默认值从 `false` 修改为 `true`,表示 TiDB 启动时默认将采用轻量级的统计信息初始化。 | +| TiDB | [`lite-init-stats`](/tidb-configuration-file.md#lite-init-stats-从-v710-版本开始引入) | 修改 | 经进一步的测试后,默认值从 `false` 修改为 `true`,表示 TiDB 启动时默认将采用轻量级的统计信息初始化,以提高启动时统计信息初始化的效率。 | +| TiDB | [`force-init-stats`](/tidb-configuration-file.md#force-init-stats-从-v710-版本开始引入) | 修改 | 配合 `lite-init-stats`,默认值从 `false` 修改为 `true`,表示 TiDB 启动时默认会在完成统计信息初始化后再对外提供服务。 | + | TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].compaction-guard-min-output-file-size](/tikv-configuration-file.md#compaction-guard-min-output-file-size) | 修改 | 为减小 RocksDB 中 compaction 任务的数据量,该变量默认值从 `"8MB"` 修改为 `"1MB"`。 | | TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].optimize-filters-for-memory](/tikv-configuration-file.md#optimize-filters-for-memory-从-v710-版本开始引入) | 新增 | 控制是否生成能够最小化内存碎片的 Bloom/Ribbon filter。 | | TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].ribbon-filter-above-level](/tikv-configuration-file.md#ribbon-filter-above-level-从-v710-版本开始引入) | 新增 | 控制是否对于大于等于该值的 level 使用 Ribbon filter,对于小于该值的 level,使用非 block-based bloom filter。 | From 1440aa11d36519eb5b92ca4237fff91427873684 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 27 Jun 2023 21:31:52 +0800 Subject: [PATCH 102/121] Update releases/release-7.2.0.md --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 3636bab7866c..b66686a034b3 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -308,7 +308,7 @@ TiDB 版本:7.2.0 + TiFlash - - 修复在 join 操作的 build 侧数据量很大且含有大量短字符串时内存消耗过大的问题 [#7416](https://github.com/pingcap/tiflash/issues/7416) @[yibin87](https://github.com/yibin87) + - 修复查询在 Join build 侧数据非常大,且包含许多小型字符串类型列时,消耗的内存可能会超过实际需要的问题 [#7416](https://github.com/pingcap/tiflash/issues/7416) @[yibin87](https://github.com/yibin87) + Tools From 49ecc1fcf627d89ef822ba05cb0681aaf14cbf0d Mon Sep 17 00:00:00 2001 From: qiancai Date: Tue, 27 Jun 2023 21:49:36 +0800 Subject: [PATCH 103/121] adjust the order of system variables --- releases/release-7.2.0.md | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index b66686a034b3..a59b4b7d26c5 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -170,26 +170,18 @@ TiDB 版本:7.2.0 > > 以下为从 v7.1.0 升级至当前版本 (v7.2.0) 所需兼容性变更信息。如果从 v7.0.0 或之前版本升级到当前版本,可能也需要考虑和查看中间版本 release notes 中提到的兼容性变更信息。 -### 行为变更 - - - -* 兼容性 1 - -* 兼容性 2 - ### 系统变量 | 变量名 | 修改类型 | 描述 | |--------|------------------------------|------| | [`last_insert_id`](/system-variables.md#last_insert_id-从-v530-版本开始引入) | 修改 | 该变量的最大值从 `9223372036854775807` 修改为 `18446744073709551615`,和 MySQL 保持一致。 | +| [`tidb_enable_non_prepared_plan_cache`](/system-variables.md#tidb_enable_non_prepared_plan_cache) | 修改 | 经进一步的测试后,该变量默认值从 `OFF` 修改为 `ON`,即默认开启非 Prepare 语句执行计划缓存。 | | [`tidb_remove_orderby_in_subquery`](/system-variables.md#tidb_remove_orderby_in_subquery-从-v610-版本开始引入) | 修改 | 经进一步的测试后,该变量默认值从 `OFF` 修改为 `ON`,即优化器改写会移除子查询中的 `ORDER BY` 子句。 | | [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) | 新增 | 这个变量表示在执行 `ANALYZE` 命令收集统计信息时,跳过哪些类型的列的统计信息收集。该变量仅适用于 [`tidb_analyze_version = 2`](#tidb_analyze_version-从-v510-版本开始引入) 的情况。使用 `ANALYZE TABLE t COLUMNS c1, ..., cn` 语法时,如果指定的列的类型在 `tidb_analyze_skip_column_types` 中,则不会收集该列的统计信息。 | +| [`tidb_enable_check_constraint`](/system-variables.md#tidb_enable_check_constraint-从-v720-版本开始引入) | 新增 | 这个变量用于控制`CHECK` 约束功能是否开启。默认值为 `OFF` 表示该功能默认关闭。 | | [`tidb_enable_fast_table_check`](/system-variables.md#tidb_enable_fast_table_check-从-v720-版本开始引入) | 新增 | 这个变量用于控制是否使用基于校验和的方式来快速检查表中数据和索引的一致性。默认值 `ON` 表示该功能默认开启。 | | [`tidb_enable_tiflash_pipeline_model`](/system-variables.md#tidb_enable_tiflash_pipeline_model-从-v720-版本开始引入) | 新增 | 这个变量用来控制是否启用 TiFlash 新的执行模型 [Pipeline Model](/tiflash/tiflash-pipeline-model.md),默认值为 `OFF`,即关闭 Pipeline Model。 | | [`tidb_expensive_txn_time_threshold`](/system-variables.md#tidb_expensive_txn_time_threshold-从-v720-版本开始引入) | 新增 | 控制打印 expensive transaction 日志的阈值时间,默认值是 600 秒。expensive transaction 日志会将尚未 COMMIT 或 ROLLBACK 且持续时间超过该阈值的事务的相关信息打印出来。 | -| [`tidb_enable_non_prepared_plan_cache`](/system-variables.md#tidb_enable_non_prepared_plan_cache) | 修改 | 经进一步的测试后,该变量默认值从 `OFF` 修改为 `ON`,即默认开启非 Prepare 语句执行计划缓存。 | -| [`tidb_enable_check_constraint`](/system-variables.md#tidb_enable_check_constraint-从-v720-版本开始引入) | 新增 | 这个变量用于控制`CHECK` 约束功能是否开启。默认值为 `OFF` 表示该功能默认关闭。 | ### 配置文件参数 @@ -197,7 +189,6 @@ TiDB 版本:7.2.0 | -------- | -------- | -------- | -------- | | TiDB | [`lite-init-stats`](/tidb-configuration-file.md#lite-init-stats-从-v710-版本开始引入) | 修改 | 经进一步的测试后,默认值从 `false` 修改为 `true`,表示 TiDB 启动时默认将采用轻量级的统计信息初始化,以提高启动时统计信息初始化的效率。 | | TiDB | [`force-init-stats`](/tidb-configuration-file.md#force-init-stats-从-v710-版本开始引入) | 修改 | 配合 `lite-init-stats`,默认值从 `false` 修改为 `true`,表示 TiDB 启动时默认会在完成统计信息初始化后再对外提供服务。 | - | TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].compaction-guard-min-output-file-size](/tikv-configuration-file.md#compaction-guard-min-output-file-size) | 修改 | 为减小 RocksDB 中 compaction 任务的数据量,该变量默认值从 `"8MB"` 修改为 `"1MB"`。 | | TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].optimize-filters-for-memory](/tikv-configuration-file.md#optimize-filters-for-memory-从-v710-版本开始引入) | 新增 | 控制是否生成能够最小化内存碎片的 Bloom/Ribbon filter。 | | TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].ribbon-filter-above-level](/tikv-configuration-file.md#ribbon-filter-above-level-从-v710-版本开始引入) | 新增 | 控制是否对于大于等于该值的 level 使用 Ribbon filter,对于小于该值的 level,使用非 block-based bloom filter。 | @@ -259,8 +250,8 @@ TiDB 版本:7.2.0 + TiDB Lightning - 优化导入数据过程中的重试机制,避免因 leader 切换而导致的错误 [#44478](https://github.com/pingcap/tidb/issues/44263) @[lance6716](https://github.com/lance6716) - - 数据导入完成后使用 SQL 方式校验 checksum,提升数据校验的稳定性 [#41941](https://github.com/pingcap/tidb/issues/41941) @[GMHDBJD](https://github.com/GMHDBJD) - - 优化导入宽表时 TiDB Lightning 发生 OOM 的问题 [#43853](https://github.com/pingcap/tidb/issues/43853) @[D3Hunter](https://github.com/D3Hunter) + - 数据导入完成后使用 SQL 方式校验 checksum,提升数据校验的稳定性 [#41941](https://github.com/pingcap/tidb/issues/41941) @[GMHDBJD](https://github.com/GMHDBJD) + - 优化导入宽表时 TiDB Lightning 发生 OOM 的问题 [#43853](https://github.com/pingcap/tidb/issues/43853) @[D3Hunter](https://github.com/D3Hunter) ## 错误修复 From 32dc543d83229482a62a274b30b59f27075d441a Mon Sep 17 00:00:00 2001 From: qiancai Date: Wed, 28 Jun 2023 01:25:50 +0800 Subject: [PATCH 104/121] add two new TiKV parameters --- releases/release-7.2.0.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index a59b4b7d26c5..be72fdf8a8c6 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -190,8 +190,10 @@ TiDB 版本:7.2.0 | TiDB | [`lite-init-stats`](/tidb-configuration-file.md#lite-init-stats-从-v710-版本开始引入) | 修改 | 经进一步的测试后,默认值从 `false` 修改为 `true`,表示 TiDB 启动时默认将采用轻量级的统计信息初始化,以提高启动时统计信息初始化的效率。 | | TiDB | [`force-init-stats`](/tidb-configuration-file.md#force-init-stats-从-v710-版本开始引入) | 修改 | 配合 `lite-init-stats`,默认值从 `false` 修改为 `true`,表示 TiDB 启动时默认会在完成统计信息初始化后再对外提供服务。 | | TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].compaction-guard-min-output-file-size](/tikv-configuration-file.md#compaction-guard-min-output-file-size) | 修改 | 为减小 RocksDB 中 compaction 任务的数据量,该变量默认值从 `"8MB"` 修改为 `"1MB"`。 | -| TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].optimize-filters-for-memory](/tikv-configuration-file.md#optimize-filters-for-memory-从-v710-版本开始引入) | 新增 | 控制是否生成能够最小化内存碎片的 Bloom/Ribbon filter。 | -| TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].ribbon-filter-above-level](/tikv-configuration-file.md#ribbon-filter-above-level-从-v710-版本开始引入) | 新增 | 控制是否对于大于等于该值的 level 使用 Ribbon filter,对于小于该值的 level,使用非 block-based bloom filter。 | +| TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].optimize-filters-for-memory](/tikv-configuration-file.md#optimize-filters-for-memory-从-v720-版本开始引入) | 新增 | 控制是否生成能够最小化内存碎片的 Bloom/Ribbon filter。 | +| TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].periodic-compaction-seconds](/tikv-configuration-file.md#periodic-compaction-seconds-从-v720-版本开始引入) | 新增 | 控制周期性 compaction 的时间,修改时间超过此值的 SST 文件将被选中进行 compaction,并被重新写入这些 SST 文件所在的层级。 | +| TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].ribbon-filter-above-level](/tikv-configuration-file.md#ribbon-filter-above-level-从-v720-版本开始引入) | 新增 | 控制是否对于大于等于该值的 level 使用 Ribbon filter,对于小于该值的 level,使用非 block-based bloom filter。 | +| TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].ttl](/tikv-configuration-file.md#ttl-从-v720-版本开始引入) | 新增 | 设置 SST 文件被自动选中执行 compaction 的 TTL 时间。更新时间超过 TTL 的 SST 文件将被选中并进行 compaction。 | | TiDB Lightning | `send-kv-pairs` | 废弃 | 从 v7.2.0 版本开始,`send-kv-pairs` 不再生效。你可以使用新参数 [`send-kv-size`](/tidb-lightning/tidb-lightning-configuration.md) 来指定物理导入模式下向 TiKV 发送数据时一次请求的最大大小。**tw@hfxsd** | | TiDB Lightning | [`character-set`](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-任务配置) | 修改 | 扩展支持导入的字符集,新增 `latin1` 选项,用于导入字符集为 latin1 的源文件。| | TiDB Lightning | [`send-kv-size`](/tidb-lightning/tidb-lightning-configuration.md) | 新增 | 用于设置单次发送到 TiKV 的键值对的大小。当键值对的大小达到设定的阈值时,它们将被 TiDB Lightning 立即发送到 TiKV,避免在导入大宽表的时候由于 TiDB Lightning 节点内存积累键值对过多导致 OOM 的问题。通过调整该参数,你可以在内存使用和导入速度之间找到平衡,提高导入过程的稳定性和效率。**tw@hfxsd** | From ed5186fb7b2e879f45c4249ca374f2bc69b492f5 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 28 Jun 2023 09:16:43 +0800 Subject: [PATCH 105/121] Apply suggestions from code review --- releases/release-7.2.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index be72fdf8a8c6..c9377d634b21 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -115,11 +115,11 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](/optimizer-fix-controls.md)。 -* 轻量统计信息初始化 GA [#42160](https://github.com/pingcap/tidb/issues/42160) @[xuyifangreeneyes](https://github.com/xuyifangreeneyes) +* 轻量统计信息初始化 GA [#42160](https://github.com/pingcap/tidb/issues/42160) @[xuyifangreeneyes](https://github.com/xuyifangreeneyes) **tw@qiancai** 轻量统计信息初始化自 v7.2.0 成为正式功能。轻量级的统计信息初始化可以大幅减少启动时必须加载的统计信息的数量,从而提升启动过程中统计信息的加载速度。该功能提升了 TiDB 在复杂运行环境下的稳定性,并降低了部分 TiDB 节点重启对整体服务的影响。 - 从 v7.2.0 开始,新建集群默认加载轻量统计信息,TiDB 在初始统计信息加载完成前不对外提供服务。从旧版本升级的集群,可通过修改 TiDB 配置参数 [`lite-init-stats`](/tidb-configuration-file.md#lite-init-stats-从-v710-版本开始引入) 和 [`force-init-stats`](/tidb-configuration-file.md#force-init-stats-从-v710-版本开始引入) 手工开启。 + 从 v7.2.0 起,新建的集群在启动阶段将默认加载轻量级统计信息,并在加载完成后再对外提供服务。对于从旧版本升级上来的集群,可通过修改 TiDB 配置项 [`lite-init-stats`](/tidb-configuration-file.md#lite-init-stats-从-v710-版本开始引入) 和 [`force-init-stats`](/tidb-configuration-file.md#force-init-stats-从-v710-版本开始引入) 为 `true` 开启此功能。 更多信息,请参考[用户文档](/statistics.md#统计信息的加载)。 From ae4045df9e73c31d766f01fc8ba87b980795c234 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 28 Jun 2023 10:35:55 +0800 Subject: [PATCH 106/121] Update releases/release-7.2.0.md --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index c9377d634b21..53f28fb50de7 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -40,7 +40,7 @@ TiDB 版本:7.2.0 数据库管理与可观测性 DDL 任务支持暂停和恢复操作(实验特性) - DDL 操作(如添加索引)可能消耗大量资源并影响业务负载。受传统的 schema 更改工具(如 pt-osc 和 gh-ost)功能启发,TiDB 现在原生支持同时暂停多个后台 DDL 任务。该功能可以帮助你节省资源并最小化 DDL 操作对业务负载的影响,而无需取消和重新启动 DDL 任务。 + 支持暂停消耗资源较大的 DDL 任务(如添加索引),以节省资源并降低对在线负载的影响。当需要执行这些暂停的 DDL 任务时,你可以无缝恢复这些任务,而无需取消并重新开始。此功能可以增强资源利用率,提升使用体验,并简化 schema 更改流程。 From 6eb181e741a977a33cdf6807ad6d882547776adb Mon Sep 17 00:00:00 2001 From: Ran Date: Wed, 28 Jun 2023 10:53:26 +0800 Subject: [PATCH 107/121] Update releases/release-7.2.0.md --- releases/release-7.2.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 53f28fb50de7..7384485a4d8e 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -212,8 +212,8 @@ TiDB 版本:7.2.0 - 当 Stale Read 的 retry leader 遇到 lock 时,resolve lock 之后强制重试 leader,避免无谓开销 [#43659](https://github.com/pingcap/tidb/issues/43659) @[you06](https://github.com/you06) - 使用估计时间计算 Stale Read ts,减少 Stale Read 的开销 [#44215](https://github.com/pingcap/tidb/issues/44215) @[you06](https://github.com/you06) - 添加 long-running 事务日志和系统变量 [#41471](https://github.com/pingcap/tidb/issues/41471) @[crazycs520](https://github.com/crazycs520) - - 支持通过 MySQL 压缩协议连接 TiDB(在连接时加上 `--compress` 选项),提升数据密集型查询在低网络质量下的性能,并节省带宽成本的开销 [#22605](https://github.com/pingcap/tidb/issues/22605) @[dveeden](https://github.com/dveeden) - - 支持将 `utf8` 和 `utf8mb3` 识别为旧的三字节字符集编码 [#26226](https://github.com/pingcap/tidb/issues/26226) @[dveeden](https://github.com/dveeden) + - 支持通过压缩的 MySQL 协议连接 TiDB,提升数据密集型查询在低网络质量下的性能,并节省带宽成本。该功能支持基于 `zlib` 和 `zstd` 的压缩算法 [#22605](https://github.com/pingcap/tidb/issues/22605) @[dveeden](https://github.com/dveeden) + - 支持将 `utf8` 和 `utf8mb3` 识别为旧的三字节 UTF-8 字符集编码,有助于将具有旧字符集编码的表从 MySQL 8.0 迁移到 TiDB [#26226](https://github.com/pingcap/tidb/issues/26226) @[dveeden](https://github.com/dveeden) - 支持在 `UPDATE` 语句中使用 `:=` 进行赋值操作 [#44751](https://github.com/pingcap/tidb/issues/44751) @[CbcWestwolf](https://github.com/CbcWestwolf) From c7cc934767d16952a8f4e270d2364b7a1220acfc Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 28 Jun 2023 15:53:00 +0800 Subject: [PATCH 108/121] Apply suggestions from code review Co-authored-by: Aolin --- releases/release-7.2.0.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 7384485a4d8e..cf582451e01c 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -16,9 +16,9 @@ TiDB 版本:7.2.0 - - - + + + @@ -34,8 +34,8 @@ TiDB 版本:7.2.0 - - + + @@ -178,7 +178,7 @@ TiDB 版本:7.2.0 | [`tidb_enable_non_prepared_plan_cache`](/system-variables.md#tidb_enable_non_prepared_plan_cache) | 修改 | 经进一步的测试后,该变量默认值从 `OFF` 修改为 `ON`,即默认开启非 Prepare 语句执行计划缓存。 | | [`tidb_remove_orderby_in_subquery`](/system-variables.md#tidb_remove_orderby_in_subquery-从-v610-版本开始引入) | 修改 | 经进一步的测试后,该变量默认值从 `OFF` 修改为 `ON`,即优化器改写会移除子查询中的 `ORDER BY` 子句。 | | [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) | 新增 | 这个变量表示在执行 `ANALYZE` 命令收集统计信息时,跳过哪些类型的列的统计信息收集。该变量仅适用于 [`tidb_analyze_version = 2`](#tidb_analyze_version-从-v510-版本开始引入) 的情况。使用 `ANALYZE TABLE t COLUMNS c1, ..., cn` 语法时,如果指定的列的类型在 `tidb_analyze_skip_column_types` 中,则不会收集该列的统计信息。 | -| [`tidb_enable_check_constraint`](/system-variables.md#tidb_enable_check_constraint-从-v720-版本开始引入) | 新增 | 这个变量用于控制`CHECK` 约束功能是否开启。默认值为 `OFF` 表示该功能默认关闭。 | +| [`tidb_enable_check_constraint`](/system-variables.md#tidb_enable_check_constraint-从-v720-版本开始引入) | 新增 | 这个变量用于控制 `CHECK` 约束功能是否开启。默认值 `OFF` 表示该功能默认关闭。 | | [`tidb_enable_fast_table_check`](/system-variables.md#tidb_enable_fast_table_check-从-v720-版本开始引入) | 新增 | 这个变量用于控制是否使用基于校验和的方式来快速检查表中数据和索引的一致性。默认值 `ON` 表示该功能默认开启。 | | [`tidb_enable_tiflash_pipeline_model`](/system-variables.md#tidb_enable_tiflash_pipeline_model-从-v720-版本开始引入) | 新增 | 这个变量用来控制是否启用 TiFlash 新的执行模型 [Pipeline Model](/tiflash/tiflash-pipeline-model.md),默认值为 `OFF`,即关闭 Pipeline Model。 | | [`tidb_expensive_txn_time_threshold`](/system-variables.md#tidb_expensive_txn_time_threshold-从-v720-版本开始引入) | 新增 | 控制打印 expensive transaction 日志的阈值时间,默认值是 600 秒。expensive transaction 日志会将尚未 COMMIT 或 ROLLBACK 且持续时间超过该阈值的事务的相关信息打印出来。 | @@ -187,8 +187,8 @@ TiDB 版本:7.2.0 | 配置文件 | 配置项 | 修改类型 | 描述 | | -------- | -------- | -------- | -------- | -| TiDB | [`lite-init-stats`](/tidb-configuration-file.md#lite-init-stats-从-v710-版本开始引入) | 修改 | 经进一步的测试后,默认值从 `false` 修改为 `true`,表示 TiDB 启动时默认将采用轻量级的统计信息初始化,以提高启动时统计信息初始化的效率。 | -| TiDB | [`force-init-stats`](/tidb-configuration-file.md#force-init-stats-从-v710-版本开始引入) | 修改 | 配合 `lite-init-stats`,默认值从 `false` 修改为 `true`,表示 TiDB 启动时默认会在完成统计信息初始化后再对外提供服务。 | +| TiDB | [`lite-init-stats`](/tidb-configuration-file.md#lite-init-stats-从-v710-版本开始引入) | 修改 | 经进一步的测试后,默认值从 `false` 修改为 `true`,表示 TiDB 启动时默认采用轻量级的统计信息初始化,以提高启动时统计信息初始化的效率。 | +| TiDB | [`force-init-stats`](/tidb-configuration-file.md#force-init-stats-从-v710-版本开始引入) | 修改 | 配合 `lite-init-stats`,默认值从 `false` 修改为 `true`,表示 TiDB 启动时会等到统计信息初始化完成后再对外提供服务。 | | TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].compaction-guard-min-output-file-size](/tikv-configuration-file.md#compaction-guard-min-output-file-size) | 修改 | 为减小 RocksDB 中 compaction 任务的数据量,该变量默认值从 `"8MB"` 修改为 `"1MB"`。 | | TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].optimize-filters-for-memory](/tikv-configuration-file.md#optimize-filters-for-memory-从-v720-版本开始引入) | 新增 | 控制是否生成能够最小化内存碎片的 Bloom/Ribbon filter。 | | TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].periodic-compaction-seconds](/tikv-configuration-file.md#periodic-compaction-seconds-从-v720-版本开始引入) | 新增 | 控制周期性 compaction 的时间,修改时间超过此值的 SST 文件将被选中进行 compaction,并被重新写入这些 SST 文件所在的层级。 | From e02c1dbf4e7b85c09735c5cdc6452f341a64a53f Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 28 Jun 2023 17:31:02 +0800 Subject: [PATCH 109/121] fix a broken link --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index cf582451e01c..3f7b4b20543c 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -56,7 +56,7 @@ TiDB 版本:7.2.0 * TiFlash 支持 Pipeline 执行模型(实验特性)[#6518](https://github.com/pingcap/tiflash/issues/6518) @[SeaRise](https://github.com/SeaRise) **tw@ran-huang** - 在 v7.2.0 版本之前,TiFlash 引擎中各个任务在执行时,需要自行申请线程资源。TiFlash 引擎通过控制任务数的方式限制线程资源使用,以避免线程资源超用,但并不能完全避免此问题。因此,在 v7.2.0 中,TiFlash 引入 Pipeline 执行模型,对所有线程资源进行统一管理,并对所有任务的执行进行统一调度,充分利用线程资源,同时避免资源超用。新增系统变量 [`tidb_enable_tiflash_pipeline_model`](/system-variables.md#tidb_enable_tiflash_pipeline_model) 用于设置是否启用 Pipeline 执行模型。 + 在 v7.2.0 版本之前,TiFlash 引擎中各个任务在执行时,需要自行申请线程资源。TiFlash 引擎通过控制任务数的方式限制线程资源使用,以避免线程资源超用,但并不能完全避免此问题。因此,在 v7.2.0 中,TiFlash 引入 Pipeline 执行模型,对所有线程资源进行统一管理,并对所有任务的执行进行统一调度,充分利用线程资源,同时避免资源超用。新增系统变量 [`tidb_enable_tiflash_pipeline_model`](/system-variables.md#tidb_enable_tiflash_pipeline_model-从-v720-版本开始引入) 用于设置是否启用 Pipeline 执行模型。 更多信息,请参考[用户文档](/tiflash/tiflash-pipeline-model.md)。 From c97fee1bcb3c3236e7dee83552603cb19841e9e9 Mon Sep 17 00:00:00 2001 From: Ran Date: Wed, 28 Jun 2023 19:22:33 +0800 Subject: [PATCH 110/121] Update releases/release-7.2.0.md Co-authored-by: Cathy <24819510+benmaoer@users.noreply.github.com> --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 3f7b4b20543c..4a752a2a7240 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -40,7 +40,7 @@ TiDB 版本:7.2.0 - +
CategoryFeatureDescription分类功能描述
SQL支持新的 SQL 语句 `IMPORT INTO`, 可以通过 TiDB 进行数据导入 (实验特性)TiDB 引入了一个新的 SQL 语句 `IMPORT INTO`。该语句集成了 TiDB Lightning 的物理导入模式的能力,使你无需单独部署和管理 TiDB Lightning 即可导入数据文件到 TiDB 中。例如,通过该语句,你可以直接从 Amazon S3 远程导入数据到 TiDB 中。支持新的 SQL 语句 IMPORT INTO,可以通过 TiDB 进行数据导入(实验特性)TiDB 引入了一个新的 SQL 语句 IMPORT INTO。该语句集成了 TiDB Lightning 的物理导入模式的能力,使你无需单独部署和管理 TiDB Lightning 即可导入数据文件到 TiDB 中。例如,通过该语句,你可以直接从 Amazon S3 远程导入数据到 TiDB 中。
数据库管理与可观测性
数据库管理与可观测性 DDL 任务支持暂停和恢复操作(实验特性)支持暂停消耗资源较大的 DDL 任务(如添加索引),以节省资源并降低对在线负载的影响。当需要执行这些暂停的 DDL 任务时,你可以无缝恢复这些任务,而无需取消并重新开始。此功能可以增强资源利用率,提升使用体验,并简化 schema 更改流程。该功能允许临时暂停资源密集型的 DDL 操作,例如索引创建,以节省资源并最小化对在线流量的影响。当资源许可时,你可以无缝恢复 DDL 任务,而无需取消和重新开始。该功能提高了资源利用率,改善了用户体验,并简化了 schema 更改过程。
From f87de3fd2f3e9045006fd6d1aa3a281fb9ba85ab Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 28 Jun 2023 23:11:30 +0800 Subject: [PATCH 111/121] Apply suggestions from code review Co-authored-by: Frank945946 <108602632+Frank945946@users.noreply.github.com> Co-authored-by: Aolin --- releases/release-7.2.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 4a752a2a7240..c5056ddeda84 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -35,7 +35,7 @@ TiDB 版本:7.2.0 SQL 支持新的 SQL 语句 IMPORT INTO,可以通过 TiDB 进行数据导入(实验特性) - TiDB 引入了一个新的 SQL 语句 IMPORT INTO。该语句集成了 TiDB Lightning 的物理导入模式的能力,使你无需单独部署和管理 TiDB Lightning 即可导入数据文件到 TiDB 中。例如,通过该语句,你可以直接从 Amazon S3 远程导入数据到 TiDB 中。 + TiDB 引入了一个新的 SQL 语句 IMPORT INTO。该语句集成了 TiDB Lightning 的物理导入模式的能力,使你无需单独部署和管理 TiDB Lightning 即可导入数据文件到 TiDB 中。例如,通过该语句,你可以直接从 Amazon S3 或 Google Cloud Storage(GCS)远程导入数据到 TiDB 中。 数据库管理与可观测性 @@ -70,7 +70,7 @@ TiDB 版本:7.2.0 TiDB v7.2.0 优化了统计信息的收集策略,会选择跳过一部分重复的信息,以及对优化器价值不高的信息,从而将统计信息收集的整体速度提升了 30%。这一改进有利于 TiDB 更及时地更新数据库对象的统计信息,生成更准确的执行计划,从而提升数据库整体性能。 - 默认设置下,统计信息收集会跳过类型为 `json`、`blob`、`mediumblob`、`longblob` 的列。你可以通过设置系统变量 [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) 来修改默认行为。当前支持设置跳过 `JSON`、`BLOB`、`TEXT` 这几个类型及其子类型。 + 默认设置下,统计信息收集会跳过类型为 `JSON`、`BLOB`、`MEDIUMBLOB`、`LONGBLOB` 的列。你可以通过设置系统变量 [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) 来修改默认行为。当前支持设置跳过 `JSON`、`BLOB`、`TEXT` 这几个类型及其子类型。 更多信息,请参考[用户文档](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入)。 From 567577e62ba96f166dead18390f6accb09461106 Mon Sep 17 00:00:00 2001 From: qiancai Date: Wed, 28 Jun 2023 23:34:40 +0800 Subject: [PATCH 112/121] remove the tw info --- releases/release-7.2.0.md | 71 +++++++++++++++------------------------ 1 file changed, 28 insertions(+), 43 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index c5056ddeda84..81b13a548123 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -5,7 +5,7 @@ summary: 了解 TiDB 7.2.0 版本的新功能、兼容性变更、改进提升 # TiDB 7.2.0 Release Notes -发版日期:2023 年 x 月 x 日 +发版日期:2023 年 6 月 29 日 TiDB 版本:7.2.0 @@ -49,24 +49,24 @@ TiDB 版本:7.2.0 ### 性能 -* 新增支持下推以下两个[窗口函数](/tiflash/tiflash-supported-pushdown-calculations.md) 到 TiFlash [#7427](https://github.com/pingcap/tiflash/issues/7427) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@qiancai** +* 新增支持下推以下两个[窗口函数](/tiflash/tiflash-supported-pushdown-calculations.md) 到 TiFlash [#7427](https://github.com/pingcap/tiflash/issues/7427) @[xzhangxian1008](https://github.com/xzhangxian1008) * `FIRST_VALUE` * `LAST_VALUE` -* TiFlash 支持 Pipeline 执行模型(实验特性)[#6518](https://github.com/pingcap/tiflash/issues/6518) @[SeaRise](https://github.com/SeaRise) **tw@ran-huang** +* TiFlash 支持 Pipeline 执行模型(实验特性)[#6518](https://github.com/pingcap/tiflash/issues/6518) @[SeaRise](https://github.com/SeaRise) 在 v7.2.0 版本之前,TiFlash 引擎中各个任务在执行时,需要自行申请线程资源。TiFlash 引擎通过控制任务数的方式限制线程资源使用,以避免线程资源超用,但并不能完全避免此问题。因此,在 v7.2.0 中,TiFlash 引入 Pipeline 执行模型,对所有线程资源进行统一管理,并对所有任务的执行进行统一调度,充分利用线程资源,同时避免资源超用。新增系统变量 [`tidb_enable_tiflash_pipeline_model`](/system-variables.md#tidb_enable_tiflash_pipeline_model-从-v720-版本开始引入) 用于设置是否启用 Pipeline 执行模型。 更多信息,请参考[用户文档](/tiflash/tiflash-pipeline-model.md)。 -* 降低 TiFlash 等待 schema 同步的时延 [#7630](https://github.com/pingcap/tiflash/issues/7630) @[hongyunyan](https://github.com/hongyunyan) **tw@qiancai** +* 降低 TiFlash 等待 schema 同步的时延 [#7630](https://github.com/pingcap/tiflash/issues/7630) @[hongyunyan](https://github.com/hongyunyan) 当表的 schema 发生变化时,TiFlash 需要及时从 TiKV 同步新的表结构信息。在 v7.2.0 之前,当 TiFlash 访问表数据时,只要检测到数据库中某张表的 schema 发生了变化,TiFlash 就会重新同步该数据库中所有表的 schema 信息。即使一张表没有 TiFlash 副本,TiFlash 也会同步该表的 schema 信息。当数据库中有大量表时,通过 TiFlash 只读取一张表的数据也可能因为需要等待所有表的 schema 信息同步完成而造成较高的时延。 在 v7.2.0 中,TiFlash 优化了 schema 的同步机制,只同步拥有 TiFlash 副本的表的 schema 信息。当检测到某张有 TiFlash 副本的表的 schema 有变化时,TiFlash 只同步该表的 schema 信息,从而降低了 TiFlash 同步 schema 的时延,同时减少了 DDL 操作对于 TiFlash 同步数据的影响。该优化自动生效,无须任何设置。 -* 提升统计信息收集的性能 [#44725](https://github.com/pingcap/tidb/issues/44725) @[xuyifangreeneyes](https://github.com/xuyifangreeneyes) **tw@hfxsd** +* 提升统计信息收集的性能 [#44725](https://github.com/pingcap/tidb/issues/44725) @[xuyifangreeneyes](https://github.com/xuyifangreeneyes) TiDB v7.2.0 优化了统计信息的收集策略,会选择跳过一部分重复的信息,以及对优化器价值不高的信息,从而将统计信息收集的整体速度提升了 30%。这一改进有利于 TiDB 更及时地更新数据库对象的统计信息,生成更准确的执行计划,从而提升数据库整体性能。 @@ -74,7 +74,7 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入)。 -* 提升数据和索引一致性检查的性能 [#43693](https://github.com/pingcap/tidb/issues/43693) @[wjhuang2016](https://github.com/wjhuang2016) **tw@qiancai** +* 提升数据和索引一致性检查的性能 [#43693](https://github.com/pingcap/tidb/issues/43693) @[wjhuang2016](https://github.com/wjhuang2016) [`ADMIN CHECK [TABLE|INDEX]`](/sql-statements/sql-statement-admin-check-table-index.md) 语句用于校验表中数据和对应索引的一致性。在 v7.2.0 中,TiDB 优化了数据一致性的校验方式,大幅提升了 [`ADMIN CHECK [TABLE|INDEX]`](/sql-statements/sql-statement-admin-check-table-index.md) 语句的执行效率,在大数据量场景中性能能够提升百倍。 @@ -84,7 +84,7 @@ TiDB 版本:7.2.0 ### 稳定性 -* 自动管理资源超出预期的查询(实验特性)[#43691](https://github.com/pingcap/tidb/issues/43691) @[Connor1996](https://github.com/Connor1996) @[CabinfeverB](https://github.com/CabinfeverB) @[glorv](https://github.com/glorv) @[HuSharp](https://github.com/HuSharp) @[nolouch](https://github.com/nolouch) **tw@hfxsd** +* 自动管理资源超出预期的查询(实验特性)[#43691](https://github.com/pingcap/tidb/issues/43691) @[Connor1996](https://github.com/Connor1996) @[CabinfeverB](https://github.com/CabinfeverB) @[glorv](https://github.com/glorv) @[HuSharp](https://github.com/HuSharp) @[nolouch](https://github.com/nolouch) 突发的 SQL 性能问题引发数据库整体性能下降,是数据库稳定性最常见的挑战。造成 SQL 性能问题的原因有很多,例如未经充分测试的新 SQL、数据量剧烈变化、执行计划突变等,这些问题很难从源头上完全规避。TiDB v7.2.0 增加了对资源超出预期的查询的管理能力,在上述问题发生时,能够快速降低影响范围。 @@ -94,7 +94,7 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](/tidb-resource-control.md#管理资源消耗超出预期的查询-runaway-queries)。 -* 增强根据历史执行计划创建绑定的能力 [#39199](https://github.com/pingcap/tidb/issues/39199) @[qw4990](https://github.com/qw4990) **tw@Oreoxmt** +* 增强根据历史执行计划创建绑定的能力 [#39199](https://github.com/pingcap/tidb/issues/39199) @[qw4990](https://github.com/qw4990) TiDB v7.2.0 进一步增强[根据历史执行计划创建绑定](/sql-plan-management.md#根据历史执行计划创建绑定)的能力,加强对复杂语句的解析和绑定,使绑定更稳固,并新增支持对以下 Hint 的绑定。 @@ -105,7 +105,7 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](/sql-plan-management.md)。 -* 提供 Optimizer Fix Controls 机制对优化器行为进行细粒度控制 [#43169](https://github.com/pingcap/tidb/issues/43169) @[time-and-fate](https://github.com/time-and-fate) **tw@hfxsd** +* 提供 Optimizer Fix Controls 机制对优化器行为进行细粒度控制 [#43169](https://github.com/pingcap/tidb/issues/43169) @[time-and-fate](https://github.com/time-and-fate) 为了生成更合理的执行计划,TiDB 优化器的行为会随产品迭代而不断演进。但在某些特定场景下,这些变化可能引发性能回退。因此 TiDB 引入了 Optimizer Fix Controls 来控制优化器的一部分细粒度行为,你可以对一些新的变化进行回滚或控制。 @@ -115,17 +115,17 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](/optimizer-fix-controls.md)。 -* 轻量统计信息初始化 GA [#42160](https://github.com/pingcap/tidb/issues/42160) @[xuyifangreeneyes](https://github.com/xuyifangreeneyes) **tw@qiancai** +* 轻量统计信息初始化 GA [#42160](https://github.com/pingcap/tidb/issues/42160) @[xuyifangreeneyes](https://github.com/xuyifangreeneyes) 轻量统计信息初始化自 v7.2.0 成为正式功能。轻量级的统计信息初始化可以大幅减少启动时必须加载的统计信息的数量,从而提升启动过程中统计信息的加载速度。该功能提升了 TiDB 在复杂运行环境下的稳定性,并降低了部分 TiDB 节点重启对整体服务的影响。 - 从 v7.2.0 起,新建的集群在启动阶段将默认加载轻量级统计信息,并在加载完成后再对外提供服务。对于从旧版本升级上来的集群,可通过修改 TiDB 配置项 [`lite-init-stats`](/tidb-configuration-file.md#lite-init-stats-从-v710-版本开始引入) 和 [`force-init-stats`](/tidb-configuration-file.md#force-init-stats-从-v710-版本开始引入) 为 `true` 开启此功能。 + 从 v7.2.0 起,新建的集群在启动阶段将默认加载轻量级统计信息,并在加载完成后再对外提供服务。对于从旧版本升级上来的集群,可通过修改 TiDB 配置项 [`lite-init-stats`](/tidb-configuration-file.md#lite-init-stats-从-v710-版本开始引入) 和 [`force-init-stats`](/tidb-configuration-file.md#force-init-stats-从-v710-版本开始引入) 为 `true` 开启此功能。 更多信息,请参考[用户文档](/statistics.md#统计信息的加载)。 ### SQL 功能 -* 支持 `CHECK` 约束 [#41711](https://github.com/pingcap/tidb/issues/41711) @[fzzf678](https://github.com/fzzf678) **tw@qiancai** +* 支持 `CHECK` 约束 [#41711](https://github.com/pingcap/tidb/issues/41711) @[fzzf678](https://github.com/fzzf678) 从 v7.2.0 开始,你可以通过 `CHECK` 约束限制表中的一个或者多个字段值必须满足特定的条件。当为表添加 `CHECK` 约束后,在插入或者更新表的数据时,TiDB 会先检查约束条件是否满足,只允许满足约束的数据写入。 @@ -135,7 +135,7 @@ TiDB 版本:7.2.0 ### 数据库管理 -* DDL 任务支持暂停和恢复操作(实验特性)[#18015](https://github.com/pingcap/tidb/issues/18015) @[godouxm](https://github.com/godouxm) **tw@ran-huang** +* DDL 任务支持暂停和恢复操作(实验特性)[#18015](https://github.com/pingcap/tidb/issues/18015) @[godouxm](https://github.com/godouxm) TiDB v7.2.0 之前的版本中,当 DDL 任务在执行期间遇到业务高峰时,为了减少对业务的影响,只能手动取消 DDL 任务。TiDB v7.2.0 引入了 DDL 任务的暂停和恢复功能,你可以在高峰时间点暂停 DDL 任务,等到业务高峰时间结束后再恢复 DDL 任务,从而避免了 DDL 操作对业务负载的影响。 @@ -150,7 +150,7 @@ TiDB 版本:7.2.0 ### 数据迁移 -* 引入新的 SQL 语句 `IMPORT INTO`,大幅提升数据导入效率(实验特性)[#42930](https://github.com/pingcap/tidb/issues/42930) @[D3Hunter](https://github.com/D3Hunter) **tw@qiancai** +* 引入新的 SQL 语句 `IMPORT INTO`,大幅提升数据导入效率(实验特性)[#42930](https://github.com/pingcap/tidb/issues/42930) @[D3Hunter](https://github.com/D3Hunter) `IMPORT INTO` 集成了 TiDB Lightning [物理导入模式](/tidb-lightning/tidb-lightning-physical-import-mode.md)的能力。通过该语句,你可以将 CSV、SQL 和 PARQUET 等格式的数据快速导入到 TiDB 的一张空表中。这种导入方式无需单独部署和管理 TiDB Lightning,在降低了数据导入难度的同时,大幅提升了数据导入效率。 @@ -158,7 +158,7 @@ TiDB 版本:7.2.0 更多信息,请参考[用户文档](sql-statements/sql-statement-import-into.md)。 -* TiDB Lightning 支持将字符集为 latin1 的源文件导入到 TiDB 中 [#44434](https://github.com/pingcap/tidb/issues/44434) @[lance6716](https://github.com/lance6716) **tw@qiancai** +* TiDB Lightning 支持将字符集为 latin1 的源文件导入到 TiDB 中 [#44434](https://github.com/pingcap/tidb/issues/44434) @[lance6716](https://github.com/lance6716) 通过此功能,你可以使用 TiDB Lightning 将字符集为 latin1 的源文件直接导入到 TiDB 中。在 v7.2.0 之前,导入这样的文件需要额外的预处理或转换。从 v7.2.0 起,你只需在配置 TiDB Lightning 导入任务时指定 `character-set = "latin1"`,TiDB Lightning 就会在导入过程中自动处理字符集的转换,以确保数据的完整性和准确性。 @@ -194,17 +194,15 @@ TiDB 版本:7.2.0 | TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].periodic-compaction-seconds](/tikv-configuration-file.md#periodic-compaction-seconds-从-v720-版本开始引入) | 新增 | 控制周期性 compaction 的时间,修改时间超过此值的 SST 文件将被选中进行 compaction,并被重新写入这些 SST 文件所在的层级。 | | TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].ribbon-filter-above-level](/tikv-configuration-file.md#ribbon-filter-above-level-从-v720-版本开始引入) | 新增 | 控制是否对于大于等于该值的 level 使用 Ribbon filter,对于小于该值的 level,使用非 block-based bloom filter。 | | TiKV | [rocksdb.\[defaultcf\|writecf\|lockcf\].ttl](/tikv-configuration-file.md#ttl-从-v720-版本开始引入) | 新增 | 设置 SST 文件被自动选中执行 compaction 的 TTL 时间。更新时间超过 TTL 的 SST 文件将被选中并进行 compaction。 | -| TiDB Lightning | `send-kv-pairs` | 废弃 | 从 v7.2.0 版本开始,`send-kv-pairs` 不再生效。你可以使用新参数 [`send-kv-size`](/tidb-lightning/tidb-lightning-configuration.md) 来指定物理导入模式下向 TiKV 发送数据时一次请求的最大大小。**tw@hfxsd** | +| TiDB Lightning | `send-kv-pairs` | 废弃 | 从 v7.2.0 版本开始,`send-kv-pairs` 不再生效。你可以使用新参数 [`send-kv-size`](/tidb-lightning/tidb-lightning-configuration.md) 来指定物理导入模式下向 TiKV 发送数据时一次请求的最大大小。 | | TiDB Lightning | [`character-set`](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-任务配置) | 修改 | 扩展支持导入的字符集,新增 `latin1` 选项,用于导入字符集为 latin1 的源文件。| -| TiDB Lightning | [`send-kv-size`](/tidb-lightning/tidb-lightning-configuration.md) | 新增 | 用于设置单次发送到 TiKV 的键值对的大小。当键值对的大小达到设定的阈值时,它们将被 TiDB Lightning 立即发送到 TiKV,避免在导入大宽表的时候由于 TiDB Lightning 节点内存积累键值对过多导致 OOM 的问题。通过调整该参数,你可以在内存使用和导入速度之间找到平衡,提高导入过程的稳定性和效率。**tw@hfxsd** | -| Data Migration | [`strict-optimistic-shard-mode`](/dm/feature-shard-merge-optimistic.md) | 新增 | 用于兼容历史版本 TiDB Data Migration v2.0 的分库分表同步 DDL 的行为。当用户选择乐观模式时,可以启用该参数,开启后,乐观模式下,同步任务遇到二类 DDL 时,整个任务会中断。在多个表的 DDL 变更有依赖关系的场景,可以及时中断同步,在用户手动处理完各表的 DDL 后,再继续同步数据,保障上下游数据的一致性。 **tw@ran-huang** | +| TiDB Lightning | [`send-kv-size`](/tidb-lightning/tidb-lightning-configuration.md) | 新增 | 用于设置单次发送到 TiKV 的键值对的大小。当键值对的大小达到设定的阈值时,它们将被 TiDB Lightning 立即发送到 TiKV,避免在导入大宽表的时候由于 TiDB Lightning 节点内存积累键值对过多导致 OOM 的问题。通过调整该参数,你可以在内存使用和导入速度之间找到平衡,提高导入过程的稳定性和效率。| +| Data Migration | [`strict-optimistic-shard-mode`](/dm/feature-shard-merge-optimistic.md) | 新增 | 用于兼容历史版本 TiDB Data Migration v2.0 的分库分表同步 DDL 的行为。当用户选择乐观模式时,可以启用该参数,开启后,乐观模式下,同步任务遇到二类 DDL 时,整个任务会中断。在多个表的 DDL 变更有依赖关系的场景,可以及时中断同步,在用户手动处理完各表的 DDL 后,再继续同步数据,保障上下游数据的一致性。| | TiCDC | [`sink.protocol`](/ticdc/ticdc-changefeed-config.md) | 修改 | 扩展下游类型是 Kafka 时的可选值范围:增加 `"open-protocol"`。用于指定编码消息时使用的格式协议。| | TiCDC | [`sink.delete-only-output-handle-key-columns`](/ticdc/ticdc-changefeed-config.md) | 新增 | 指定 Delete 事件的输出内容,只对 canal-json 和 open-protocol 协议有效。默认值为 false,即输出所有列的内容。当设置为 true 时,只输出主键列,或唯一索引列的内容。 | ## 改进提升 - - + TiDB - 优化构造索引扫描范围的逻辑,支持将一些复杂条件转化为索引扫描范围 [#41572](https://github.com/pingcap/tidb/issues/41572) [#44389](https://github.com/pingcap/tidb/issues/44389) @[xuyifangreeneyes](https://github.com/xuyifangreeneyes) @@ -216,8 +214,6 @@ TiDB 版本:7.2.0 - 支持将 `utf8` 和 `utf8mb3` 识别为旧的三字节 UTF-8 字符集编码,有助于将具有旧字符集编码的表从 MySQL 8.0 迁移到 TiDB [#26226](https://github.com/pingcap/tidb/issues/26226) @[dveeden](https://github.com/dveeden) - 支持在 `UPDATE` 语句中使用 `:=` 进行赋值操作 [#44751](https://github.com/pingcap/tidb/issues/44751) @[CbcWestwolf](https://github.com/CbcWestwolf) - - + TiKV - 支持通过 `pd.retry-interval` 配置在连接请求失败等场景下 PD 连接的重试间隔 [#14964](https://github.com/tikv/tikv/issues/14964) @[rleungx](https://github.com/rleungx) @@ -226,8 +222,6 @@ TiDB 版本:7.2.0 - 为 `check_leader` 请求增加相关监控项 [#14658](https://github.com/tikv/tikv/issues/14658) @[you06](https://github.com/you06) - 详细记录 TiKV 处理写入命令过程中的时间信息 [#12362](https://github.com/tikv/tikv/issues/12362) @[cfzjywxk](https://github.com/cfzjywxk) - - + PD - PD Leader 选举使用单独的 gRPC 连接,防止受到其他请求的影响 [#6403](https://github.com/tikv/pd/issues/6403) @[rleungx](https://github.com/rleungx) @@ -235,21 +229,21 @@ TiDB 版本:7.2.0 + Tools - + Backup & Restore (BR) + + Backup & Restore (BR) - 为外部存储 Azure Blob Storage 提供 shared access signature (SAS) 的访问方式 [#44199](https://github.com/pingcap/tidb/issues/44199) @[Leavrth](https://github.com/Leavrth) - + TiCDC + + TiCDC - 优化同步到对象存储场景下发生 DDL 时存放数据文件目录的结构 [#8891](https://github.com/pingcap/tiflow/issues/8891) @[CharlesCheung96](https://github.com/CharlesCheung96) - 在同步到 Kafka 场景下,支持 OAUTHBEARER 认证方式 [#8865](https://github.com/pingcap/tiflow/issues/8865) @[hi-rustin](https://github.com/hi-rustin) - 在同步到 Kafka 场景下,对于 `DELETE` 操作,支持选择只输出 Handle Key [#9143](https://github.com/pingcap/tiflow/issues/9143) @[3AceShowHand](https://github.com/3AceShowHand) - + TiDB Data Migration (DM) + + TiDB Data Migration (DM) - 支持读取 MySQL 8.0 中的压缩 binlog 作为增量同步的数据源 [#6381](https://github.com/pingcap/tiflow/issues/6381) @[dveeden](https://github.com/dveeden) - + TiDB Lightning + + TiDB Lightning - 优化导入数据过程中的重试机制,避免因 leader 切换而导致的错误 [#44478](https://github.com/pingcap/tidb/issues/44263) @[lance6716](https://github.com/lance6716) - 数据导入完成后使用 SQL 方式校验 checksum,提升数据校验的稳定性 [#41941](https://github.com/pingcap/tidb/issues/41941) @[GMHDBJD](https://github.com/GMHDBJD) @@ -257,16 +251,13 @@ TiDB 版本:7.2.0 ## 错误修复 - - + TiDB - (dup)- 修复使用 CTE 的查询导致 TiDB 卡住的问题 [#43749](https://github.com/pingcap/tidb/issues/43749) [#36896](https://github.com/pingcap/tidb/issues/36896) @[guo-shaoge](https://github.com/guo-shaoge) - (dup)- 修复 `min, max` 查询结果出错的问题 [#43805](https://github.com/pingcap/tidb/issues/43805) @[wshwsh12](https://github.com/wshwsh12) - (dup)- 修复 `SHOW PROCESSLIST` 语句无法显示子查询时间较长语句的事务的 TxnStart 的问题 [#40851](https://github.com/pingcap/tidb/issues/40851) @[crazycs520](https://github.com/crazycs520) + - 修复使用 CTE 的查询导致 TiDB 卡住的问题 [#43749](https://github.com/pingcap/tidb/issues/43749) [#36896](https://github.com/pingcap/tidb/issues/36896) @[guo-shaoge](https://github.com/guo-shaoge) + - 修复 `min, max` 查询结果出错的问题 [#43805](https://github.com/pingcap/tidb/issues/43805) @[wshwsh12](https://github.com/wshwsh12) + - 修复 `SHOW PROCESSLIST` 语句无法显示子查询时间较长语句的事务的 TxnStart 的问题 [#40851](https://github.com/pingcap/tidb/issues/40851) @[crazycs520](https://github.com/crazycs520) - 修复由于 Coprocessor task 中 `TxnScope` 缺失导致 Stale Read 全局优化不生效的问题 [#43365](https://github.com/pingcap/tidb/issues/43365) @[you06](https://github.com/you06) - 修复 follower read 未处理 flashback 错误而进行重试,导致查询报错的问题 [#43673](https://github.com/pingcap/tidb/issues/43673) @[you06](https://github.com/you06) - - 修复 `ON UPDATE` 语句没有正确更新主键导致数据索引不一致的问题 [#44565](https://github.com/pingcap/tidb/issues/44565) @[zyguan](https://github.com/zyguan) - 修改 `UNIX_TIMESTAMP()` 函数的上限为 `3001-01-19 03:14:07.999999 UTC`,与 MySQL 8.0.28+ 保持一致 [#43987](https://github.com/pingcap/tidb/issues/43987) @[YangKeao](https://github.com/YangKeao) - 修复在 ingest 模式下创建索引失败的问题 [#44137](https://github.com/pingcap/tidb/issues/44137) @[tangenta](https://github.com/tangenta) @@ -282,8 +273,6 @@ TiDB 版本:7.2.0 - 修复 Join Reorder 可能会造成 Outer Join 结果错误的问题 [#44314](https://github.com/pingcap/tidb/issues/44314) @[AilinKid](https://github.com/AilinKid) - 修复了 `PREPARE stmt FROM "ANALYZE TABLE xxx"` 会被 `tidb_mem_quota_query` kill 掉的问题 [#44320](https://github.com/pingcap/tidb/issues/44320) @[chrysan](https://github.com/chrysan) - - + TiKV - 修复处理 stale 悲观锁冲突时事务返回值不正确的问题 [#13298](https://github.com/tikv/tikv/issues/13298) @[cfzjywxk](https://github.com/cfzjywxk) @@ -291,27 +280,23 @@ TiDB 版本:7.2.0 - 修复处理过期请求时 fair lock 的正确性问题 [#13298](https://github.com/tikv/tikv/issues/13298) @[cfzjywxk](https://github.com/cfzjywxk) - 修复 autocommit 和 point get replica read 可能破坏线性一致性的问题 [#14715](https://github.com/tikv/tikv/issues/14715) @[cfzjywxk](https://github.com/cfzjywxk) - - + PD - 修复在特殊情况下冗余副本无法自动修复的问题 [#6573](https://github.com/tikv/pd/issues/6573) @[nolouch](https://github.com/nolouch) - - + TiFlash - 修复查询在 Join build 侧数据非常大,且包含许多小型字符串类型列时,消耗的内存可能会超过实际需要的问题 [#7416](https://github.com/pingcap/tiflash/issues/7416) @[yibin87](https://github.com/yibin87) + Tools - + Backup & Restore (BR) + + Backup & Restore (BR) - 修复某些情况下误报 `checksum mismatch` 的问题 [#44472](https://github.com/pingcap/tidb/issues/44472) @[Leavrth](https://github.com/Leavrth) - 修复某些情况下误报 `resolved lock timeout` 的问题 [#43236](https://github.com/pingcap/tidb/issues/43236) @[YuJuncen](https://github.com/YuJuncen) - 修复在恢复统计信息的时候可能会 panic 的问题 [#44490](https://github.com/pingcap/tidb/issues/44490) @[tangenta](https://github.com/tangenta) - + TiCDC + + TiCDC - 修复在某些特殊情况下 Resolved TS 不能正常推进的问题 [#8963](https://github.com/pingcap/tiflow/issues/8963) @[CharlesCheung96](https://github.com/CharlesCheung96) - 修复使用 Avro 或 CSV 协议场景下 `UPDATE` 操作不能输出旧值的问题 [#9086](https://github.com/pingcap/tiflow/issues/9086) @[3AceShowHand](https://github.com/3AceShowHand) @@ -320,7 +305,7 @@ TiDB 版本:7.2.0 - 修复 PD 节点宕机导致 TiCDC 节点重启的问题 [#8868](https://github.com/pingcap/tiflow/issues/8868) @[asddongmen](https://github.com/asddongmen) - 修复 TiCDC 同步到 Kafka-on-Pulsar 时不能正确建立连接的问题 [#8892](https://github.com/pingcap/tiflow/issues/8892) @[hi-rustin](https://github.com/hi-rustin) - + TiDB Lightning + + TiDB Lightning - 修复开启 `experimental.allow-expression-index` 且默认值是 UUID 时导致 TiDB Lightning panic 的问题 [#44497](https://github.com/pingcap/tidb/issues/44497) @[lichunzhu](https://github.com/lichunzhu) - 修复划分数据文件时任务退出导致 TiDB Lightning panic 的问题 [#43195](https://github.com/pingcap/tidb/issues/43195) @[lance6716](https://github.com/lance6716) From 94caa5f3aa1ec552d144ca74585dd1ac5ac668f2 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 28 Jun 2023 23:35:10 +0800 Subject: [PATCH 113/121] Update releases/release-7.2.0.md --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 81b13a548123..a3ffb523b2b9 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -156,7 +156,7 @@ TiDB 版本:7.2.0 对于存储在 Amazon S3 或 GCS 的数据文件,在开启了[后端任务分布式框架](/tidb-distributed-execution-framework.md)后,`IMPORT INTO` 还支持将数据导入任务拆分成多个子任务,并将子任务调度到多个 TiDB 节点并行导入,进一步提升导入性能。 - 更多信息,请参考[用户文档](sql-statements/sql-statement-import-into.md)。 + 更多信息,请参考[用户文档](/sql-statements/sql-statement-import-into.md)。 * TiDB Lightning 支持将字符集为 latin1 的源文件导入到 TiDB 中 [#44434](https://github.com/pingcap/tidb/issues/44434) @[lance6716](https://github.com/lance6716) From 6150e11a453ecbde34c1a3df29130570d6b59b32 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 29 Jun 2023 00:04:48 +0800 Subject: [PATCH 114/121] fix broken links --- releases/release-7.2.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index a3ffb523b2b9..0f5b7e125c7a 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -100,8 +100,8 @@ TiDB 版本:7.2.0 - [`AGG_TO_COP()`](/optimizer-hints.md#agg_to_cop) - [`LIMIT_TO_COP()`](/optimizer-hints.md#limit_to_cop) - - [`ORDER_INDEX`](/optimizer-hints.md#order_indext1_name-idx1_name--idx2_name) - - [`NO_ORDER_INDEX()`](/optimizer-hints.md#no_order_indext1_name-idx1_name--idx2_name) + - [`ORDER_INDEX`](/optimizer-hints.md#order_indext1_name-idx1_name--idx2_name- ) + - [`NO_ORDER_INDEX()`](/optimizer-hints.md#no_order_indext1_name-idx1_name--idx2_name-) 更多信息,请参考[用户文档](/sql-plan-management.md)。 @@ -177,7 +177,7 @@ TiDB 版本:7.2.0 | [`last_insert_id`](/system-variables.md#last_insert_id-从-v530-版本开始引入) | 修改 | 该变量的最大值从 `9223372036854775807` 修改为 `18446744073709551615`,和 MySQL 保持一致。 | | [`tidb_enable_non_prepared_plan_cache`](/system-variables.md#tidb_enable_non_prepared_plan_cache) | 修改 | 经进一步的测试后,该变量默认值从 `OFF` 修改为 `ON`,即默认开启非 Prepare 语句执行计划缓存。 | | [`tidb_remove_orderby_in_subquery`](/system-variables.md#tidb_remove_orderby_in_subquery-从-v610-版本开始引入) | 修改 | 经进一步的测试后,该变量默认值从 `OFF` 修改为 `ON`,即优化器改写会移除子查询中的 `ORDER BY` 子句。 | -| [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) | 新增 | 这个变量表示在执行 `ANALYZE` 命令收集统计信息时,跳过哪些类型的列的统计信息收集。该变量仅适用于 [`tidb_analyze_version = 2`](#tidb_analyze_version-从-v510-版本开始引入) 的情况。使用 `ANALYZE TABLE t COLUMNS c1, ..., cn` 语法时,如果指定的列的类型在 `tidb_analyze_skip_column_types` 中,则不会收集该列的统计信息。 | +| [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) | 新增 | 这个变量表示在执行 `ANALYZE` 命令收集统计信息时,跳过哪些类型的列的统计信息收集。该变量仅适用于 [`tidb_analyze_version = 2`](/system-variables.md#tidb_analyze_version-从-v510-版本开始引入) 的情况。使用 `ANALYZE TABLE t COLUMNS c1, ..., cn` 语法时,如果指定的列的类型在 `tidb_analyze_skip_column_types` 中,则不会收集该列的统计信息。 | | [`tidb_enable_check_constraint`](/system-variables.md#tidb_enable_check_constraint-从-v720-版本开始引入) | 新增 | 这个变量用于控制 `CHECK` 约束功能是否开启。默认值 `OFF` 表示该功能默认关闭。 | | [`tidb_enable_fast_table_check`](/system-variables.md#tidb_enable_fast_table_check-从-v720-版本开始引入) | 新增 | 这个变量用于控制是否使用基于校验和的方式来快速检查表中数据和索引的一致性。默认值 `ON` 表示该功能默认开启。 | | [`tidb_enable_tiflash_pipeline_model`](/system-variables.md#tidb_enable_tiflash_pipeline_model-从-v720-版本开始引入) | 新增 | 这个变量用来控制是否启用 TiFlash 新的执行模型 [Pipeline Model](/tiflash/tiflash-pipeline-model.md),默认值为 `OFF`,即关闭 Pipeline Model。 | From 998313edbef660f29cf29526a4c8c98979f179fa Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Thu, 29 Jun 2023 10:11:02 +0800 Subject: [PATCH 115/121] Update releases/release-7.2.0.md Co-authored-by: Connor --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 0f5b7e125c7a..3d3b0aa4aae1 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -88,7 +88,7 @@ TiDB 版本:7.2.0 突发的 SQL 性能问题引发数据库整体性能下降,是数据库稳定性最常见的挑战。造成 SQL 性能问题的原因有很多,例如未经充分测试的新 SQL、数据量剧烈变化、执行计划突变等,这些问题很难从源头上完全规避。TiDB v7.2.0 增加了对资源超出预期的查询的管理能力,在上述问题发生时,能够快速降低影响范围。 - 你可以针对某个资源组 (Resource Group) 设置查询的最长执行时间。当查询的执行时间超过设置值时,自动降低查询的优先级或者取消查询。你还可以设置在一段时间内通过文本立即匹配已经识别出的查询,从而避免问题查询的并发度太高时,在识别阶段就造成大量资源消耗的情况。 + 你可以针对某个资源组 (Resource Group) 设置查询的最长执行时间。当查询的执行时间超过设置值时,自动降低查询的优先级或者取消查询。你还可以设置在一段时间内通过文本或者执行计划立即匹配已经识别出的查询,从而避免问题查询的并发度太高时,在识别阶段就造成大量资源消耗的情况。 对资源超出预期查询的自动管理能力,为你提供了有效的手段,快速应对突发的查询性能问题,降低对数据库整体性能的影响,从而提升数据库的稳定性。 From 3adc6868b146b0e8334da994b28e4254a997d301 Mon Sep 17 00:00:00 2001 From: qiancai Date: Thu, 29 Jun 2023 10:18:27 +0800 Subject: [PATCH 116/121] add 7.2 to toc --- TOC.md | 4 +++- releases/release-notes.md | 4 ++++ releases/release-timeline.md | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/TOC.md b/TOC.md index 7fdf749135ca..10c24814d72c 100644 --- a/TOC.md +++ b/TOC.md @@ -4,7 +4,7 @@ - [文档中心](https://docs.pingcap.com/zh) - 关于 TiDB - [TiDB 简介](/overview.md) - - [TiDB 7.1 Release Notes](/releases/release-7.1.0.md) + - [TiDB 7.2 Release Notes](/releases/release-7.2.0.md) - [功能概览](/basic-features.md) - [与 MySQL 的兼容性](/mysql-compatibility.md) - [使用限制](/tidb-limitations.md) @@ -1000,6 +1000,8 @@ - [版本发布时间线](/releases/release-timeline.md) - [TiDB 版本规则](/releases/versioning.md) - [TiDB 离线包](/binary-package.md) + - v7.2 + - [7.2.0-DMR](/releases/release-7.2.0.md) - v7.1 - [7.1.0](/releases/release-7.1.0.md) - v7.0 diff --git a/releases/release-notes.md b/releases/release-notes.md index ec946dc1a7dc..71244dc91334 100644 --- a/releases/release-notes.md +++ b/releases/release-notes.md @@ -6,6 +6,10 @@ title: TiDB 版本发布历史 TiDB 历史版本发布声明如下: +## 7.2 + +- [7.2.0](/releases/release-7.2.0.md): 2023-06-29 + ## 7.1 - [7.1.0](/releases/release-7.1.0.md): 2023-05-31 diff --git a/releases/release-timeline.md b/releases/release-timeline.md index 74396c60b91f..57ab39ac6416 100644 --- a/releases/release-timeline.md +++ b/releases/release-timeline.md @@ -9,6 +9,7 @@ summary: 了解 TiDB 的版本发布时间线。 | 版本 | 发布日期 | | :--- | :--- | +| [7.2.0](/releases/release-7.2.0.md) | 2023-06-29 | | [6.5.3](/releases/release-6.5.3.md) | 2023-06-14 | | [7.1.0](/releases/release-7.1.0.md) | 2023-05-31 | | [6.5.2](/releases/release-6.5.2.md) | 2023-04-21 | From e94540766fb955c4a3b34a5f5817ce040d45a38a Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 29 Jun 2023 10:37:08 +0800 Subject: [PATCH 117/121] add DMR for 7.2 --- releases/release-notes.md | 2 +- releases/release-timeline.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-notes.md b/releases/release-notes.md index 71244dc91334..f73b5a0f54cf 100644 --- a/releases/release-notes.md +++ b/releases/release-notes.md @@ -8,7 +8,7 @@ TiDB 历史版本发布声明如下: ## 7.2 -- [7.2.0](/releases/release-7.2.0.md): 2023-06-29 +- [7.2.0-DMR](/releases/release-7.2.0.md): 2023-06-29 ## 7.1 diff --git a/releases/release-timeline.md b/releases/release-timeline.md index 57ab39ac6416..52130a2bee77 100644 --- a/releases/release-timeline.md +++ b/releases/release-timeline.md @@ -9,7 +9,7 @@ summary: 了解 TiDB 的版本发布时间线。 | 版本 | 发布日期 | | :--- | :--- | -| [7.2.0](/releases/release-7.2.0.md) | 2023-06-29 | +| [7.2.0-DMR](/releases/release-7.2.0.md) | 2023-06-29 | | [6.5.3](/releases/release-6.5.3.md) | 2023-06-14 | | [7.1.0](/releases/release-7.1.0.md) | 2023-05-31 | | [6.5.2](/releases/release-6.5.2.md) | 2023-04-21 | From fdbc24b31c7d26d4313b9fe0946186314b6f941f Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 29 Jun 2023 10:37:43 +0800 Subject: [PATCH 118/121] Update releases/release-7.2.0.md Co-authored-by: xixirangrang --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 3d3b0aa4aae1..67b4cc981982 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -199,7 +199,7 @@ TiDB 版本:7.2.0 | TiDB Lightning | [`send-kv-size`](/tidb-lightning/tidb-lightning-configuration.md) | 新增 | 用于设置单次发送到 TiKV 的键值对的大小。当键值对的大小达到设定的阈值时,它们将被 TiDB Lightning 立即发送到 TiKV,避免在导入大宽表的时候由于 TiDB Lightning 节点内存积累键值对过多导致 OOM 的问题。通过调整该参数,你可以在内存使用和导入速度之间找到平衡,提高导入过程的稳定性和效率。| | Data Migration | [`strict-optimistic-shard-mode`](/dm/feature-shard-merge-optimistic.md) | 新增 | 用于兼容历史版本 TiDB Data Migration v2.0 的分库分表同步 DDL 的行为。当用户选择乐观模式时,可以启用该参数,开启后,乐观模式下,同步任务遇到二类 DDL 时,整个任务会中断。在多个表的 DDL 变更有依赖关系的场景,可以及时中断同步,在用户手动处理完各表的 DDL 后,再继续同步数据,保障上下游数据的一致性。| | TiCDC | [`sink.protocol`](/ticdc/ticdc-changefeed-config.md) | 修改 | 扩展下游类型是 Kafka 时的可选值范围:增加 `"open-protocol"`。用于指定编码消息时使用的格式协议。| -| TiCDC | [`sink.delete-only-output-handle-key-columns`](/ticdc/ticdc-changefeed-config.md) | 新增 | 指定 Delete 事件的输出内容,只对 canal-json 和 open-protocol 协议有效。默认值为 false,即输出所有列的内容。当设置为 true 时,只输出主键列,或唯一索引列的内容。 | +| TiCDC | [`sink.delete-only-output-handle-key-columns`](/ticdc/ticdc-changefeed-config.md) | 新增 | 指定 DELETE 事件的输出内容,只对 `"canal-json"` 和 `"open-protocol"` 协议有效。默认值为 `false`,即输出所有列的内容。当设置为 `true` 时,只输出主键列,或唯一索引列的内容。 | ## 改进提升 From 4abceadc767f397dc23b42d25995d4f2c8dcd416 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 29 Jun 2023 11:16:34 +0800 Subject: [PATCH 119/121] Apply suggestions from code review Co-authored-by: Aolin --- releases/release-7.2.0.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 67b4cc981982..52814f5172cf 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -35,7 +35,7 @@ TiDB 版本:7.2.0 SQL 支持新的 SQL 语句 IMPORT INTO,可以通过 TiDB 进行数据导入(实验特性) - TiDB 引入了一个新的 SQL 语句 IMPORT INTO。该语句集成了 TiDB Lightning 的物理导入模式的能力,使你无需单独部署和管理 TiDB Lightning 即可导入数据文件到 TiDB 中。例如,通过该语句,你可以直接从 Amazon S3 或 Google Cloud Storage(GCS)远程导入数据到 TiDB 中。 + TiDB 引入了一个新的 SQL 语句 IMPORT INTO。该语句集成了 TiDB Lightning 的物理导入模式的能力,使你无需单独部署和管理 TiDB Lightning 即可导入数据文件到 TiDB 中。例如,通过该语句,你可以直接从 Amazon S3 或 Google Cloud Storage (GCS) 远程导入数据到 TiDB 中。 数据库管理与可观测性 @@ -49,7 +49,7 @@ TiDB 版本:7.2.0 ### 性能 -* 新增支持下推以下两个[窗口函数](/tiflash/tiflash-supported-pushdown-calculations.md) 到 TiFlash [#7427](https://github.com/pingcap/tiflash/issues/7427) @[xzhangxian1008](https://github.com/xzhangxian1008) +* 新增支持下推以下两个[窗口函数](/tiflash/tiflash-supported-pushdown-calculations.md)到 TiFlash [#7427](https://github.com/pingcap/tiflash/issues/7427) @[xzhangxian1008](https://github.com/xzhangxian1008) * `FIRST_VALUE` * `LAST_VALUE` @@ -96,7 +96,7 @@ TiDB 版本:7.2.0 * 增强根据历史执行计划创建绑定的能力 [#39199](https://github.com/pingcap/tidb/issues/39199) @[qw4990](https://github.com/qw4990) - TiDB v7.2.0 进一步增强[根据历史执行计划创建绑定](/sql-plan-management.md#根据历史执行计划创建绑定)的能力,加强对复杂语句的解析和绑定,使绑定更稳固,并新增支持对以下 Hint 的绑定。 + TiDB v7.2.0 进一步增强[根据历史执行计划创建绑定](/sql-plan-management.md#根据历史执行计划创建绑定)的能力,加强对复杂语句的解析和绑定,使绑定更稳固,并新增支持对以下 Hint 的绑定: - [`AGG_TO_COP()`](/optimizer-hints.md#agg_to_cop) - [`LIMIT_TO_COP()`](/optimizer-hints.md#limit_to_cop) @@ -231,7 +231,7 @@ TiDB 版本:7.2.0 + Backup & Restore (BR) - - 为外部存储 Azure Blob Storage 提供 shared access signature (SAS) 的访问方式 [#44199](https://github.com/pingcap/tidb/issues/44199) @[Leavrth](https://github.com/Leavrth) + - 为外部存储 Azure Blob Storage 提供共享访问签名 (SAS) 的访问方式 [#44199](https://github.com/pingcap/tidb/issues/44199) @[Leavrth](https://github.com/Leavrth) + TiCDC @@ -266,12 +266,12 @@ TiDB 版本:7.2.0 - 修复删除数据库导致 GC 推进慢的问题 [#33069](https://github.com/pingcap/tidb/issues/33069) @[tiancaiamao](https://github.com/tiancaiamao) - 修复分区表在 Index Join 的 probe 阶段找不到对应行而报错的问题 [#43686](https://github.com/pingcap/tidb/issues/43686) @[AilinKid](https://github.com/AilinKid) @[mjonss](https://github.com/mjonss) - 修复在创建分区表时使用 `SUBPARTITION` 没有警告提醒的问题 [#41198](https://github.com/pingcap/tidb/issues/41198) [#41200](https://github.com/pingcap/tidb/issues/41200) @[mjonss](https://github.com/mjonss) - - 修复了执行时间超过 `MAX_EXECUTION_TIME` 的 query 被 kill 时的报错信息和 MySQL 不一致的问题 [#43031](https://github.com/pingcap/tidb/issues/43031) @[dveeden](https://github.com/dveeden) - - 修复了 `LEADING` hint 不支持查询块别名 (query block alias) 的问题 [#44645](https://github.com/pingcap/tidb/issues/44645) @[qw4990](https://github.com/qw4990) + - 修复执行时间超过 `MAX_EXECUTION_TIME` 的 query 被 kill 时的报错信息和 MySQL 不一致的问题 [#43031](https://github.com/pingcap/tidb/issues/43031) @[dveeden](https://github.com/dveeden) + - 修复 `LEADING` hint 不支持查询块别名 (query block alias) 的问题 [#44645](https://github.com/pingcap/tidb/issues/44645) @[qw4990](https://github.com/qw4990) - 修复 `LAST_INSERT_ID()` 函数的返回类型,从 VARCHAR 变更为 LONGLONG,与 MySQL 一致 [#44574](https://github.com/pingcap/tidb/issues/44574) @[Defined2014](https://github.com/Defined2014) - 修复在带有非关联子查询的语句中使用公共表表达式 (CTE) 可能导致结果错误的问题 [#44051](https://github.com/pingcap/tidb/issues/44051) @[winoros](https://github.com/winoros) - 修复 Join Reorder 可能会造成 Outer Join 结果错误的问题 [#44314](https://github.com/pingcap/tidb/issues/44314) @[AilinKid](https://github.com/AilinKid) - - 修复了 `PREPARE stmt FROM "ANALYZE TABLE xxx"` 会被 `tidb_mem_quota_query` kill 掉的问题 [#44320](https://github.com/pingcap/tidb/issues/44320) @[chrysan](https://github.com/chrysan) + - 修复 `PREPARE stmt FROM "ANALYZE TABLE xxx"` 会被 `tidb_mem_quota_query` kill 掉的问题 [#44320](https://github.com/pingcap/tidb/issues/44320) @[chrysan](https://github.com/chrysan) + TiKV From 1dff55b81ab38c8052479bd2f78a711a1c4657c1 Mon Sep 17 00:00:00 2001 From: Ran Date: Thu, 29 Jun 2023 12:10:22 +0800 Subject: [PATCH 120/121] Update releases/release-7.2.0.md --- releases/release-7.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.2.0.md b/releases/release-7.2.0.md index 52814f5172cf..aa049790268e 100644 --- a/releases/release-7.2.0.md +++ b/releases/release-7.2.0.md @@ -146,7 +146,7 @@ TiDB 版本:7.2.0 ADMIN RESUME DDL JOBS 1,2; ``` - 更多信息,请参考[用户文档](/ddl-introduction.md#ddl-相关的命令介绍)。 + 更多信息,请参考[用户文档](/ddl-introduction.md#ddl-相关的命令介绍)。 ### 数据迁移 From 00aaf2ad30e6ae3fc9e4f0c5b8cfa635b6ea0dde Mon Sep 17 00:00:00 2001 From: qiancai Date: Thu, 29 Jun 2023 12:14:59 +0800 Subject: [PATCH 121/121] Update upgrade-tidb-using-tiup.md --- upgrade-tidb-using-tiup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/upgrade-tidb-using-tiup.md b/upgrade-tidb-using-tiup.md index d6bb247f8b37..5029f6257997 100644 --- a/upgrade-tidb-using-tiup.md +++ b/upgrade-tidb-using-tiup.md @@ -43,7 +43,7 @@ title: 使用 TiUP 升级 TiDB ### 2.1 查阅兼容性变更 -查阅 TiDB v7.1.0 release notes 中的[兼容性变更](/releases/release-7.1.0.md#兼容性变更)。如果有任何变更影响到了你的升级,请采取相应的措施。 +查阅 TiDB v7.2.0 release notes 中的[兼容性变更](/releases/release-7.2.0.md#兼容性变更)。如果有任何变更影响到了你的升级,请采取相应的措施。 ### 2.2 升级 TiUP 或更新 TiUP 离线镜像