From 4a3e166e70a1ef77caba6d00e8835df6df89cddb Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 3 Jun 2024 09:35:33 +0800 Subject: [PATCH 001/140] Create release-8.2.0.md --- releases/release-8.2.0.md | 231 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 231 insertions(+) create mode 100644 releases/release-8.2.0.md diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md new file mode 100644 index 000000000000..41e7a9cb04ec --- /dev/null +++ b/releases/release-8.2.0.md @@ -0,0 +1,231 @@ +--- +title: TiDB 8.2.0 Release Notes +summary: 了解 TiDB 8.2.0 版本的新功能、兼容性变更、改进提升,以及错误修复。 +--- + +# TiDB 8.2.0 Release Notes + +发版日期:2024 年 x 月 x 日 + +TiDB 版本:8.2.0 + +试用链接:[快速体验](https://docs.pingcap.com/zh/tidb/v8.2/quick-start-with-tidb) | [下载离线包](https://cn.pingcap.com/product-community/?version=v8.2.0-DMR#version-list) + +在 8.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.5.0 升级至当前版本 (v8.2.0) 所需兼容性变更信息。如果从 v7.4.0 或之前版本升级到当前版本,可能也需要考虑和查看中间版本 Release Notes 中提到的兼容性变更信息。 + +### 行为变更 + +* 行为变更 1 + +* 行为变更 2 + +### MySQL 兼容性 + +* 兼容性 1 + +* 兼容性 2 + +### 系统变量 + +| 变量名 | 修改类型(包括新增/修改/删除) | 描述 | +|--------|------------------------------|------| +| | | | +| | | | +| | | | +| | | | + +### 系统表 + +### 其他 + +## 离线包变更 + +## 废弃功能 + +* 废弃功能 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 9f4ff1099b1538dae34a81e412d0cd830e5c4991 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 3 Jun 2024 09:48:41 +0800 Subject: [PATCH 002/140] Update release-8.2.0.md --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 41e7a9cb04ec..301166b8cac4 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -91,7 +91,7 @@ TiDB 版本:8.2.0 > **注意:** > -> 以下为从 v7.5.0 升级至当前版本 (v8.2.0) 所需兼容性变更信息。如果从 v7.4.0 或之前版本升级到当前版本,可能也需要考虑和查看中间版本 Release Notes 中提到的兼容性变更信息。 +> 以下为从 v8.1.0 升级至当前版本 (v8.2.0) 所需兼容性变更信息。如果从 v8.0.0 或之前版本升级到当前版本,可能也需要考虑和查看中间版本 Release Notes 中提到的兼容性变更信息。 ### 行为变更 From 853d78d8b8bcd3f4cd9d936d020f049a07820627 Mon Sep 17 00:00:00 2001 From: joey-yez <104608045+joey-yez@users.noreply.github.com> Date: Mon, 3 Jun 2024 18:34:00 +0800 Subject: [PATCH 003/140] Update release-8.2.0.md add note for fd 1663 --- releases/release-8.2.0.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 301166b8cac4..c1ba4d09c720 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -31,6 +31,15 @@ TiDB 版本:8.2.0 更多信息,请参考[用户文档](链接)。 +* 支持下推以下字符串函数到 TiKV [#48170](https://github.com/pingcap/tidb/issues/48170) @[dbsid](https://github.com/dbsid) **tw@Oreoxmt** + + * `JSON_APPEND()` + * `JSON_ARRAY_APPEND()` + * `JSON_MERGE_PATCH()` + * `JSON_REPLACE()` + + 更多信息,请参考[用户文档](/functions-and-operators/expressions-pushed-down.md)。 + ### 稳定性 * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** From 4f01a1eba67059c65ee3776dab1f106e037ea2e5 Mon Sep 17 00:00:00 2001 From: joey-yez <104608045+joey-yez@users.noreply.github.com> Date: Tue, 4 Jun 2024 13:55:25 +0800 Subject: [PATCH 004/140] Update release-8.2.0.md --- releases/release-8.2.0.md | 1 - 1 file changed, 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index c1ba4d09c720..8bc41f16ae78 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -33,7 +33,6 @@ TiDB 版本:8.2.0 * 支持下推以下字符串函数到 TiKV [#48170](https://github.com/pingcap/tidb/issues/48170) @[dbsid](https://github.com/dbsid) **tw@Oreoxmt** - * `JSON_APPEND()` * `JSON_ARRAY_APPEND()` * `JSON_MERGE_PATCH()` * `JSON_REPLACE()` From f53e427382c373d694c4748a2b936e3b93f0df40 Mon Sep 17 00:00:00 2001 From: joey-yez <104608045+joey-yez@users.noreply.github.com> Date: Thu, 6 Jun 2024 17:21:00 +0800 Subject: [PATCH 005/140] Update release-8.2.0.md add note for fd 1818, 1636, 1663, 1842, 1561, 1665 --- releases/release-8.2.0.md | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 8bc41f16ae78..a32ee3a9e622 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -31,13 +31,25 @@ TiDB 版本:8.2.0 更多信息,请参考[用户文档](链接)。 -* 支持下推以下字符串函数到 TiKV [#48170](https://github.com/pingcap/tidb/issues/48170) @[dbsid](https://github.com/dbsid) **tw@Oreoxmt** +* 支持下推以下字符串函数到 TiKV [#50601](https://github.com/pingcap/tidb/issues/50601) @[dbsid](https://github.com/dbsid) **tw@Oreoxmt** * `JSON_ARRAY_APPEND()` * `JSON_MERGE_PATCH()` * `JSON_REPLACE()` 更多信息,请参考[用户文档](/functions-and-operators/expressions-pushed-down.md)。 + +* TiDB 支持并行排序功能 [#49217](https://github.com/pingcap/tidb/issues/49217) [#50746](https://github.com/pingcap/tidb/issues/50746) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@Oreoxmt** + + 在 v8.2.0 版本之前,TiDB 进行排序计算时只能以非并行的方式进行处理,当需要对大量数据进行排序时,查询性能收到影响。 + + 在 v8.2.0 版本中,TiDB 支持并行排序功能,所有的排序计算性能都将得到提升。该功能不需要单独开启,TiDB 将根据变量 [`tidb_executor_concurrency`](/system-variables.md#tidb_executor_concurrency-从-v50-版本开始引入) 的设定,确定使用并行方式或非并行方式进行排序。 + +* TiDB 的并发 HashAgg 算法支持数据落盘(GA)[#35637](https://github.com/pingcap/tidb/issues/35637) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@Oreoxmt** + + 在 v8.0.0 中,TiDB 以实验特性发布了并发 HashAgg 算法支持数据落盘功能。 + + 在 v8.2.0 中,TiDB 正式发布该功能。TiDB 在使用并发 HashAgg 算法时,将根据内存使用情况自动触发数据落盘,从而兼顾性能和数据处理量。该功能默认打开,变量 `tidb_enable_concurrent_hashagg_spill` 将被废弃。 ### 稳定性 @@ -87,6 +99,12 @@ TiDB 版本:8.2.0 更多信息,请参考[用户文档](链接)。 +* 增强 TiFlash 日志脱敏 [#8977](https://github.com/pingcap/tiflash/issues/8977) @[JaySon-Huang](https://github.com/JaySon-Huang) **tw@Oreoxmt** + + 在 v8.0,0 版本,TiDB 增强了日志脱敏功能,可以控制是否对日志信息进行脱敏,以实现在不同场景下安全使用 TiDB 日志,提升了使用日志脱敏能力的安全性和灵活性。在 v8.2.0 版本中,TiFlash 进行了类似的日志脱敏功能增强。要使用此功能,需要将 tiflash-server 中 `security.redact_info_log` 配置项的值均设为 `MARKER`。 + + 更多信息,请参考[用户文档](/tiflash/tiflash-configuration.md#配置文件-tiflashtoml)。 + ### 数据迁移 * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** @@ -132,7 +150,7 @@ TiDB 版本:8.2.0 * 废弃功能 1 -* 废弃功能 2 +* 变量 [`tidb_enable_concurrent_hashagg_spill`](/system-variables.md#tidb_enable_concurrent_hashagg_spill-从-v800-版本开始引入) 将被废弃。 ## 改进提升 @@ -140,6 +158,8 @@ TiDB 版本:8.2.0 - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 优化客户端读取数据超时无法终止查询的问题 [#44009](https://github.com/pingcap/tidb/issues/44009) @[wshwsh12](https://github.com/wshwsh12) **tw@Oreoxmt** + - 优化对大数据量的表进行简单查询的性能 [#53850](https://github.com/pingcap/tidb/issues/53850) @[you06](https://github.com/you06) **tw@Oreoxmt** + TiKV From e3af6b98df81ec4beb4f6ea9b98e0afe4c6ff749 Mon Sep 17 00:00:00 2001 From: Roger Song Date: Fri, 7 Jun 2024 11:00:36 +0800 Subject: [PATCH 006/140] Change of default value to avoid OOM in stats collection --- releases/release-8.2.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index a32ee3a9e622..36ff730b92bc 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -135,8 +135,8 @@ TiDB 版本:8.2.0 | 变量名 | 修改类型(包括新增/修改/删除) | 描述 | |--------|------------------------------|------| -| | | | -| | | | +| [`tidb_enable_historical_stats`](/system-variables.md#tidb_enable_historical_stats) | 修改 | 自 v8.2.0,默认不保存历史统计信息,避免潜在的稳定性问题 | +| [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) | 修改 | 默认设置下,TiDB 不会收集类型为 `mediumtext` 和 `longtext` 的列,避免潜在的 OOM 风险。 | | | | | | | | | From 608d6f08644b6c6c484b65065a5caa45ec341448 Mon Sep 17 00:00:00 2001 From: Roger Song Date: Fri, 7 Jun 2024 18:34:43 +0800 Subject: [PATCH 007/140] Include the reason why plan cache is not qualified --- releases/release-8.2.0.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 36ff730b92bc..0fa711760602 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -91,6 +91,12 @@ TiDB 版本:8.2.0 更多信息,请参考[用户文档](链接)。 +* 记录执行计划没有被缓存的原因 [#issue号](链接) @[qw4990](https://github.com/qw4990) **tw@hfxsdt** + + 在一些场景下,用户希望多数执行计划能够被缓存,以节省执行开销,并降低延迟。目前执行计划缓存对 SQL 有一定限制,部分形态 SQL 的执行计划无法被缓存,但是用户很难识别出无法被缓存的 SQL 以及对应的原因。因此,在新版本中,我们向系统表 [`STATEMENTS_SUMMARY`](/statement-summary-tables.md) 中增加了新的列,解释计划无法被缓存的原因,协助用户做性能调优。 + + 更多信息,请参考[用户文档](/statement-summary-tables.md#表的字段介绍)。 + ### 安全 * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** From 2a5992175aff2ea1b71bca433c661a0cbdca75e6 Mon Sep 17 00:00:00 2001 From: Roger Song Date: Fri, 7 Jun 2024 19:01:21 +0800 Subject: [PATCH 008/140] Increase the performance of loading stats --- releases/release-8.2.0.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 0fa711760602..d5d880ca95d6 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -59,6 +59,14 @@ TiDB 版本:8.2.0 更多信息,请参考[用户文档](链接)。 +* 统计信息加载效率提升 10 倍 [#52831](https://github.com/pingcap/tidb/issues/52831) @[hawkingrei](https://github.com/hawkingrei) **tw@hfxsdt** + + SaaS 或 PaaS 类业务应用中可能存在大量的数据表,这会拖慢了初始统计信息加载的速度,也会降低运行时加载的成功率。TiDB 的启动时间,以及执行计划的准确性都相应会受到影响。在 v8.2.0 中,我们从并发模型,内存分配方式等多个角度了优化统计信息的加载过程,降低延迟,提升吞吐,避免由于统计信息加载问题造成的大规模性能回退,进一步提升了数据库的稳定性。 + + 新增支持自适应的并行加载。默认情况下,配置项[`stats-load-concurrency`](/tidb-configuration-file.md#stats-load-concurrency-从-v540-版本开始引入)的值为 `0`,统计信息加载的并行度会根据硬件规格自动选择。 + + 更多信息,请参考[用户文档](/tidb-configuration-file.md#stats-load-concurrency-从-v540-版本开始引入)。 + ### 高可用 * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** From 985956140f1b971af0d82c05fb8353e52d07a968 Mon Sep 17 00:00:00 2001 From: Roger Song Date: Fri, 7 Jun 2024 19:27:14 +0800 Subject: [PATCH 009/140] Aggregated result set in the inner side of index join --- releases/release-8.2.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index d5d880ca95d6..c16bbf3c9aeb 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -174,6 +174,7 @@ TiDB 版本:8.2.0 - note [#issue](链接) @[贡献者 GitHub ID](链接) - 优化客户端读取数据超时无法终止查询的问题 [#44009](https://github.com/pingcap/tidb/issues/44009) @[wshwsh12](https://github.com/wshwsh12) **tw@Oreoxmt** - 优化对大数据量的表进行简单查询的性能 [#53850](https://github.com/pingcap/tidb/issues/53850) @[you06](https://github.com/you06) **tw@Oreoxmt** + - 聚合的结果集能够作为 Index Join 的内表 [#37068](https://github.com/pingcap/tidb/issues/37068) @[elsa0520](https://github.com/elsa0520) **tw@hfxsdt** + TiKV From 4206708832fb546bda6be336f807af0f124040fe Mon Sep 17 00:00:00 2001 From: Roger Song Date: Fri, 7 Jun 2024 20:01:49 +0800 Subject: [PATCH 010/140] Permission enforcement of switching resource group --- releases/release-8.2.0.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index c16bbf3c9aeb..2f856c866fc1 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -91,6 +91,14 @@ TiDB 版本:8.2.0 更多信息,请参考[用户文档](链接)。 +* 为切换资源组的操作增加权限控制 [#issue号](链接) @[glorv](https://github.com/glorv) **tw@lilin90** + + TiDB 允许用户利用命令 [`SET RESOURCE GROUP`](/sql-statements/sql-statement-set-resource-group.md) 或 Hint [`RESOURCE_GROUP()`](/optimizer-hints.md#resource_groupresource_group_name) 切换到其他资源组,这可能会造成部分数据库用户对资源组的滥用。TiDB v8.2.0 增加了对资源组切换行为的管控,只有被授予动态权限 `RESOURCE_GROUP_ADMIN` 或者 `RESOURCE_GROUP_USER` 的数据库用户,才能切换到其他资源组,加强对系统资源的保护。 + + 为了维持兼容性,从旧版本升级的集群维持原行为不变。通过设置新增变量 [`tidb_resource_control_strict_mode`](/system-variables.md) 为 `ON` ,开启上述的增强权限控制。 + + 更多信息,请参考[用户文档](/tidb-resource-control.md#绑定资源组)。 + ### 可观测性 * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** From 3b1988c76f2187b315a3c8ea132b44c7e0808963 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 11 Jun 2024 09:52:43 +0800 Subject: [PATCH 011/140] Apply suggestions from code review Co-authored-by: Frank945946 <108602632+Frank945946@users.noreply.github.com> --- releases/release-8.2.0.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 2f856c866fc1..3f3097a35bf9 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -82,7 +82,11 @@ TiDB 版本:8.2.0 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) 更多信息,请参考[用户文档](链接)。 +* TiDB 支持 JSON Schema Validation 函数 [#52780](https://github.com/pingcap/tidb/pull/52780) @[dveeden](https://github.com/dveeden) **tw@hfxsd** +在 v8.2.0 版本之前,用户需要依赖外部工具或自定义验证逻辑进行 JSON 数据验证,增加了开发和维护的复杂度,降低了开发效率。 引入该功能后,允许用户在 TiDB 中直接验证 JSON 数据的有效性,提高数据的完整性和一致性,提升了用户的开发效率。 + + 更多信息,请参考[用户文档](链接)。 ### 数据库管理 * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** @@ -91,6 +95,12 @@ TiDB 版本:8.2.0 更多信息,请参考[用户文档](链接)。 +* TiUP 支持部署 PD 微服务 [#5766](https://github.com/tikv/pd/issues/5766) @[rleungx](https://github.com/rleungx) **tw@qiancai** + + 通过将 PD 拆分成多个单独的服务,独立部署进行管理,可以更好地控制资源的使用和隔离,减少不同服务相互之间的影响。从 v8.2.0 开始,TiUP 支持将 PD 以微服务的模式进行部署,用户可以将 TSO 微服务和 Scheduling 微服务,单独进行部署,实现资源隔离以及快速迭代的目的。 + + 更多信息,请参考[用户文档]()。 + * 为切换资源组的操作增加权限控制 [#issue号](链接) @[glorv](https://github.com/glorv) **tw@lilin90** TiDB 允许用户利用命令 [`SET RESOURCE GROUP`](/sql-statements/sql-statement-set-resource-group.md) 或 Hint [`RESOURCE_GROUP()`](/optimizer-hints.md#resource_groupresource_group_name) 切换到其他资源组,这可能会造成部分数据库用户对资源组的滥用。TiDB v8.2.0 增加了对资源组切换行为的管控,只有被授予动态权限 `RESOURCE_GROUP_ADMIN` 或者 `RESOURCE_GROUP_USER` 的数据库用户,才能切换到其他资源组,加强对系统资源的保护。 @@ -143,7 +153,8 @@ TiDB 版本:8.2.0 ### 行为变更 -* 行为变更 1 +* TiDB Lightning ,从 v8.2.0 开始当用户设置 strict-format = true,来切分大的 CSV 文件为多个小的 CSV 文件来提升并发和导入性能时,需要显式指定行结束符 terminator 参数的取值为 \r,\n 或 \r\n 。否则可能导致 CSV 文件数据解析异常。 +* Import Into SQL 语法,从 v8.2.0 开始,当用户导入 CSV 文件,且指定 split 参数来切分大的 CSV 文件为多个小的 CSV 文件来提升并发和导入性能时,需显式指定行结束符 LINES_TERMINATED_BY 参数的取值为 \r,\n 或 \r\n 。否则可能导致 CSV 文件数据解析异常。 * 行为变更 2 From 8356d0efec239511b2514ffa610e54fabff8d08e Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 11 Jun 2024 10:09:50 +0800 Subject: [PATCH 012/140] adjust format and remove description for 1847 --- releases/release-8.2.0.md | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 3f3097a35bf9..1555c109e033 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -38,7 +38,7 @@ TiDB 版本:8.2.0 * `JSON_REPLACE()` 更多信息,请参考[用户文档](/functions-and-operators/expressions-pushed-down.md)。 - + * TiDB 支持并行排序功能 [#49217](https://github.com/pingcap/tidb/issues/49217) [#50746](https://github.com/pingcap/tidb/issues/50746) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@Oreoxmt** 在 v8.2.0 版本之前,TiDB 进行排序计算时只能以非并行的方式进行处理,当需要对大量数据进行排序时,查询性能收到影响。 @@ -48,7 +48,7 @@ TiDB 版本:8.2.0 * TiDB 的并发 HashAgg 算法支持数据落盘(GA)[#35637](https://github.com/pingcap/tidb/issues/35637) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@Oreoxmt** 在 v8.0.0 中,TiDB 以实验特性发布了并发 HashAgg 算法支持数据落盘功能。 - + 在 v8.2.0 中,TiDB 正式发布该功能。TiDB 在使用并发 HashAgg 算法时,将根据内存使用情况自动触发数据落盘,从而兼顾性能和数据处理量。该功能默认打开,变量 `tidb_enable_concurrent_hashagg_spill` 将被废弃。 ### 稳定性 @@ -60,7 +60,7 @@ TiDB 版本:8.2.0 更多信息,请参考[用户文档](链接)。 * 统计信息加载效率提升 10 倍 [#52831](https://github.com/pingcap/tidb/issues/52831) @[hawkingrei](https://github.com/hawkingrei) **tw@hfxsdt** - + SaaS 或 PaaS 类业务应用中可能存在大量的数据表,这会拖慢了初始统计信息加载的速度,也会降低运行时加载的成功率。TiDB 的启动时间,以及执行计划的准确性都相应会受到影响。在 v8.2.0 中,我们从并发模型,内存分配方式等多个角度了优化统计信息的加载过程,降低延迟,提升吞吐,避免由于统计信息加载问题造成的大规模性能回退,进一步提升了数据库的稳定性。 新增支持自适应的并行加载。默认情况下,配置项[`stats-load-concurrency`](/tidb-configuration-file.md#stats-load-concurrency-从-v540-版本开始引入)的值为 `0`,统计信息加载的并行度会根据硬件规格自动选择。 @@ -82,11 +82,13 @@ TiDB 版本:8.2.0 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) 更多信息,请参考[用户文档](链接)。 + * TiDB 支持 JSON Schema Validation 函数 [#52780](https://github.com/pingcap/tidb/pull/52780) @[dveeden](https://github.com/dveeden) **tw@hfxsd** -在 v8.2.0 版本之前,用户需要依赖外部工具或自定义验证逻辑进行 JSON 数据验证,增加了开发和维护的复杂度,降低了开发效率。 引入该功能后,允许用户在 TiDB 中直接验证 JSON 数据的有效性,提高数据的完整性和一致性,提升了用户的开发效率。 + 在 v8.2.0 版本之前,用户需要依赖外部工具或自定义验证逻辑进行 JSON 数据验证,增加了开发和维护的复杂度,降低了开发效率。 引入该功能后,允许用户在 TiDB 中直接验证 JSON 数据的有效性,提高数据的完整性和一致性,提升了用户的开发效率。 更多信息,请参考[用户文档](链接)。 + ### 数据库管理 * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** @@ -101,14 +103,6 @@ TiDB 版本:8.2.0 更多信息,请参考[用户文档]()。 -* 为切换资源组的操作增加权限控制 [#issue号](链接) @[glorv](https://github.com/glorv) **tw@lilin90** - - TiDB 允许用户利用命令 [`SET RESOURCE GROUP`](/sql-statements/sql-statement-set-resource-group.md) 或 Hint [`RESOURCE_GROUP()`](/optimizer-hints.md#resource_groupresource_group_name) 切换到其他资源组,这可能会造成部分数据库用户对资源组的滥用。TiDB v8.2.0 增加了对资源组切换行为的管控,只有被授予动态权限 `RESOURCE_GROUP_ADMIN` 或者 `RESOURCE_GROUP_USER` 的数据库用户,才能切换到其他资源组,加强对系统资源的保护。 - - 为了维持兼容性,从旧版本升级的集群维持原行为不变。通过设置新增变量 [`tidb_resource_control_strict_mode`](/system-variables.md) 为 `ON` ,开启上述的增强权限控制。 - - 更多信息,请参考[用户文档](/tidb-resource-control.md#绑定资源组)。 - ### 可观测性 * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** @@ -153,8 +147,8 @@ TiDB 版本:8.2.0 ### 行为变更 -* TiDB Lightning ,从 v8.2.0 开始当用户设置 strict-format = true,来切分大的 CSV 文件为多个小的 CSV 文件来提升并发和导入性能时,需要显式指定行结束符 terminator 参数的取值为 \r,\n 或 \r\n 。否则可能导致 CSV 文件数据解析异常。 -* Import Into SQL 语法,从 v8.2.0 开始,当用户导入 CSV 文件,且指定 split 参数来切分大的 CSV 文件为多个小的 CSV 文件来提升并发和导入性能时,需显式指定行结束符 LINES_TERMINATED_BY 参数的取值为 \r,\n 或 \r\n 。否则可能导致 CSV 文件数据解析异常。 +* TiDB Lightning,从 v8.2.0 开始当用户设置 strict-format = true,来切分大的 CSV 文件为多个小的 CSV 文件来提升并发和导入性能时,需要显式指定行结束符 terminator 参数的取值为 \r,\n 或 \r\n 。否则可能导致 CSV 文件数据解析异常。 +* Import Into SQL 语法,从 v8.2.0 开始,当用户导入 CSV 文件,且指定 split 参数来切分大的 CSV 文件为多个小的 CSV 文件来提升并发和导入性能时,需显式指定行结束符 LINES_TERMINATED_BY 参数的取值为 \r,\n 或 \r\n 。否则可能导致 CSV 文件数据解析异常。 * 行为变更 2 From 56ae98864cee9bb54a679d1ed7ba97f791a454e0 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 11 Jun 2024 10:17:12 +0800 Subject: [PATCH 013/140] Update release-8.2.0.md --- releases/release-8.2.0.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 1555c109e033..e355caca68d4 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -103,6 +103,14 @@ TiDB 版本:8.2.0 更多信息,请参考[用户文档]()。 +* 为切换资源组的操作增加权限控制 [#issue号](链接) @[glorv](https://github.com/glorv) **tw@lilin90** + + TiDB 允许用户利用命令 [`SET RESOURCE GROUP`](/sql-statements/sql-statement-set-resource-group.md) 或 Hint [`RESOURCE_GROUP()`](/optimizer-hints.md#resource_groupresource_group_name) 切换到其他资源组,这可能会造成部分数据库用户对资源组的滥用。TiDB v8.2.0 增加了对资源组切换行为的管控,只有被授予动态权限 `RESOURCE_GROUP_ADMIN` 或者 `RESOURCE_GROUP_USER` 的数据库用户,才能切换到其他资源组,加强对系统资源的保护。 + + 为了维持兼容性,从旧版本升级的集群维持原行为不变。通过设置新增变量 [`tidb_resource_control_strict_mode`](/system-variables.md) 为 `ON` ,开启上述的增强权限控制。 + + 更多信息,请参考[用户文档](/tidb-resource-control.md#绑定资源组)。 + ### 可观测性 * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** From 3b2b5630f54631862d9b6b4e708d81c3dd4e82fd Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 11 Jun 2024 10:32:54 +0800 Subject: [PATCH 014/140] Update releases/release-8.2.0.md --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index e355caca68d4..80b619a23567 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -103,7 +103,7 @@ TiDB 版本:8.2.0 更多信息,请参考[用户文档]()。 -* 为切换资源组的操作增加权限控制 [#issue号](链接) @[glorv](https://github.com/glorv) **tw@lilin90** +* 为切换资源组的操作增加权限控制 [#issue号](链接) @[glorv](https://github.com/glorv) **tw@lilin90** TiDB 允许用户利用命令 [`SET RESOURCE GROUP`](/sql-statements/sql-statement-set-resource-group.md) 或 Hint [`RESOURCE_GROUP()`](/optimizer-hints.md#resource_groupresource_group_name) 切换到其他资源组,这可能会造成部分数据库用户对资源组的滥用。TiDB v8.2.0 增加了对资源组切换行为的管控,只有被授予动态权限 `RESOURCE_GROUP_ADMIN` 或者 `RESOURCE_GROUP_USER` 的数据库用户,才能切换到其他资源组,加强对系统资源的保护。 From 687bd96887967f17f902d82c7a3ace400bec0b7a Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 11 Jun 2024 10:35:51 +0800 Subject: [PATCH 015/140] Update releases/release-8.2.0.md --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 80b619a23567..c417c73f9295 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -170,7 +170,7 @@ TiDB 版本:8.2.0 | 变量名 | 修改类型(包括新增/修改/删除) | 描述 | |--------|------------------------------|------| -| [`tidb_enable_historical_stats`](/system-variables.md#tidb_enable_historical_stats) | 修改 | 自 v8.2.0,默认不保存历史统计信息,避免潜在的稳定性问题 | +| [`tidb_enable_historical_stats`](/system-variables.md#tidb_enable_historical_stats) | 修改 | 自 v8.2.0,默认不保存历史统计信息,避免潜在的稳定性问题 **tw@hfxsdt** | | [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) | 修改 | 默认设置下,TiDB 不会收集类型为 `mediumtext` 和 `longtext` 的列,避免潜在的 OOM 风险。 | | | | | | | | | From 0d9babdde971f92912488143e06b0dd8648b6668 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 11 Jun 2024 13:26:07 +0800 Subject: [PATCH 016/140] Update releases/release-8.2.0.md Co-authored-by: JaySon --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index c417c73f9295..4fc575843846 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -135,7 +135,7 @@ TiDB 版本:8.2.0 * 增强 TiFlash 日志脱敏 [#8977](https://github.com/pingcap/tiflash/issues/8977) @[JaySon-Huang](https://github.com/JaySon-Huang) **tw@Oreoxmt** - 在 v8.0,0 版本,TiDB 增强了日志脱敏功能,可以控制是否对日志信息进行脱敏,以实现在不同场景下安全使用 TiDB 日志,提升了使用日志脱敏能力的安全性和灵活性。在 v8.2.0 版本中,TiFlash 进行了类似的日志脱敏功能增强。要使用此功能,需要将 tiflash-server 中 `security.redact_info_log` 配置项的值均设为 `MARKER`。 + 在 v8.0.0 版本,TiDB 增强了日志脱敏功能,可以控制是否对日志信息进行脱敏,以实现在不同场景下安全使用 TiDB 日志,提升了使用日志脱敏能力的安全性和灵活性。在 v8.2.0 版本中,TiFlash 进行了类似的日志脱敏功能增强。要使用此功能,需要将 tiflash-server 中 `security.redact_info_log` 配置项的值设为 `MARKER`。 更多信息,请参考[用户文档](/tiflash/tiflash-configuration.md#配置文件-tiflashtoml)。 From 29869c79c9f3e1c2b1df291095ef80f012ecd3b3 Mon Sep 17 00:00:00 2001 From: joey-yez <104608045+joey-yez@users.noreply.github.com> Date: Tue, 11 Jun 2024 14:07:46 +0800 Subject: [PATCH 017/140] Update tiproxy note --- releases/release-8.2.0.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 4fc575843846..2c6195d4cee8 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -75,6 +75,18 @@ TiDB 版本:8.2.0 更多信息,请参考[用户文档](链接)。 +* TiProxy 支持多种负载均衡策略 [#465](https://github.com/pingcap/tiproxy/issues/465) @[djshow832](https://github.com/djshow832) @[xhebox](https://github.com/xhebox) **tw@Oreoxmt** + + TiProxy 是 TiDB 的官方代理组件,位于客户端和 TiDB server 之间,为 TiDB 提供负载均衡、连接保持功能。在 v8.2.0 之前,TiProxy 只能基于连接数进行负载均衡。 + 在 v8.2.0 中,TiProxy 引入了多种负载均衡策略,除了连接数,还可以根据 TiDB 健康度、资源、地理位置等信息,对集群的连接进行动态负载均衡调度,使整个集群更加稳定。 + + TiProxy 的负载均衡策略可以通过配置项进行配置,具体策略包括: + * `resource`: 资源优先策略,优先级顺序依次为基于状态、健康度、内存、CPU、地理位置、连接数的负载均衡。 + * `location`: 地理优先策略,优先级顺序依次为基于状态、地理位置、健康度、内存、CPU、连接数的负载均衡。 + * `connection`: 最小连接数策略,优先级顺序依次为基于状态、连接数的负载均衡。 + + 更多信息,请参考[用户文档](/tiproxy/tiproxy-load-balance.md)。 + ### SQL 功能 * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** From 5462201bbb9c59f599dd7167ff62a8e653d904d1 Mon Sep 17 00:00:00 2001 From: joey-yez <104608045+joey-yez@users.noreply.github.com> Date: Tue, 11 Jun 2024 14:40:31 +0800 Subject: [PATCH 018/140] Update release-8.2.0.md --- releases/release-8.2.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 2c6195d4cee8..65fe916ed90f 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -77,8 +77,8 @@ TiDB 版本:8.2.0 * TiProxy 支持多种负载均衡策略 [#465](https://github.com/pingcap/tiproxy/issues/465) @[djshow832](https://github.com/djshow832) @[xhebox](https://github.com/xhebox) **tw@Oreoxmt** - TiProxy 是 TiDB 的官方代理组件,位于客户端和 TiDB server 之间,为 TiDB 提供负载均衡、连接保持功能。在 v8.2.0 之前,TiProxy 只能基于连接数进行负载均衡。 - 在 v8.2.0 中,TiProxy 引入了多种负载均衡策略,除了连接数,还可以根据 TiDB 健康度、资源、地理位置等信息,对集群的连接进行动态负载均衡调度,使整个集群更加稳定。 + TiProxy 是 TiDB 的官方代理组件,位于客户端和 TiDB server 之间,为 TiDB 集群提供负载均衡、连接保持功能。在 v8.2.0 之前,TiProxy 默认使用 v1.0.0 版本,只能基于状态和连接数进行负载均衡。 + 在 v8.2.0 中,TiProxy 默认使用 v1.1.0 版本,引入了多种负载均衡策略,除了状态和连接数,还可以根据健康度、资源、地理位置等信息,对 TiDB 集群的连接进行动态负载均衡调度,使整个 TiDB 集群更加稳定。 TiProxy 的负载均衡策略可以通过配置项进行配置,具体策略包括: * `resource`: 资源优先策略,优先级顺序依次为基于状态、健康度、内存、CPU、地理位置、连接数的负载均衡。 From 741d811f1de3d2d384795eec811dfa37ebdab35b Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 11 Jun 2024 14:55:11 +0800 Subject: [PATCH 019/140] add descriptions for two BR features Co-authored-by: 3pointer --- releases/release-8.2.0.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 65fe916ed90f..5775fc1c330e 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -51,6 +51,8 @@ TiDB 版本:8.2.0 在 v8.2.0 中,TiDB 正式发布该功能。TiDB 在使用并发 HashAgg 算法时,将根据内存使用情况自动触发数据落盘,从而兼顾性能和数据处理量。该功能默认打开,变量 `tidb_enable_concurrent_hashagg_spill` 将被废弃。 +* 提升备份百万表场景的备份稳定性以及性能。解决备份过程中因为各种原因(节点重启/扩容/网络问题)带来的长尾问题。 [#52534](https://github.com/pingcap/tidb/issues/52534) @[3pointer](https://github.com/3pointer) **tw@qiancai** + ### 稳定性 * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** @@ -228,6 +230,7 @@ TiDB 版本:8.2.0 + Backup & Restore (BR) + - 优化恢复过程中对 Changefeed 的检查,对于安全的 Changefeed(checkpoint 大于备份时间),不再阻止其恢复。[#53131](https://github.com/pingcap/tidb/issues/53131) @[YuJuncen](https://github.com/YuJuncen) **tw@qiancai** - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) From 16f26edb54fb957f42715e01dde334a5a390e234 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 11 Jun 2024 20:15:08 +0800 Subject: [PATCH 020/140] Update releases/release-8.2.0.md Co-authored-by: Jianjun Liao <36503113+Leavrth@users.noreply.github.com> --- releases/release-8.2.0.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 5775fc1c330e..5df104b40725 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -200,6 +200,8 @@ TiDB 版本:8.2.0 * 废弃功能 1 * 变量 [`tidb_enable_concurrent_hashagg_spill`](/system-variables.md#tidb_enable_concurrent_hashagg_spill-从-v800-版本开始引入) 将被废弃。 +* BR 快照恢复参数 [`concurrency`](/use-br-command-line-tool#常用选项) 将被废弃。 +* BR 快照恢复参数 [`granularity`](/br-snapshot-guide#快照恢复的性能与影响) 将被废弃。 ## 改进提升 From 93c7d98763e05ac0d7f507f62f8a4a062d962f3e Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 13 Jun 2024 09:43:27 +0800 Subject: [PATCH 021/140] add release notes for new BR command options Co-authored-by: BornChanger <97348524+BornChanger@users.noreply.github.com> --- releases/release-8.2.0.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 5df104b40725..239788a41523 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -232,7 +232,8 @@ TiDB 版本:8.2.0 + Backup & Restore (BR) - - 优化恢复过程中对 Changefeed 的检查,对于安全的 Changefeed(checkpoint 大于备份时间),不再阻止其恢复。[#53131](https://github.com/pingcap/tidb/issues/53131) @[YuJuncen](https://github.com/YuJuncen) **tw@qiancai** + - 优化恢复过程中对 Changefeed 的检查,对于安全的 Changefeed(checkpoint 大于备份时间),不再阻止其恢复 [#53131](https://github.com/pingcap/tidb/issues/53131) @[YuJuncen](https://github.com/YuJuncen) **tw@qiancai** + - 对 `BACKUP` 和 `RESTORE` SQL 语句添加了若干常用的参数选项 [#53040](https://github.com/pingcap/tidb/issues/53040) @[[RidRisR](https://github.com/RidRisR) **tw@qiancai** - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) From 996238f62691196706dbe49f34134e1182a02e8d Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 13 Jun 2024 10:21:35 +0800 Subject: [PATCH 022/140] Update releases/release-8.2.0.md --- releases/release-8.2.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 239788a41523..bb7319cbb5e2 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -199,9 +199,9 @@ TiDB 版本:8.2.0 * 废弃功能 1 -* 变量 [`tidb_enable_concurrent_hashagg_spill`](/system-variables.md#tidb_enable_concurrent_hashagg_spill-从-v800-版本开始引入) 将被废弃。 -* BR 快照恢复参数 [`concurrency`](/use-br-command-line-tool#常用选项) 将被废弃。 -* BR 快照恢复参数 [`granularity`](/br-snapshot-guide#快照恢复的性能与影响) 将被废弃。 +* 从 v8.0.0 开始,变量 [`tidb_enable_concurrent_hashagg_spill`](/system-variables.md#tidb_enable_concurrent_hashagg_spill-从-v800-版本开始引入) 被废弃。 +* 从 v8.0.0 开始,BR 快照恢复参数 [`concurrency`](/use-br-command-line-tool#常用选项) 被废弃。 **tw@qiancai** +* 从 v8.0.0 开始,BR 快照恢复参数 [`granularity`](/br-snapshot-guide#快照恢复的性能与影响) 被废弃。**tw@qiancai** ## 改进提升 From 96597201878b1343229f3b6f71455261c3496a80 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 13 Jun 2024 14:18:52 +0800 Subject: [PATCH 023/140] Apply suggestions from code review Co-authored-by: xzhangxian1008 --- releases/release-8.2.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index bb7319cbb5e2..1f3bb550ea3a 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -41,7 +41,7 @@ TiDB 版本:8.2.0 * TiDB 支持并行排序功能 [#49217](https://github.com/pingcap/tidb/issues/49217) [#50746](https://github.com/pingcap/tidb/issues/50746) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@Oreoxmt** - 在 v8.2.0 版本之前,TiDB 进行排序计算时只能以非并行的方式进行处理,当需要对大量数据进行排序时,查询性能收到影响。 + 在 v8.2.0 版本之前,TiDB 进行排序计算时只能以非并行的方式进行处理,当需要对大量数据进行排序时,查询性能受到影响。 在 v8.2.0 版本中,TiDB 支持并行排序功能,所有的排序计算性能都将得到提升。该功能不需要单独开启,TiDB 将根据变量 [`tidb_executor_concurrency`](/system-variables.md#tidb_executor_concurrency-从-v50-版本开始引入) 的设定,确定使用并行方式或非并行方式进行排序。 @@ -184,7 +184,7 @@ TiDB 版本:8.2.0 | 变量名 | 修改类型(包括新增/修改/删除) | 描述 | |--------|------------------------------|------| -| [`tidb_enable_historical_stats`](/system-variables.md#tidb_enable_historical_stats) | 修改 | 自 v8.2.0,默认不保存历史统计信息,避免潜在的稳定性问题 **tw@hfxsdt** | +| [`tidb_enable_historical_stats`](/system-variables.md#tidb_enable_historical_stats) | 修改 | 自 v8.2.0,默认不保存历史统计信息,避免潜在的稳定性问题 **tw@hfxsd** | | [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) | 修改 | 默认设置下,TiDB 不会收集类型为 `mediumtext` 和 `longtext` 的列,避免潜在的 OOM 风险。 | | | | | | | | | From 982bf4f637ad45f61f93d7830bf06a0ab379b96c Mon Sep 17 00:00:00 2001 From: 3pointer Date: Mon, 17 Jun 2024 11:19:21 +0800 Subject: [PATCH 024/140] Update releases/release-8.2.0.md Co-authored-by: easonn7 <93458949+easonn7@users.noreply.github.com> --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 1f3bb550ea3a..8961f9428e34 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -232,7 +232,7 @@ TiDB 版本:8.2.0 + Backup & Restore (BR) - - 优化恢复过程中对 Changefeed 的检查,对于安全的 Changefeed(checkpoint 大于备份时间),不再阻止其恢复 [#53131](https://github.com/pingcap/tidb/issues/53131) @[YuJuncen](https://github.com/YuJuncen) **tw@qiancai** + - 优化恢复过程中对 Changefeed 的细粒度检查,如果 Changefeed 的检查点时间(Checkpoint)大于备份时间,则不会影响正常的恢复操作,减少恢复的不必要等待时间,提升用户体验 [#53131](https://github.com/pingcap/tidb/issues/53131) @[YuJuncen](https://github.com/YuJuncen) **tw@qiancai** - 对 `BACKUP` 和 `RESTORE` SQL 语句添加了若干常用的参数选项 [#53040](https://github.com/pingcap/tidb/issues/53040) @[[RidRisR](https://github.com/RidRisR) **tw@qiancai** - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) From 6936971aed49dd33874bd08188edcaf5bb516733 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 17 Jun 2024 13:42:05 +0800 Subject: [PATCH 025/140] Update releases/release-8.2.0.md --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 8961f9428e34..3b7bfc2d6575 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -185,7 +185,7 @@ TiDB 版本:8.2.0 | 变量名 | 修改类型(包括新增/修改/删除) | 描述 | |--------|------------------------------|------| | [`tidb_enable_historical_stats`](/system-variables.md#tidb_enable_historical_stats) | 修改 | 自 v8.2.0,默认不保存历史统计信息,避免潜在的稳定性问题 **tw@hfxsd** | -| [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) | 修改 | 默认设置下,TiDB 不会收集类型为 `mediumtext` 和 `longtext` 的列,避免潜在的 OOM 风险。 | +| [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) | 修改 | 默认设置下,TiDB 不会收集类型为 `mediumtext` 和 `longtext` 的列,避免潜在的 OOM 风险。**tw@hfxsd** | | | | | | | | | From ff0538a51c07cc6fe92df1062bc99f39e5a1932d Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 17 Jun 2024 13:56:39 +0800 Subject: [PATCH 026/140] add doc links for #53040 --- releases/release-8.2.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 3b7bfc2d6575..a10518015d27 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -233,7 +233,7 @@ TiDB 版本:8.2.0 + Backup & Restore (BR) - 优化恢复过程中对 Changefeed 的细粒度检查,如果 Changefeed 的检查点时间(Checkpoint)大于备份时间,则不会影响正常的恢复操作,减少恢复的不必要等待时间,提升用户体验 [#53131](https://github.com/pingcap/tidb/issues/53131) @[YuJuncen](https://github.com/YuJuncen) **tw@qiancai** - - 对 `BACKUP` 和 `RESTORE` SQL 语句添加了若干常用的参数选项 [#53040](https://github.com/pingcap/tidb/issues/53040) @[[RidRisR](https://github.com/RidRisR) **tw@qiancai** + - 为 [`BACKUP`](/sql-statements/sql-statement-backup.md) 语句和 [`RESTORE`](sql-statements/sql-statement-restore.md) 语句添加了若干常用的参数选项,例如 `CHECKSUM_CONCURRENCY` [#53040](https://github.com/pingcap/tidb/issues/53040) @[RidRisR](https://github.com/RidRisR) **tw@qiancai** - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) @@ -310,4 +310,4 @@ TiDB 版本:8.2.0 感谢来自 TiDB 社区的贡献者们: -- [贡献者 GitHub ID]() \ No newline at end of file +- [贡献者 GitHub ID](链接) \ No newline at end of file From e8fa8f9aaf862036ffb92235520fe54254121d06 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 17 Jun 2024 14:16:03 +0800 Subject: [PATCH 027/140] clean up placeholders --- releases/release-8.2.0.md | 52 ++++++--------------------------------- 1 file changed, 8 insertions(+), 44 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index a10518015d27..c00eadf94b68 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -25,12 +25,6 @@ TiDB 版本:8.2.0 ### 性能 -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 - * 支持下推以下字符串函数到 TiKV [#50601](https://github.com/pingcap/tidb/issues/50601) @[dbsid](https://github.com/dbsid) **tw@Oreoxmt** * `JSON_ARRAY_APPEND()` @@ -55,12 +49,6 @@ TiDB 版本:8.2.0 ### 稳定性 -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 - * 统计信息加载效率提升 10 倍 [#52831](https://github.com/pingcap/tidb/issues/52831) @[hawkingrei](https://github.com/hawkingrei) **tw@hfxsdt** SaaS 或 PaaS 类业务应用中可能存在大量的数据表,这会拖慢了初始统计信息加载的速度,也会降低运行时加载的成功率。TiDB 的启动时间,以及执行计划的准确性都相应会受到影响。在 v8.2.0 中,我们从并发模型,内存分配方式等多个角度了优化统计信息的加载过程,降低延迟,提升吞吐,避免由于统计信息加载问题造成的大规模性能回退,进一步提升了数据库的稳定性。 @@ -71,12 +59,6 @@ TiDB 版本:8.2.0 ### 高可用 -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 - * TiProxy 支持多种负载均衡策略 [#465](https://github.com/pingcap/tiproxy/issues/465) @[djshow832](https://github.com/djshow832) @[xhebox](https://github.com/xhebox) **tw@Oreoxmt** TiProxy 是 TiDB 的官方代理组件,位于客户端和 TiDB server 之间,为 TiDB 集群提供负载均衡、连接保持功能。在 v8.2.0 之前,TiProxy 默认使用 v1.0.0 版本,只能基于状态和连接数进行负载均衡。 @@ -91,13 +73,7 @@ TiDB 版本:8.2.0 ### SQL 功能 -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 - -* TiDB 支持 JSON Schema Validation 函数 [#52780](https://github.com/pingcap/tidb/pull/52780) @[dveeden](https://github.com/dveeden) **tw@hfxsd** +* TiDB 支持 JSON Schema Validation 函数 [#52779](https://github.com/pingcap/tidb/issues/52779) @[dveeden](https://github.com/dveeden) **tw@hfxsd** 在 v8.2.0 版本之前,用户需要依赖外部工具或自定义验证逻辑进行 JSON 数据验证,增加了开发和维护的复杂度,降低了开发效率。 引入该功能后,允许用户在 TiDB 中直接验证 JSON 数据的有效性,提高数据的完整性和一致性,提升了用户的开发效率。 @@ -105,12 +81,6 @@ TiDB 版本:8.2.0 ### 数据库管理 -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 - * TiUP 支持部署 PD 微服务 [#5766](https://github.com/tikv/pd/issues/5766) @[rleungx](https://github.com/rleungx) **tw@qiancai** 通过将 PD 拆分成多个单独的服务,独立部署进行管理,可以更好地控制资源的使用和隔离,减少不同服务相互之间的影响。从 v8.2.0 开始,TiUP 支持将 PD 以微服务的模式进行部署,用户可以将 TSO 微服务和 Scheduling 微服务,单独进行部署,实现资源隔离以及快速迭代的目的。 @@ -127,13 +97,7 @@ TiDB 版本:8.2.0 ### 可观测性 -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 - -* 记录执行计划没有被缓存的原因 [#issue号](链接) @[qw4990](https://github.com/qw4990) **tw@hfxsdt** +* 记录执行计划没有被缓存的原因 [#issue号](链接) @[qw4990](https://github.com/qw4990) **tw@hfxsd** 在一些场景下,用户希望多数执行计划能够被缓存,以节省执行开销,并降低延迟。目前执行计划缓存对 SQL 有一定限制,部分形态 SQL 的执行计划无法被缓存,但是用户很难识别出无法被缓存的 SQL 以及对应的原因。因此,在新版本中,我们向系统表 [`STATEMENTS_SUMMARY`](/statement-summary-tables.md) 中增加了新的列,解释计划无法被缓存的原因,协助用户做性能调优。 @@ -141,12 +105,6 @@ TiDB 版本:8.2.0 ### 安全 -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 - * 增强 TiFlash 日志脱敏 [#8977](https://github.com/pingcap/tiflash/issues/8977) @[JaySon-Huang](https://github.com/JaySon-Huang) **tw@Oreoxmt** 在 v8.0.0 版本,TiDB 增强了日志脱敏功能,可以控制是否对日志信息进行脱敏,以实现在不同场景下安全使用 TiDB 日志,提升了使用日志脱敏能力的安全性和灵活性。在 v8.2.0 版本中,TiFlash 进行了类似的日志脱敏功能增强。要使用此功能,需要将 tiflash-server 中 `security.redact_info_log` 配置项的值设为 `MARKER`。 @@ -189,6 +147,12 @@ TiDB 版本:8.2.0 | | | | | | | | +### 配置文件参数 + +| 配置文件 | 配置项 | 修改类型 | 描述 | +|----------------|--------------------|------|------------------------------------| +| | | | | + ### 系统表 ### 其他 From 3f6b1c3336f38eedade2495dca6611ed0cfdb44f Mon Sep 17 00:00:00 2001 From: Aolin Date: Tue, 18 Jun 2024 10:59:05 +0800 Subject: [PATCH 028/140] fix the value option of security.redact_info_log Co-authored-by: JaySon --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index c00eadf94b68..a50116b46879 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -107,7 +107,7 @@ TiDB 版本:8.2.0 * 增强 TiFlash 日志脱敏 [#8977](https://github.com/pingcap/tiflash/issues/8977) @[JaySon-Huang](https://github.com/JaySon-Huang) **tw@Oreoxmt** - 在 v8.0.0 版本,TiDB 增强了日志脱敏功能,可以控制是否对日志信息进行脱敏,以实现在不同场景下安全使用 TiDB 日志,提升了使用日志脱敏能力的安全性和灵活性。在 v8.2.0 版本中,TiFlash 进行了类似的日志脱敏功能增强。要使用此功能,需要将 tiflash-server 中 `security.redact_info_log` 配置项的值设为 `MARKER`。 + 在 v8.0.0 版本,TiDB 增强了日志脱敏功能,可以控制是否对日志信息进行脱敏,以实现在不同场景下安全使用 TiDB 日志,提升了使用日志脱敏能力的安全性和灵活性。在 v8.2.0 版本中,TiFlash 进行了类似的日志脱敏功能增强。要使用此功能,需要将 tiflash-server 中 `security.redact_info_log` 配置项的值设为 `marker`。 更多信息,请参考[用户文档](/tiflash/tiflash-configuration.md#配置文件-tiflashtoml)。 From 48ac9bdf3494b30c878f78b165a5dd8a7a75a740 Mon Sep 17 00:00:00 2001 From: Aolin Date: Mon, 17 Jun 2024 17:11:23 +0800 Subject: [PATCH 029/140] new features: refine wording --- releases/release-8.2.0.md | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index a50116b46879..b3dd1df6d338 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -25,7 +25,7 @@ TiDB 版本:8.2.0 ### 性能 -* 支持下推以下字符串函数到 TiKV [#50601](https://github.com/pingcap/tidb/issues/50601) @[dbsid](https://github.com/dbsid) **tw@Oreoxmt** +* 支持下推以下字符串函数到 TiKV [#50601](https://github.com/pingcap/tidb/issues/50601) @[dbsid](https://github.com/dbsid) **tw@Oreoxmt** * `JSON_ARRAY_APPEND()` * `JSON_MERGE_PATCH()` @@ -33,17 +33,19 @@ TiDB 版本:8.2.0 更多信息,请参考[用户文档](/functions-and-operators/expressions-pushed-down.md)。 -* TiDB 支持并行排序功能 [#49217](https://github.com/pingcap/tidb/issues/49217) [#50746](https://github.com/pingcap/tidb/issues/50746) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@Oreoxmt** +* TiDB 支持并行排序 [#49217](https://github.com/pingcap/tidb/issues/49217) [#50746](https://github.com/pingcap/tidb/issues/50746) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@Oreoxmt** - 在 v8.2.0 版本之前,TiDB 进行排序计算时只能以非并行的方式进行处理,当需要对大量数据进行排序时,查询性能受到影响。 + 在 v8.2.0 之前,TiDB 只能以非并行的方式执行排序计算,当需要对大量数据进行排序时,查询性能会受到影响。 - 在 v8.2.0 版本中,TiDB 支持并行排序功能,所有的排序计算性能都将得到提升。该功能不需要单独开启,TiDB 将根据变量 [`tidb_executor_concurrency`](/system-variables.md#tidb_executor_concurrency-从-v50-版本开始引入) 的设定,确定使用并行方式或非并行方式进行排序。 + 从 v8.2.0 开始,TiDB 支持并行排序功能,显著提升了排序计算的性能。该功能无需手动开启,TiDB 会根据系统变量 [`tidb_executor_concurrency`](/system-variables.md#tidb_executor_concurrency-从-v50-版本开始引入) 的值自动选择并行或非并行排序。 -* TiDB 的并发 HashAgg 算法支持数据落盘(GA)[#35637](https://github.com/pingcap/tidb/issues/35637) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@Oreoxmt** + 更多信息,请参考[用户文档](/system-variables.md#tidb_executor_concurrency-从-v50-版本开始引入)。 - 在 v8.0.0 中,TiDB 以实验特性发布了并发 HashAgg 算法支持数据落盘功能。 +* TiDB 的并行 HashAgg 算法支持数据落盘成为正式功能 (GA) [#35637](https://github.com/pingcap/tidb/issues/35637) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@Oreoxmt** - 在 v8.2.0 中,TiDB 正式发布该功能。TiDB 在使用并发 HashAgg 算法时,将根据内存使用情况自动触发数据落盘,从而兼顾性能和数据处理量。该功能默认打开,变量 `tidb_enable_concurrent_hashagg_spill` 将被废弃。 + TiDB v8.0.0 以实验特性引入了并行 HashAgg 算法支持数据落盘功能。在 v8.2.0 中,该功能成为正式功能 (GA)。TiDB 在使用并行 HashAgg 算法时,将根据内存使用情况自动触发数据落盘,从而兼顾性能和数据处理量。该功能默认开启,控制该功能的变量 `tidb_enable_parallel_hashagg_spill` 将在未来版本中废弃。 + + 更多信息,请参考[用户文档](/system-variables.md#tidb_enable_parallel_hashagg_spill-从-v800-版本开始引入)。 * 提升备份百万表场景的备份稳定性以及性能。解决备份过程中因为各种原因(节点重启/扩容/网络问题)带来的长尾问题。 [#52534](https://github.com/pingcap/tidb/issues/52534) @[3pointer](https://github.com/3pointer) **tw@qiancai** @@ -59,17 +61,19 @@ TiDB 版本:8.2.0 ### 高可用 -* TiProxy 支持多种负载均衡策略 [#465](https://github.com/pingcap/tiproxy/issues/465) @[djshow832](https://github.com/djshow832) @[xhebox](https://github.com/xhebox) **tw@Oreoxmt** +* TiProxy 支持多种负载均衡策略 [#465](https://github.com/pingcap/tiproxy/issues/465) @[djshow832](https://github.com/djshow832) @[xhebox](https://github.com/xhebox) **tw@Oreoxmt** + + TiProxy 是 TiDB 的官方代理组件,位于客户端和 TiDB server 之间,为 TiDB 集群提供负载均衡、连接保持功能。在 v8.2.0 之前,TiProxy 默认使用 v1.0.0 版本,仅支持基于 TiDB server 状态和连接数的负载均衡策略。 + + 从 v8.2.0 开始,TiProxy 默认使用 v1.1.0 版本,新增多种负载均衡策略,除了状态和连接数,还支持根据健康度、内存、CPU、地理位置等信息对 TiDB 集群的连接进行动态负载均衡调度,提高整个 TiDB 集群的稳定性。 - TiProxy 是 TiDB 的官方代理组件,位于客户端和 TiDB server 之间,为 TiDB 集群提供负载均衡、连接保持功能。在 v8.2.0 之前,TiProxy 默认使用 v1.0.0 版本,只能基于状态和连接数进行负载均衡。 - 在 v8.2.0 中,TiProxy 默认使用 v1.1.0 版本,引入了多种负载均衡策略,除了状态和连接数,还可以根据健康度、资源、地理位置等信息,对 TiDB 集群的连接进行动态负载均衡调度,使整个 TiDB 集群更加稳定。 + 你可以通过 TiProxy 配置项 [`policy`](/tiproxy/tiproxy-configuration.md#policy) 配置负载均衡策略的组合和优先级,具体策略包括: - TiProxy 的负载均衡策略可以通过配置项进行配置,具体策略包括: - * `resource`: 资源优先策略,优先级顺序依次为基于状态、健康度、内存、CPU、地理位置、连接数的负载均衡。 - * `location`: 地理优先策略,优先级顺序依次为基于状态、地理位置、健康度、内存、CPU、连接数的负载均衡。 - * `connection`: 最小连接数策略,优先级顺序依次为基于状态、连接数的负载均衡。 + * `resource`:资源优先策略,优先级顺序依次为基于状态、健康度、内存、CPU、地理位置、连接数的负载均衡。 + * `location`:地理优先策略,优先级顺序依次为基于状态、地理位置、健康度、内存、CPU、连接数的负载均衡。 + * `connection`:最小连接数策略,优先级顺序依次为基于状态、连接数的负载均衡。 - 更多信息,请参考[用户文档](/tiproxy/tiproxy-load-balance.md)。 + 更多信息,请参考[用户文档](/tiproxy/tiproxy-load-balance.md)。 ### SQL 功能 @@ -107,7 +111,7 @@ TiDB 版本:8.2.0 * 增强 TiFlash 日志脱敏 [#8977](https://github.com/pingcap/tiflash/issues/8977) @[JaySon-Huang](https://github.com/JaySon-Huang) **tw@Oreoxmt** - 在 v8.0.0 版本,TiDB 增强了日志脱敏功能,可以控制是否对日志信息进行脱敏,以实现在不同场景下安全使用 TiDB 日志,提升了使用日志脱敏能力的安全性和灵活性。在 v8.2.0 版本中,TiFlash 进行了类似的日志脱敏功能增强。要使用此功能,需要将 tiflash-server 中 `security.redact_info_log` 配置项的值设为 `marker`。 + TiDB v8.0.0 增强了日志脱敏功能,支持控制是否对日志信息进行脱敏,以实现在不同场景下安全使用 TiDB 日志,提升了使用日志脱敏能力的安全性和灵活性。在 v8.2.0 中,TiFlash 进行了类似的日志脱敏功能增强。要使用该功能,可以将 TiFlash 配置项 `security.redact_info_log` 的值设置为 `marker`。 更多信息,请参考[用户文档](/tiflash/tiflash-configuration.md#配置文件-tiflashtoml)。 From 0ff02bc9b30e519c4edc7ef32b522d640753c4ea Mon Sep 17 00:00:00 2001 From: Weizhen Wang Date: Tue, 18 Jun 2024 15:14:53 +0800 Subject: [PATCH 030/140] Update releases/release-8.2.0.md Co-authored-by: xixirangrang --- releases/release-8.2.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index b3dd1df6d338..82495bafba69 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -51,11 +51,11 @@ TiDB 版本:8.2.0 ### 稳定性 -* 统计信息加载效率提升 10 倍 [#52831](https://github.com/pingcap/tidb/issues/52831) @[hawkingrei](https://github.com/hawkingrei) **tw@hfxsdt** +* 统计信息加载效率提升 10 倍 [#52831](https://github.com/pingcap/tidb/issues/52831) @[hawkingrei](https://github.com/hawkingrei) **tw@hfxsd** - SaaS 或 PaaS 类业务应用中可能存在大量的数据表,这会拖慢了初始统计信息加载的速度,也会降低运行时加载的成功率。TiDB 的启动时间,以及执行计划的准确性都相应会受到影响。在 v8.2.0 中,我们从并发模型,内存分配方式等多个角度了优化统计信息的加载过程,降低延迟,提升吞吐,避免由于统计信息加载问题造成的大规模性能回退,进一步提升了数据库的稳定性。 + SaaS 或 PaaS 类业务应用中可能存在大量的数据表,这些表不但会拖慢初始统计信息的加载速度,也会增加高负载的情况下同步负载的失败率。TiDB 的启动时间以及执行计划的准确性都会受到影响。在 v8.2.0 中,TiDB 从并发模型、内存分配方式等多个角度优化了统计信息的加载过程,降低延迟,提升吞吐,避免由于统计信息加载速度过慢,影响业务扩容。 - 新增支持自适应的并行加载。默认情况下,配置项[`stats-load-concurrency`](/tidb-configuration-file.md#stats-load-concurrency-从-v540-版本开始引入)的值为 `0`,统计信息加载的并行度会根据硬件规格自动选择。 + 新增支持自适应的并行加载。默认情况下,配置项 [`stats-load-concurrency`](/tidb-configuration-file.md#stats-load-concurrency-从-v540-版本开始引入) 的值为 `0`,统计信息加载的并行度会根据硬件规格自动选择。 更多信息,请参考[用户文档](/tidb-configuration-file.md#stats-load-concurrency-从-v540-版本开始引入)。 From d884a6a009234a42d1172850ff4f57e8669873d2 Mon Sep 17 00:00:00 2001 From: Roger Song Date: Tue, 18 Jun 2024 15:21:13 +0800 Subject: [PATCH 031/140] add deprecation announcement --- releases/release-8.2.0.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index b3dd1df6d338..7d518ae586db 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -170,6 +170,8 @@ TiDB 版本:8.2.0 * 从 v8.0.0 开始,变量 [`tidb_enable_concurrent_hashagg_spill`](/system-variables.md#tidb_enable_concurrent_hashagg_spill-从-v800-版本开始引入) 被废弃。 * 从 v8.0.0 开始,BR 快照恢复参数 [`concurrency`](/use-br-command-line-tool#常用选项) 被废弃。 **tw@qiancai** * 从 v8.0.0 开始,BR 快照恢复参数 [`granularity`](/br-snapshot-guide#快照恢复的性能与影响) 被废弃。**tw@qiancai** +* TiDB 在 v8.0.0 引入了 [Priority Queue](/system-variables.md#tidb_enable_auto_analyze_priority_queue-从-v800-版本开始引入),用来优化统计信息收集的对象排序。[Priority Queue](/system-variables.md#tidb_enable_auto_analyze_priority_queue-从-v800-版本开始引入) 将会成为统计信息收集的唯一排序方式,变量 [`tidb_enable_auto_analyze_priority_queue`](/system-variables.md#tidb_enable_auto_analyze_priority_queue-从-v800-版本开始引入) 计划在未来版本废弃。 +* 计划在后续版本重新设计[执行计划绑定的自动演进](/sql-plan-management.md#自动演进绑定-baseline-evolution),相关的变量和行为会发生变化。 ## 改进提升 From 7c9713716f345e48a0a4018e6b50ab1c6f322364 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Tue, 18 Jun 2024 15:37:20 +0800 Subject: [PATCH 032/140] Apply suggestions from code review --- releases/release-8.2.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 82495bafba69..f82d47d90964 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -79,9 +79,9 @@ TiDB 版本:8.2.0 * TiDB 支持 JSON Schema Validation 函数 [#52779](https://github.com/pingcap/tidb/issues/52779) @[dveeden](https://github.com/dveeden) **tw@hfxsd** - 在 v8.2.0 版本之前,用户需要依赖外部工具或自定义验证逻辑进行 JSON 数据验证,增加了开发和维护的复杂度,降低了开发效率。 引入该功能后,允许用户在 TiDB 中直接验证 JSON 数据的有效性,提高数据的完整性和一致性,提升了用户的开发效率。 + 在 v8.2.0 版本之前,你需要依赖外部工具或自定义验证逻辑进行 JSON 数据验证,开发和维护比较复杂,开发效率低。从 v8.2.0 版本开始,引入了 `JSON_SCHEMA_VALID()` 函数,你可以在 TiDB 中直接验证 JSON 数据的有效性,提高数据的完整性和一致性,提升了开发效率。 - 更多信息,请参考[用户文档](链接)。 + 更多信息,请参考[用户文档](/functions-and-operators/json-functions.md#验证函数)。 ### 数据库管理 @@ -179,7 +179,7 @@ TiDB 版本:8.2.0 - note [#issue](链接) @[贡献者 GitHub ID](链接) - 优化客户端读取数据超时无法终止查询的问题 [#44009](https://github.com/pingcap/tidb/issues/44009) @[wshwsh12](https://github.com/wshwsh12) **tw@Oreoxmt** - 优化对大数据量的表进行简单查询的性能 [#53850](https://github.com/pingcap/tidb/issues/53850) @[you06](https://github.com/you06) **tw@Oreoxmt** - - 聚合的结果集能够作为 Index Join 的内表 [#37068](https://github.com/pingcap/tidb/issues/37068) @[elsa0520](https://github.com/elsa0520) **tw@hfxsdt** + - 聚合的结果集能够作为 IndexJoin 的内表,使更多的复杂查询可以匹配到 IndexJoin,从而可以通过索引提升查询效率 [#37068](https://github.com/pingcap/tidb/issues/37068) @[elsa0520](https://github.com/elsa0520) **tw@hfxsd** + TiKV From 9b2284fef520eb0aaa240ea860eecc19fddf0151 Mon Sep 17 00:00:00 2001 From: Roger Song Date: Tue, 18 Jun 2024 17:17:13 +0800 Subject: [PATCH 033/140] draft highlight --- releases/release-8.2.0.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index abb6d7e27420..98d28c79e037 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -13,6 +13,36 @@ TiDB 版本:8.2.0 在 8.2.0 版本中,你可以获得以下关键特性: + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
分类功能/增强描述
稳定性与高可用TiProxy 支持多种负载均衡策略在新版本中,TiProxy 能够从多个维度(状态,连接数,健康度、内存、CPU、地理位置)对 TiDB 节点进行评估和排序,根据用户设置的目标策略动态选择合适的 TiDB 节点,发送相应的数据库操作。从而优化 TiDB 节点的整体资源使用率,提升集群性能和吞吐。
并行 HashAgg 算法支持数据落盘成为正式功能 (GA)HashAgg 是 TiDB 上最常见的聚合算子,用来快速聚合部分相同字段的行数据,并行 HashAgg 能够进一步提升处理速度。从 v8.0.0 开始,当内存资源不足时,并行的 HashAgg 能够将临时排序数据落盘,避免由于过渡内存使用造成潜在 OOM 风险。在提升性能的同时,也保护了节点的稳定性。这个能力在 v8.2.0 成为正式功能,用户可以安全地设置其并发度。
统计信息加载效率提升 10 倍对于拥有大量表和分区的集群(比如 SaaS 或 PaaS 服务),统计信息加载效率的提升能够解决 TiDB 实例启动缓慢,减少由于统计信息加载失败造成的性能回退,提升集群的稳定性。
数据库管理与可观测性切换资源组受权限控制随着资源管控功能被广泛应用,对资源组切换操作的权限控制能够避免数据库用户对资源的滥用,强化管理员对整体资源使用的保护,从而提升集群的稳定性。
+ ## 功能详情 ### 可扩展性 From 79c6fc2d063162044784a919236214070ae77764 Mon Sep 17 00:00:00 2001 From: Roger Song Date: Tue, 18 Jun 2024 17:42:53 +0800 Subject: [PATCH 034/140] deprecating tidb_enable_async_merge_global_stats --- releases/release-8.2.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 98d28c79e037..3a63d034b485 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -201,6 +201,7 @@ TiDB 版本:8.2.0 * 从 v8.0.0 开始,BR 快照恢复参数 [`concurrency`](/use-br-command-line-tool#常用选项) 被废弃。 **tw@qiancai** * 从 v8.0.0 开始,BR 快照恢复参数 [`granularity`](/br-snapshot-guide#快照恢复的性能与影响) 被废弃。**tw@qiancai** * TiDB 在 v8.0.0 引入了 [Priority Queue](/system-variables.md#tidb_enable_auto_analyze_priority_queue-从-v800-版本开始引入),用来优化统计信息收集的对象排序。[Priority Queue](/system-variables.md#tidb_enable_auto_analyze_priority_queue-从-v800-版本开始引入) 将会成为统计信息收集的唯一排序方式,变量 [`tidb_enable_auto_analyze_priority_queue`](/system-variables.md#tidb_enable_auto_analyze_priority_queue-从-v800-版本开始引入) 计划在未来版本废弃。 +* TiDB 在 v7.5.0 增加了新的统计信息合并方法,用来避免分区统计信息合并时出现 OOM。原有的合并方法将在未来版本被移除,对应的变量 [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入) 也将废弃。 * 计划在后续版本重新设计[执行计划绑定的自动演进](/sql-plan-management.md#自动演进绑定-baseline-evolution),相关的变量和行为会发生变化。 ## 改进提升 From 61e2d6cefad149ac0d5a4e41a399b9ffda662c9f Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Wed, 19 Jun 2024 14:17:06 +0800 Subject: [PATCH 035/140] Apply suggestions from code review --- releases/release-8.2.0.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 3a63d034b485..eadd2f3dd427 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -176,8 +176,10 @@ TiDB 版本:8.2.0 | 变量名 | 修改类型(包括新增/修改/删除) | 描述 | |--------|------------------------------|------| -| [`tidb_enable_historical_stats`](/system-variables.md#tidb_enable_historical_stats) | 修改 | 自 v8.2.0,默认不保存历史统计信息,避免潜在的稳定性问题 **tw@hfxsd** | -| [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) | 修改 | 默认设置下,TiDB 不会收集类型为 `mediumtext` 和 `longtext` 的列,避免潜在的 OOM 风险。**tw@hfxsd** | +| [`tidb_analyze_distsql_scan_concurrency`](/system-variables.md#tidb_analyze_distsql_scan_concurrency-从-v760-版本开始引入) | 修改 | 最小值从 `1` 改为 `0`。当设置为 `0` 时,TiDB 会根据集群规模自适应并发度。**tw@hfxsd** | +| [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) | 修改 | 从 v8.2.0 开始,默认设置下,TiDB 不会收集类型为 `mediumtext` 和 `longtext` 的列,避免潜在的 OOM 风险。**tw@hfxsd** | +| [`tidb_enable_historical_stats`](/system-variables.md#tidb_enable_historical_stats) | 修改 | 默认值改为 `OFF`,即关闭历史统计信息,避免潜在的稳定性问题。 **tw@hfxsd** | +| [`tidb_sysproc_scan_concurrency`](/system-variables.md#tidb_sysproc_scan_concurrency-从-v650-版本开始引入) | 修改 | 最小值从 `1` 改为 `0`。当设置为 `0` 时,TiDB 会根据集群规模自适应并发度。**tw@hfxsd** | | | | | | | | | @@ -185,7 +187,7 @@ TiDB 版本:8.2.0 | 配置文件 | 配置项 | 修改类型 | 描述 | |----------------|--------------------|------|------------------------------------| -| | | | | +| TiDB | [`stats-load-concurrency`](/tidb-configuration-file.md#stats-load-concurrency-从-v540-版本开始引入) | 修改 | 默认值从 `5` 修改为 `0`,最小值从 `1` 修改为 `0`。`0` 为自动模式,根据服务器情况,自动调节并发度。 | ### 系统表 From aea3c2d6bc4a5bdd44cac7f5620fc1e41e2e8f24 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Wed, 19 Jun 2024 16:18:37 +0800 Subject: [PATCH 036/140] Update releases/release-8.2.0.md --- releases/release-8.2.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index eadd2f3dd427..d3f2a6ff13bf 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -176,10 +176,10 @@ TiDB 版本:8.2.0 | 变量名 | 修改类型(包括新增/修改/删除) | 描述 | |--------|------------------------------|------| -| [`tidb_analyze_distsql_scan_concurrency`](/system-variables.md#tidb_analyze_distsql_scan_concurrency-从-v760-版本开始引入) | 修改 | 最小值从 `1` 改为 `0`。当设置为 `0` 时,TiDB 会根据集群规模自适应并发度。**tw@hfxsd** | +| [`tidb_analyze_distsql_scan_concurrency`](/system-variables.md#tidb_analyze_distsql_scan_concurrency-从-v760-版本开始引入) | 修改 | 最小值从 `1` 改为 `0`。当设置为 `0` 时,TiDB 会根据集群规模自适应调整并发度。**tw@hfxsd** | | [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) | 修改 | 从 v8.2.0 开始,默认设置下,TiDB 不会收集类型为 `mediumtext` 和 `longtext` 的列,避免潜在的 OOM 风险。**tw@hfxsd** | | [`tidb_enable_historical_stats`](/system-variables.md#tidb_enable_historical_stats) | 修改 | 默认值改为 `OFF`,即关闭历史统计信息,避免潜在的稳定性问题。 **tw@hfxsd** | -| [`tidb_sysproc_scan_concurrency`](/system-variables.md#tidb_sysproc_scan_concurrency-从-v650-版本开始引入) | 修改 | 最小值从 `1` 改为 `0`。当设置为 `0` 时,TiDB 会根据集群规模自适应并发度。**tw@hfxsd** | +| [`tidb_sysproc_scan_concurrency`](/system-variables.md#tidb_sysproc_scan_concurrency-从-v650-版本开始引入) | 修改 | 最小值从 `1` 改为 `0`。当设置为 `0` 时,TiDB 会根据集群规模自适应调整并发度。**tw@hfxsd** | | | | | | | | | From 8886325208074471f187c14645175ab7830410db Mon Sep 17 00:00:00 2001 From: Aolin Date: Wed, 19 Jun 2024 17:23:41 +0800 Subject: [PATCH 037/140] Apply suggestions from code review Co-authored-by: joey-yez <104608045+joey-yez@users.noreply.github.com> --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index d3f2a6ff13bf..d09e5a123775 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -213,7 +213,7 @@ TiDB 版本:8.2.0 - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) - 优化客户端读取数据超时无法终止查询的问题 [#44009](https://github.com/pingcap/tidb/issues/44009) @[wshwsh12](https://github.com/wshwsh12) **tw@Oreoxmt** - - 优化对大数据量的表进行简单查询的性能 [#53850](https://github.com/pingcap/tidb/issues/53850) @[you06](https://github.com/you06) **tw@Oreoxmt** + - 优化对大数据量的表进行简单查询时获取数据分布信息的性能 [#53850](https://github.com/pingcap/tidb/issues/53850) @[you06](https://github.com/you06) **tw@Oreoxmt** - 聚合的结果集能够作为 IndexJoin 的内表,使更多的复杂查询可以匹配到 IndexJoin,从而可以通过索引提升查询效率 [#37068](https://github.com/pingcap/tidb/issues/37068) @[elsa0520](https://github.com/elsa0520) **tw@hfxsd** + TiKV From c02ef4948b11b73d56b627d7e218b158bc1c7916 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 19 Jun 2024 17:49:02 +0800 Subject: [PATCH 038/140] add tw info for release highlights --- releases/release-8.2.0.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index d09e5a123775..4cbdd7052335 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -24,20 +24,20 @@ TiDB 版本:8.2.0 稳定性与高可用 - TiProxy 支持多种负载均衡策略 + TiProxy 支持多种负载均衡策略 在新版本中,TiProxy 能够从多个维度(状态,连接数,健康度、内存、CPU、地理位置)对 TiDB 节点进行评估和排序,根据用户设置的目标策略动态选择合适的 TiDB 节点,发送相应的数据库操作。从而优化 TiDB 节点的整体资源使用率,提升集群性能和吞吐。 - 并行 HashAgg 算法支持数据落盘成为正式功能 (GA) + 并行 HashAgg 算法支持数据落盘成为正式功能 (GA) HashAgg 是 TiDB 上最常见的聚合算子,用来快速聚合部分相同字段的行数据,并行 HashAgg 能够进一步提升处理速度。从 v8.0.0 开始,当内存资源不足时,并行的 HashAgg 能够将临时排序数据落盘,避免由于过渡内存使用造成潜在 OOM 风险。在提升性能的同时,也保护了节点的稳定性。这个能力在 v8.2.0 成为正式功能,用户可以安全地设置其并发度。 - 统计信息加载效率提升 10 倍 + 统计信息加载效率提升 10 倍) 对于拥有大量表和分区的集群(比如 SaaS 或 PaaS 服务),统计信息加载效率的提升能够解决 TiDB 实例启动缓慢,减少由于统计信息加载失败造成的性能回退,提升集群的稳定性。 数据库管理与可观测性 - 切换资源组受权限控制 + 切换资源组受权限控制 随着资源管控功能被广泛应用,对资源组切换操作的权限控制能够避免数据库用户对资源的滥用,强化管理员对整体资源使用的保护,从而提升集群的稳定性。 From 926cffedad341c479ab63b03b2a30bf9a7a601b8 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Thu, 20 Jun 2024 15:18:47 +0800 Subject: [PATCH 039/140] Update releases/release-8.2.0.md --- releases/release-8.2.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 4cbdd7052335..d876d68fac11 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -32,8 +32,8 @@ TiDB 版本:8.2.0 HashAgg 是 TiDB 上最常见的聚合算子,用来快速聚合部分相同字段的行数据,并行 HashAgg 能够进一步提升处理速度。从 v8.0.0 开始,当内存资源不足时,并行的 HashAgg 能够将临时排序数据落盘,避免由于过渡内存使用造成潜在 OOM 风险。在提升性能的同时,也保护了节点的稳定性。这个能力在 v8.2.0 成为正式功能,用户可以安全地设置其并发度。 - 统计信息加载效率提升 10 倍) - 对于拥有大量表和分区的集群(比如 SaaS 或 PaaS 服务),统计信息加载效率的提升能够解决 TiDB 实例启动缓慢,减少由于统计信息加载失败造成的性能回退,提升集群的稳定性。 + 统计信息加载效率提升 10 倍 + 对于拥有大量表和分区的集群,比如 SaaS 或 PaaS 服务,统计信息加载效率的提升能够解决 TiDB 实例启动缓慢的问题,从而减少由于统计信息加载失败造成的性能回退,提升集群的稳定性。 数据库管理与可观测性 From a17a2794410f89ad422e3e5b3e81c2fe1540cb6e Mon Sep 17 00:00:00 2001 From: Yuanjia Zhang Date: Thu, 20 Jun 2024 17:29:20 +0800 Subject: [PATCH 040/140] Update releases/release-8.2.0.md --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index d876d68fac11..8117c6c49586 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -131,7 +131,7 @@ TiDB 版本:8.2.0 ### 可观测性 -* 记录执行计划没有被缓存的原因 [#issue号](链接) @[qw4990](https://github.com/qw4990) **tw@hfxsd** +* 记录执行计划没有被缓存的原因 [#50618](https://github.com/pingcap/tidb/issues/50618) @[qw4990](https://github.com/qw4990) **tw@hfxsd** 在一些场景下,用户希望多数执行计划能够被缓存,以节省执行开销,并降低延迟。目前执行计划缓存对 SQL 有一定限制,部分形态 SQL 的执行计划无法被缓存,但是用户很难识别出无法被缓存的 SQL 以及对应的原因。因此,在新版本中,我们向系统表 [`STATEMENTS_SUMMARY`](/statement-summary-tables.md) 中增加了新的列,解释计划无法被缓存的原因,协助用户做性能调优。 From fc75ed3f30d1aa9216b85e3a571feb268b946987 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 20 Jun 2024 17:33:41 +0800 Subject: [PATCH 041/140] fix the version number --- releases/release-8.2.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 8117c6c49586..e3d635452272 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -199,9 +199,9 @@ TiDB 版本:8.2.0 * 废弃功能 1 -* 从 v8.0.0 开始,变量 [`tidb_enable_concurrent_hashagg_spill`](/system-variables.md#tidb_enable_concurrent_hashagg_spill-从-v800-版本开始引入) 被废弃。 -* 从 v8.0.0 开始,BR 快照恢复参数 [`concurrency`](/use-br-command-line-tool#常用选项) 被废弃。 **tw@qiancai** -* 从 v8.0.0 开始,BR 快照恢复参数 [`granularity`](/br-snapshot-guide#快照恢复的性能与影响) 被废弃。**tw@qiancai** +* 从 v8.2.0 开始,变量 [`tidb_enable_concurrent_hashagg_spill`](/system-variables.md#tidb_enable_concurrent_hashagg_spill-从-v800-版本开始引入) 被废弃。 +* 从 v8.2.0 开始,BR 快照恢复参数 [`concurrency`](/use-br-command-line-tool#常用选项) 被废弃。 **tw@qiancai** +* 从 v8.20 开始,BR 快照恢复参数 [`granularity`](/br-snapshot-guide#快照恢复的性能与影响) 被废弃。**tw@qiancai** * TiDB 在 v8.0.0 引入了 [Priority Queue](/system-variables.md#tidb_enable_auto_analyze_priority_queue-从-v800-版本开始引入),用来优化统计信息收集的对象排序。[Priority Queue](/system-variables.md#tidb_enable_auto_analyze_priority_queue-从-v800-版本开始引入) 将会成为统计信息收集的唯一排序方式,变量 [`tidb_enable_auto_analyze_priority_queue`](/system-variables.md#tidb_enable_auto_analyze_priority_queue-从-v800-版本开始引入) 计划在未来版本废弃。 * TiDB 在 v7.5.0 增加了新的统计信息合并方法,用来避免分区统计信息合并时出现 OOM。原有的合并方法将在未来版本被移除,对应的变量 [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入) 也将废弃。 * 计划在后续版本重新设计[执行计划绑定的自动演进](/sql-plan-management.md#自动演进绑定-baseline-evolution),相关的变量和行为会发生变化。 From 8baa307865d6fbda4f3cc749a1420acda472c87a Mon Sep 17 00:00:00 2001 From: Aolin Date: Fri, 21 Jun 2024 09:58:26 +0800 Subject: [PATCH 042/140] update a bug fix --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index e3d635452272..98dd05ee4c21 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -212,7 +212,6 @@ TiDB 版本:8.2.0 - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) - - 优化客户端读取数据超时无法终止查询的问题 [#44009](https://github.com/pingcap/tidb/issues/44009) @[wshwsh12](https://github.com/wshwsh12) **tw@Oreoxmt** - 优化对大数据量的表进行简单查询时获取数据分布信息的性能 [#53850](https://github.com/pingcap/tidb/issues/53850) @[you06](https://github.com/you06) **tw@Oreoxmt** - 聚合的结果集能够作为 IndexJoin 的内表,使更多的复杂查询可以匹配到 IndexJoin,从而可以通过索引提升查询效率 [#37068](https://github.com/pingcap/tidb/issues/37068) @[elsa0520](https://github.com/elsa0520) **tw@hfxsd** @@ -266,6 +265,7 @@ TiDB 版本:8.2.0 - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 修复客户端在读取数据超时后无法终止查询的问题 [#44009](https://github.com/pingcap/tidb/issues/44009) @[wshwsh12](https://github.com/wshwsh12) **tw@Oreoxmt** + TiKV From e20d442ac1b5c2ee279f0dde10278c46efc38f8a Mon Sep 17 00:00:00 2001 From: Aolin Date: Fri, 21 Jun 2024 10:18:01 +0800 Subject: [PATCH 043/140] Apply suggestions from code review Co-authored-by: joey-yez <104608045+joey-yez@users.noreply.github.com> --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 98dd05ee4c21..7858b6a4387f 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -265,7 +265,7 @@ TiDB 版本:8.2.0 - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) - - 修复客户端在读取数据超时后无法终止查询的问题 [#44009](https://github.com/pingcap/tidb/issues/44009) @[wshwsh12](https://github.com/wshwsh12) **tw@Oreoxmt** + - 修复在客户端读取数据超时后查询无法被终止的问题 [#44009](https://github.com/pingcap/tidb/issues/44009) @[wshwsh12](https://github.com/wshwsh12) **tw@Oreoxmt** + TiKV From 01552c8a18dc7ab2ba720e549c45b9884c683c15 Mon Sep 17 00:00:00 2001 From: joey-yez <104608045+joey-yez@users.noreply.github.com> Date: Fri, 21 Jun 2024 10:50:57 +0800 Subject: [PATCH 044/140] Update releases/release-8.2.0.md Co-authored-by: Aolin --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 7858b6a4387f..62702316f0a2 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -25,7 +25,7 @@ TiDB 版本:8.2.0 稳定性与高可用 TiProxy 支持多种负载均衡策略 - 在新版本中,TiProxy 能够从多个维度(状态,连接数,健康度、内存、CPU、地理位置)对 TiDB 节点进行评估和排序,根据用户设置的目标策略动态选择合适的 TiDB 节点,发送相应的数据库操作。从而优化 TiDB 节点的整体资源使用率,提升集群性能和吞吐。 + 在 TiDB v8.2.0 中,TiProxy 支持从多个维度(包括状态、连接数、健康度、内存、CPU 和地理位置)对 TiDB 节点进行评估和排序。根据 policy 配置项设置的负载均衡策略,TiProxy 动态选择最优 TiDB 节点执行数据库操作,从而优化 TiDB 节点的整体资源使用率,提升集群性能和吞吐。 并行 HashAgg 算法支持数据落盘成为正式功能 (GA) From a4dcde2b10988bd22e0dfb9eddd9d4cb899a15b2 Mon Sep 17 00:00:00 2001 From: joey-yez <104608045+joey-yez@users.noreply.github.com> Date: Fri, 21 Jun 2024 10:51:32 +0800 Subject: [PATCH 045/140] Update releases/release-8.2.0.md Co-authored-by: Aolin --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 62702316f0a2..e9e580be6a3d 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -29,7 +29,7 @@ TiDB 版本:8.2.0 并行 HashAgg 算法支持数据落盘成为正式功能 (GA) - HashAgg 是 TiDB 上最常见的聚合算子,用来快速聚合部分相同字段的行数据,并行 HashAgg 能够进一步提升处理速度。从 v8.0.0 开始,当内存资源不足时,并行的 HashAgg 能够将临时排序数据落盘,避免由于过渡内存使用造成潜在 OOM 风险。在提升性能的同时,也保护了节点的稳定性。这个能力在 v8.2.0 成为正式功能,用户可以安全地设置其并发度。 + HashAgg 是 TiDB 中常用的聚合算子,用于快速聚合相同字段值的行。TiDB v8.0.0 引入并行 HashAgg 作为实验特性,以进一步提升处理速度。当内存资源不足时,并行 HashAgg 能将临时排序数据落盘,避免由于内存使用过度而引发的潜在 OOM 风险,在提升性能的同时保护了节点的稳定性。该功能在 v8.2.0 成为正式功能,用户可以安全地设置并行 HashAgg 的并发度。 统计信息加载效率提升 10 倍 From 61e7b0ab0bcae270e6154ac9056f14e91eb13f39 Mon Sep 17 00:00:00 2001 From: Aolin Date: Fri, 21 Jun 2024 16:46:23 +0800 Subject: [PATCH 046/140] Apply suggestions from code review Co-authored-by: Grace Cai --- releases/release-8.2.0.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index e9e580be6a3d..730e19cc0eb9 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -25,7 +25,7 @@ TiDB 版本:8.2.0 稳定性与高可用 TiProxy 支持多种负载均衡策略 - 在 TiDB v8.2.0 中,TiProxy 支持从多个维度(包括状态、连接数、健康度、内存、CPU 和地理位置)对 TiDB 节点进行评估和排序。根据 policy 配置项设置的负载均衡策略,TiProxy 动态选择最优 TiDB 节点执行数据库操作,从而优化 TiDB 节点的整体资源使用率,提升集群性能和吞吐。 + 在 TiDB v8.2.0 中,TiProxy 支持从多个维度(包括状态、连接数、健康度、内存、CPU 和地理位置)对 TiDB 节点进行评估和排序,同时支持通过 policy 配置项配置这些负载均衡策略的优先级。TiProxy 将根据 policy 动态选择最优 TiDB 节点执行数据库操作,从而优化 TiDB 节点的整体资源使用率,提升集群性能和吞吐。 并行 HashAgg 算法支持数据落盘成为正式功能 (GA) @@ -73,7 +73,7 @@ TiDB 版本:8.2.0 * TiDB 的并行 HashAgg 算法支持数据落盘成为正式功能 (GA) [#35637](https://github.com/pingcap/tidb/issues/35637) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@Oreoxmt** - TiDB v8.0.0 以实验特性引入了并行 HashAgg 算法支持数据落盘功能。在 v8.2.0 中,该功能成为正式功能 (GA)。TiDB 在使用并行 HashAgg 算法时,将根据内存使用情况自动触发数据落盘,从而兼顾性能和数据处理量。该功能默认开启,控制该功能的变量 `tidb_enable_parallel_hashagg_spill` 将在未来版本中废弃。 + TiDB v8.0.0 以实验特性引入了并行 HashAgg 算法支持数据落盘功能。在 v8.2.0 中,该功能成为正式功能 (GA)。TiDB 在使用并行 HashAgg 算法时,将根据内存使用情况自动触发数据落盘,从而兼顾查询性能和数据处理量。该功能默认开启,控制该功能的变量 `tidb_enable_parallel_hashagg_spill` 将在未来版本中废弃。 更多信息,请参考[用户文档](/system-variables.md#tidb_enable_parallel_hashagg_spill-从-v800-版本开始引入)。 @@ -93,9 +93,9 @@ TiDB 版本:8.2.0 * TiProxy 支持多种负载均衡策略 [#465](https://github.com/pingcap/tiproxy/issues/465) @[djshow832](https://github.com/djshow832) @[xhebox](https://github.com/xhebox) **tw@Oreoxmt** - TiProxy 是 TiDB 的官方代理组件,位于客户端和 TiDB server 之间,为 TiDB 集群提供负载均衡、连接保持功能。在 v8.2.0 之前,TiProxy 默认使用 v1.0.0 版本,仅支持基于 TiDB server 状态和连接数的负载均衡策略。 + TiProxy 是 TiDB 的官方代理组件,位于客户端和 TiDB server 之间,为 TiDB 集群提供负载均衡和连接保持功能。在 v8.2.0 之前,TiProxy 默认使用 v1.0.0 版本,仅支持基于 TiDB server 状态和连接数的负载均衡策略。 - 从 v8.2.0 开始,TiProxy 默认使用 v1.1.0 版本,新增多种负载均衡策略,除了状态和连接数,还支持根据健康度、内存、CPU、地理位置等信息对 TiDB 集群的连接进行动态负载均衡调度,提高整个 TiDB 集群的稳定性。 + 从 v8.2.0 开始,TiProxy 默认使用 v1.1.0 版本,新增多种负载均衡策略,除了状态和连接数,还支持根据健康度、内存、CPU、地理位置对 TiDB 集群的连接进行动态负载均衡调度,提高整个 TiDB 集群的稳定性。 你可以通过 TiProxy 配置项 [`policy`](/tiproxy/tiproxy-configuration.md#policy) 配置负载均衡策略的组合和优先级,具体策略包括: @@ -141,7 +141,7 @@ TiDB 版本:8.2.0 * 增强 TiFlash 日志脱敏 [#8977](https://github.com/pingcap/tiflash/issues/8977) @[JaySon-Huang](https://github.com/JaySon-Huang) **tw@Oreoxmt** - TiDB v8.0.0 增强了日志脱敏功能,支持控制是否对日志信息进行脱敏,以实现在不同场景下安全使用 TiDB 日志,提升了使用日志脱敏能力的安全性和灵活性。在 v8.2.0 中,TiFlash 进行了类似的日志脱敏功能增强。要使用该功能,可以将 TiFlash 配置项 `security.redact_info_log` 的值设置为 `marker`。 + TiDB v8.0.0 增强了日志脱敏功能,支持控制是否使用标记符号 `‹ ›` 包裹 TiDB 日志中的用户数据。基于标记后的日志,你可以在展示日志时决定是否对被标记信息进行脱敏处理,从而提升日志脱敏功能的灵活性。在 v8.2.0 中,TiFlash 进行了类似的日志脱敏功能增强。要使用该功能,可以将 TiFlash 配置项 `security.redact_info_log` 的值设置为 `marker`。 更多信息,请参考[用户文档](/tiflash/tiflash-configuration.md#配置文件-tiflashtoml)。 From a209a3f07412cd71fcd70ad980f0902ba9e973f0 Mon Sep 17 00:00:00 2001 From: Aolin Date: Fri, 21 Jun 2024 16:46:48 +0800 Subject: [PATCH 047/140] Apply suggestions from code review Co-authored-by: Grace Cai --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 730e19cc0eb9..96c9c93a835b 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -29,7 +29,7 @@ TiDB 版本:8.2.0 并行 HashAgg 算法支持数据落盘成为正式功能 (GA) - HashAgg 是 TiDB 中常用的聚合算子,用于快速聚合相同字段值的行。TiDB v8.0.0 引入并行 HashAgg 作为实验特性,以进一步提升处理速度。当内存资源不足时,并行 HashAgg 能将临时排序数据落盘,避免由于内存使用过度而引发的潜在 OOM 风险,在提升性能的同时保护了节点的稳定性。该功能在 v8.2.0 成为正式功能,用户可以安全地设置并行 HashAgg 的并发度。 + HashAgg 是 TiDB 中常用的聚合算子,用于快速聚合具有相同字段值的行。TiDB v8.0.0 引入并行 HashAgg 作为实验特性,以进一步提升处理速度。当内存资源不足时,并行 HashAgg 可以将临时排序数据落盘,避免因内存使用过度而导致的 OOM 风险,从而提升查询性能和节点稳定性。该功能在 v8.2.0 成为正式功能,并默认开启,用户可以安全地设置并行 HashAgg 的并发度。 统计信息加载效率提升 10 倍 From 65a2585e0627be9f27a5222675786d5aa851d104 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Fri, 21 Jun 2024 17:52:15 +0800 Subject: [PATCH 048/140] Apply suggestions from code review --- releases/release-8.2.0.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 96c9c93a835b..75a4ea32b3dd 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -77,8 +77,6 @@ TiDB 版本:8.2.0 更多信息,请参考[用户文档](/system-variables.md#tidb_enable_parallel_hashagg_spill-从-v800-版本开始引入)。 -* 提升备份百万表场景的备份稳定性以及性能。解决备份过程中因为各种原因(节点重启/扩容/网络问题)带来的长尾问题。 [#52534](https://github.com/pingcap/tidb/issues/52534) @[3pointer](https://github.com/3pointer) **tw@qiancai** - ### 稳定性 * 统计信息加载效率提升 10 倍 [#52831](https://github.com/pingcap/tidb/issues/52831) @[hawkingrei](https://github.com/hawkingrei) **tw@hfxsd** @@ -117,9 +115,11 @@ TiDB 版本:8.2.0 * TiUP 支持部署 PD 微服务 [#5766](https://github.com/tikv/pd/issues/5766) @[rleungx](https://github.com/rleungx) **tw@qiancai** - 通过将 PD 拆分成多个单独的服务,独立部署进行管理,可以更好地控制资源的使用和隔离,减少不同服务相互之间的影响。从 v8.2.0 开始,TiUP 支持将 PD 以微服务的模式进行部署,用户可以将 TSO 微服务和 Scheduling 微服务,单独进行部署,实现资源隔离以及快速迭代的目的。 + PD 从 v8.0.0 开始支持微服务模式。该模式通过将 PD 的时间戳分配和集群调度功能拆分为独立的服务进行部署和管理,可以更好地控制资源的使用和隔离,减少不同服务相互之间的影响。但是,在 v8.2.0 之前的版本中,PD 微服务仅支持通过 TiDB Operator 进行部署。 + + 从 v8.2.0 开始,PD 微服务支持通过 TiUP 进行部署。你可以在集群中单独部署 `tso` 微服务和 `scheduling` 微服务,从而实现 PD 的性能扩展,解决大规模集群下 PD 的性能瓶颈问题。当 PD 出现明显的性能瓶颈且无法升级配置的情况下,建议考虑使用该模式。 - 更多信息,请参考[用户文档]()。 + 更多信息,请参考[用户文档](/pd-microservices.md)。 * 为切换资源组的操作增加权限控制 [#issue号](链接) @[glorv](https://github.com/glorv) **tw@lilin90** @@ -234,7 +234,8 @@ TiDB 版本:8.2.0 + Backup & Restore (BR) - - 优化恢复过程中对 Changefeed 的细粒度检查,如果 Changefeed 的检查点时间(Checkpoint)大于备份时间,则不会影响正常的恢复操作,减少恢复的不必要等待时间,提升用户体验 [#53131](https://github.com/pingcap/tidb/issues/53131) @[YuJuncen](https://github.com/YuJuncen) **tw@qiancai** + - 优化备份稳定性以及性能,提升在大量表备份过程发生节点重启、扩容、网络抖动时的备份性能 [#52534](https://github.com/pingcap/tidb/issues/52534) @[3pointer](https://github.com/3pointer) **tw@qiancai** + - 优化恢复过程中对 TiCDC Changefeed 的细粒度检查,如果 Changefeed 的 [CheckpointTS](/ticdc/ticdc-architecture.md#checkpointts) 晚于数据的备份时间,则不会影响恢复操作,从而减少不必要的等待时间,提升用户体验 [#53131](https://github.com/pingcap/tidb/issues/53131) @[YuJuncen](https://github.com/YuJuncen) **tw@qiancai** - 为 [`BACKUP`](/sql-statements/sql-statement-backup.md) 语句和 [`RESTORE`](sql-statements/sql-statement-restore.md) 语句添加了若干常用的参数选项,例如 `CHECKSUM_CONCURRENCY` [#53040](https://github.com/pingcap/tidb/issues/53040) @[RidRisR](https://github.com/RidRisR) **tw@qiancai** - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) From 3b6b72b574599119f2c62fa72bfd6178b056c551 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Fri, 21 Jun 2024 17:59:20 +0800 Subject: [PATCH 049/140] add issue number for #53440 --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 75a4ea32b3dd..49bb5dbb5aff 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -121,7 +121,7 @@ TiDB 版本:8.2.0 更多信息,请参考[用户文档](/pd-microservices.md)。 -* 为切换资源组的操作增加权限控制 [#issue号](链接) @[glorv](https://github.com/glorv) **tw@lilin90** +* 为切换资源组的操作增加权限控制 [#53440](https://github.com/pingcap/tidb/issues/53440) @[glorv](https://github.com/glorv) **tw@lilin90** TiDB 允许用户利用命令 [`SET RESOURCE GROUP`](/sql-statements/sql-statement-set-resource-group.md) 或 Hint [`RESOURCE_GROUP()`](/optimizer-hints.md#resource_groupresource_group_name) 切换到其他资源组,这可能会造成部分数据库用户对资源组的滥用。TiDB v8.2.0 增加了对资源组切换行为的管控,只有被授予动态权限 `RESOURCE_GROUP_ADMIN` 或者 `RESOURCE_GROUP_USER` 的数据库用户,才能切换到其他资源组,加强对系统资源的保护。 From b58cb2ea334cf3584f4cdc62c4bf85288ea28548 Mon Sep 17 00:00:00 2001 From: Lilian Lee Date: Mon, 24 Jun 2024 11:28:21 +0800 Subject: [PATCH 050/140] Update wording --- releases/release-8.2.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 49bb5dbb5aff..8e5dc0401a29 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -37,7 +37,7 @@ TiDB 版本:8.2.0 数据库管理与可观测性 - 切换资源组受权限控制 + 为切换资源组引入权限控制 随着资源管控功能被广泛应用,对资源组切换操作的权限控制能够避免数据库用户对资源的滥用,强化管理员对整体资源使用的保护,从而提升集群的稳定性。 @@ -123,7 +123,7 @@ TiDB 版本:8.2.0 * 为切换资源组的操作增加权限控制 [#53440](https://github.com/pingcap/tidb/issues/53440) @[glorv](https://github.com/glorv) **tw@lilin90** - TiDB 允许用户利用命令 [`SET RESOURCE GROUP`](/sql-statements/sql-statement-set-resource-group.md) 或 Hint [`RESOURCE_GROUP()`](/optimizer-hints.md#resource_groupresource_group_name) 切换到其他资源组,这可能会造成部分数据库用户对资源组的滥用。TiDB v8.2.0 增加了对资源组切换行为的管控,只有被授予动态权限 `RESOURCE_GROUP_ADMIN` 或者 `RESOURCE_GROUP_USER` 的数据库用户,才能切换到其他资源组,加强对系统资源的保护。 + TiDB 允许用户使用命令 [`SET RESOURCE GROUP`](/sql-statements/sql-statement-set-resource-group.md) 或 Hint [`RESOURCE_GROUP()`](/optimizer-hints.md#resource_groupresource_group_name) 切换到其他资源组,这可能会造成部分数据库用户对资源组的滥用。TiDB v8.2.0 增加了对资源组切换行为的管控,只有被授予动态权限 `RESOURCE_GROUP_ADMIN` 或者 `RESOURCE_GROUP_USER` 的数据库用户,才能切换到其他资源组,以加强对系统资源的保护。 为了维持兼容性,从旧版本升级的集群维持原行为不变。通过设置新增变量 [`tidb_resource_control_strict_mode`](/system-variables.md) 为 `ON` ,开启上述的增强权限控制。 From 70026bc3b78705e27cc920c65e434b8573446c37 Mon Sep 17 00:00:00 2001 From: Lilian Lee Date: Mon, 24 Jun 2024 11:36:12 +0800 Subject: [PATCH 051/140] Refine wording --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 8e5dc0401a29..038ddc3b81fc 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -125,7 +125,7 @@ TiDB 版本:8.2.0 TiDB 允许用户使用命令 [`SET RESOURCE GROUP`](/sql-statements/sql-statement-set-resource-group.md) 或 Hint [`RESOURCE_GROUP()`](/optimizer-hints.md#resource_groupresource_group_name) 切换到其他资源组,这可能会造成部分数据库用户对资源组的滥用。TiDB v8.2.0 增加了对资源组切换行为的管控,只有被授予动态权限 `RESOURCE_GROUP_ADMIN` 或者 `RESOURCE_GROUP_USER` 的数据库用户,才能切换到其他资源组,以加强对系统资源的保护。 - 为了维持兼容性,从旧版本升级的集群维持原行为不变。通过设置新增变量 [`tidb_resource_control_strict_mode`](/system-variables.md) 为 `ON` ,开启上述的增强权限控制。 + 为了维持兼容性,从旧版本升级到 v8.2.0 及之后版本的集群维持原行为不变。通过设置新增变量 [`tidb_resource_control_strict_mode`](/system-variables.md) 为 `ON` ,来开启上述的增强权限控制。 更多信息,请参考[用户文档](/tidb-resource-control.md#绑定资源组)。 From 0fd9c9a3ec922de8f59b56ae929b471d9508d376 Mon Sep 17 00:00:00 2001 From: Lilian Lee Date: Mon, 24 Jun 2024 11:37:08 +0800 Subject: [PATCH 052/140] Update format --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 038ddc3b81fc..e3dcc860ae98 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -125,7 +125,7 @@ TiDB 版本:8.2.0 TiDB 允许用户使用命令 [`SET RESOURCE GROUP`](/sql-statements/sql-statement-set-resource-group.md) 或 Hint [`RESOURCE_GROUP()`](/optimizer-hints.md#resource_groupresource_group_name) 切换到其他资源组,这可能会造成部分数据库用户对资源组的滥用。TiDB v8.2.0 增加了对资源组切换行为的管控,只有被授予动态权限 `RESOURCE_GROUP_ADMIN` 或者 `RESOURCE_GROUP_USER` 的数据库用户,才能切换到其他资源组,以加强对系统资源的保护。 - 为了维持兼容性,从旧版本升级到 v8.2.0 及之后版本的集群维持原行为不变。通过设置新增变量 [`tidb_resource_control_strict_mode`](/system-variables.md) 为 `ON` ,来开启上述的增强权限控制。 + 为了维持兼容性,从旧版本升级到 v8.2.0 及之后版本的集群维持原行为不变。通过设置新增变量 [`tidb_resource_control_strict_mode`](/system-variables.md) 为 `ON`,来开启上述的增强权限控制。 更多信息,请参考[用户文档](/tidb-resource-control.md#绑定资源组)。 From 1b22c1ea4c311aed304795468356e3911c273c29 Mon Sep 17 00:00:00 2001 From: Lilian Lee Date: Mon, 24 Jun 2024 12:03:34 +0800 Subject: [PATCH 053/140] Update a link --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index e3dcc860ae98..f92098ffb366 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -125,7 +125,7 @@ TiDB 版本:8.2.0 TiDB 允许用户使用命令 [`SET RESOURCE GROUP`](/sql-statements/sql-statement-set-resource-group.md) 或 Hint [`RESOURCE_GROUP()`](/optimizer-hints.md#resource_groupresource_group_name) 切换到其他资源组,这可能会造成部分数据库用户对资源组的滥用。TiDB v8.2.0 增加了对资源组切换行为的管控,只有被授予动态权限 `RESOURCE_GROUP_ADMIN` 或者 `RESOURCE_GROUP_USER` 的数据库用户,才能切换到其他资源组,以加强对系统资源的保护。 - 为了维持兼容性,从旧版本升级到 v8.2.0 及之后版本的集群维持原行为不变。通过设置新增变量 [`tidb_resource_control_strict_mode`](/system-variables.md) 为 `ON`,来开启上述的增强权限控制。 + 为了维持兼容性,从旧版本升级到 v8.2.0 及之后版本的集群维持原行为不变。通过设置新增变量 [`tidb_resource_control_strict_mode`](/system-variables.md#tidb_resource_control_strict_mode-从-v820-版本开始引入) 为 `ON`,来开启上述的增强权限控制。 更多信息,请参考[用户文档](/tidb-resource-control.md#绑定资源组)。 From 2a0b3172df99190719b23bd53a87b9f8fcd5ec3e Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 24 Jun 2024 13:53:02 +0800 Subject: [PATCH 054/140] add some compatibility changes --- releases/release-8.2.0.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index f92098ffb366..eb57989e58f5 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -176,6 +176,7 @@ TiDB 版本:8.2.0 | 变量名 | 修改类型(包括新增/修改/删除) | 描述 | |--------|------------------------------|------| +| [`tidb_enable_parallel_hashagg_spill`](/system-variables.md#tidb_enable_parallel_hashagg_spill-从-v800-版本开始引入) | 废弃 | **tw@Oreoxmt** | | [`tidb_analyze_distsql_scan_concurrency`](/system-variables.md#tidb_analyze_distsql_scan_concurrency-从-v760-版本开始引入) | 修改 | 最小值从 `1` 改为 `0`。当设置为 `0` 时,TiDB 会根据集群规模自适应调整并发度。**tw@hfxsd** | | [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) | 修改 | 从 v8.2.0 开始,默认设置下,TiDB 不会收集类型为 `mediumtext` 和 `longtext` 的列,避免潜在的 OOM 风险。**tw@hfxsd** | | [`tidb_enable_historical_stats`](/system-variables.md#tidb_enable_historical_stats) | 修改 | 默认值改为 `OFF`,即关闭历史统计信息,避免潜在的稳定性问题。 **tw@hfxsd** | @@ -188,23 +189,24 @@ TiDB 版本:8.2.0 | 配置文件 | 配置项 | 修改类型 | 描述 | |----------------|--------------------|------|------------------------------------| | TiDB | [`stats-load-concurrency`](/tidb-configuration-file.md#stats-load-concurrency-从-v540-版本开始引入) | 修改 | 默认值从 `5` 修改为 `0`,最小值从 `1` 修改为 `0`。`0` 为自动模式,根据服务器情况,自动调节并发度。 | +| TiDB | [`token-limit`](/tidb-configuration-file.md#token-limit) | 修改 | 最大值从 `18446744073709551615` (64 位平台)和 `4294967295`(32 位平台)修改为 `1048576`,代表同时执行请求的 session 个数最多可以设置为 `1048576`。| +| TiKV | [`max-apply-unpersisted-log-limit`](/tikv-configuration-file.md#max-apply-unpersisted-log-limit-从-v820-版本开始引入) | 新增 | 允许 apply 已经 `commit` 但尚未持久化的 Raft 日志的最大数量。 默认值为 `1024`。 | ### 系统表 ### 其他 +- 在 BR v8.2.0 之前的版本中,当 TiCDC 存在同步任务时,BR 不支持进行[数据恢复](/br/backup-and-restore-overview.md)。从 BR 8.2.0 起,BR 数据恢复对 TiCDC 的限制被放宽:如果所恢复数据的 BackupTS(即备份时间)早于 Changefeed 的 [CheckpointTS](/ticdc/ticdc-architecture.md#checkpointts)(即记录当前同步进度的时间戳),BR 数据恢复可以正常进行。考虑到 BackupTS 的时间通常较早,此时可以认为绝大部分场景下,当 TiCDC 存在同步任务时,BR 都可以进行数据恢复。 **tw@qiancai** + ## 离线包变更 ## 废弃功能 -* 废弃功能 1 - -* 从 v8.2.0 开始,变量 [`tidb_enable_concurrent_hashagg_spill`](/system-variables.md#tidb_enable_concurrent_hashagg_spill-从-v800-版本开始引入) 被废弃。 -* 从 v8.2.0 开始,BR 快照恢复参数 [`concurrency`](/use-br-command-line-tool#常用选项) 被废弃。 **tw@qiancai** -* 从 v8.20 开始,BR 快照恢复参数 [`granularity`](/br-snapshot-guide#快照恢复的性能与影响) 被废弃。**tw@qiancai** * TiDB 在 v8.0.0 引入了 [Priority Queue](/system-variables.md#tidb_enable_auto_analyze_priority_queue-从-v800-版本开始引入),用来优化统计信息收集的对象排序。[Priority Queue](/system-variables.md#tidb_enable_auto_analyze_priority_queue-从-v800-版本开始引入) 将会成为统计信息收集的唯一排序方式,变量 [`tidb_enable_auto_analyze_priority_queue`](/system-variables.md#tidb_enable_auto_analyze_priority_queue-从-v800-版本开始引入) 计划在未来版本废弃。 * TiDB 在 v7.5.0 增加了新的统计信息合并方法,用来避免分区统计信息合并时出现 OOM。原有的合并方法将在未来版本被移除,对应的变量 [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入) 也将废弃。 * 计划在后续版本重新设计[执行计划绑定的自动演进](/sql-plan-management.md#自动演进绑定-baseline-evolution),相关的变量和行为会发生变化。 +* 从 v8.2.0 开始,BR 快照恢复参数 [`--concurrency`](/use-br-command-line-tool#常用选项) 被废弃。作为替代,你可以通过 [`--tikv-max-restore-concurrency`](/use-br-command-line-tool#常用选项) 配置快照恢复阶段的单个 TiKV 节点的任务最大并发数。 **tw@qiancai** +* 从 v8.20 开始,BR 快照恢复参数 [`--granularity`](/br-snapshot-guide#快照恢复的性能与影响) 被废弃,[粗粒度打散 Region 算法](/br/br-snapshot-guide.md#恢复快照备份数据)默认启用。**tw@qiancai** ## 改进提升 From 76ad60525e3355aa3c0f4a6a89753c3064ea5520 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 24 Jun 2024 15:06:18 +0800 Subject: [PATCH 055/140] Update releases/release-8.2.0.md --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index eb57989e58f5..36e369baf8fd 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -196,7 +196,7 @@ TiDB 版本:8.2.0 ### 其他 -- 在 BR v8.2.0 之前的版本中,当 TiCDC 存在同步任务时,BR 不支持进行[数据恢复](/br/backup-and-restore-overview.md)。从 BR 8.2.0 起,BR 数据恢复对 TiCDC 的限制被放宽:如果所恢复数据的 BackupTS(即备份时间)早于 Changefeed 的 [CheckpointTS](/ticdc/ticdc-architecture.md#checkpointts)(即记录当前同步进度的时间戳),BR 数据恢复可以正常进行。考虑到 BackupTS 的时间通常较早,此时可以认为绝大部分场景下,当 TiCDC 存在同步任务时,BR 都可以进行数据恢复。 **tw@qiancai** +- 在 BR v8.2.0 之前的版本中,当集群存在 TiCDC 同步任务时,BR 不支持进行[数据恢复](/br/backup-and-restore-overview.md)。从 BR 8.2.0 起,BR 数据恢复对 TiCDC 的限制被放宽:如果所恢复数据的 BackupTS(即备份时间)早于 Changefeed 的 [CheckpointTS](/ticdc/ticdc-architecture.md#checkpointts)(即记录当前同步进度的时间戳),BR 数据恢复可以正常进行。考虑到 BackupTS 的时间通常较早,此时可以认为绝大部分场景下,当集群存在 TiCDC 同步任务时,BR 都可以进行数据恢复。 **tw@qiancai** ## 离线包变更 From e8f96ebfd34b3a84cd6a4aace28c476521542d31 Mon Sep 17 00:00:00 2001 From: lilin90 Date: Mon, 24 Jun 2024 15:24:49 +0800 Subject: [PATCH 056/140] Add new feature description for TiCDC --- releases/release-8.2.0.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 36e369baf8fd..2bea221ca963 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -147,6 +147,12 @@ TiDB 版本:8.2.0 ### 数据迁移 +* 对齐不同 changefeed 的 Syncpoint [#11212](https://github.com/pingcap/tiflow/issues/11212) @[hongyunyan](https://github.com/hongyunyan) **tw@lilin90** + + 在 v8.2.0 之前,对齐多个 changefeed 的 Syncpoint 很有挑战性。在创建 changefeed 时,必须谨慎选择 changefeed 的 `startTs`,以便与其他 changefeed 的 Syncpoint 对齐。从 v8.2.0 开始,为 changefeed 创建的 Syncpoint 是 changefeed 的 `sync-point-interval` 配置的倍数。这个调整让你可以对齐具有相同 `sync-point-interval` 配置的多个 changefeed 的 Syncpoint,简化和提高了对齐多个下游集群的能力。 + + 更多信息,请参考[用户文档](/ticdc/ticdc-upstream-downstream-check.md#注意事项)。 + * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) From 35b64d562ccc07eae301689ab68afc2ad1c975ad Mon Sep 17 00:00:00 2001 From: lilin90 Date: Mon, 24 Jun 2024 15:27:46 +0800 Subject: [PATCH 057/140] Update wording --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 2bea221ca963..dd7f72edad59 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -149,7 +149,7 @@ TiDB 版本:8.2.0 * 对齐不同 changefeed 的 Syncpoint [#11212](https://github.com/pingcap/tiflow/issues/11212) @[hongyunyan](https://github.com/hongyunyan) **tw@lilin90** - 在 v8.2.0 之前,对齐多个 changefeed 的 Syncpoint 很有挑战性。在创建 changefeed 时,必须谨慎选择 changefeed 的 `startTs`,以便与其他 changefeed 的 Syncpoint 对齐。从 v8.2.0 开始,为 changefeed 创建的 Syncpoint 是 changefeed 的 `sync-point-interval` 配置的倍数。这个调整让你可以对齐具有相同 `sync-point-interval` 配置的多个 changefeed 的 Syncpoint,简化和提高了对齐多个下游集群的能力。 + 在 v8.2.0 之前,对齐多个 changefeed 的 Syncpoint 很有挑战性。在创建 changefeed 时,必须谨慎选择 changefeed 的 `startTs`,以便与其他 changefeed 的 Syncpoint 对齐。从 v8.2.0 开始,为 changefeed 创建的 Syncpoint 是 changefeed 的 `sync-point-interval` 配置的倍数。这个调整可以让你对齐具有相同 `sync-point-interval` 配置的多个 changefeed 的 Syncpoint,简化和提高了对齐多个下游集群的能力。 更多信息,请参考[用户文档](/ticdc/ticdc-upstream-downstream-check.md#注意事项)。 From 2226b42199d372151b7a9269070555be652cbb33 Mon Sep 17 00:00:00 2001 From: lilin90 Date: Mon, 24 Jun 2024 16:16:51 +0800 Subject: [PATCH 058/140] Add a system variable to the table --- releases/release-8.2.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index dd7f72edad59..48d69dfcfcb6 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -186,6 +186,7 @@ TiDB 版本:8.2.0 | [`tidb_analyze_distsql_scan_concurrency`](/system-variables.md#tidb_analyze_distsql_scan_concurrency-从-v760-版本开始引入) | 修改 | 最小值从 `1` 改为 `0`。当设置为 `0` 时,TiDB 会根据集群规模自适应调整并发度。**tw@hfxsd** | | [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) | 修改 | 从 v8.2.0 开始,默认设置下,TiDB 不会收集类型为 `mediumtext` 和 `longtext` 的列,避免潜在的 OOM 风险。**tw@hfxsd** | | [`tidb_enable_historical_stats`](/system-variables.md#tidb_enable_historical_stats) | 修改 | 默认值改为 `OFF`,即关闭历史统计信息,避免潜在的稳定性问题。 **tw@hfxsd** | +| [`tidb_resource_control_strict_mode`](/system-variables.md#tidb_resource_control_strict_mode-从-v820-版本开始引入) | 新增 | [`SET RESOURCE GROUP`](/sql-statements/sql-statement-set-resource-group.md) 和优化器 [`RESOURCE_GROUP()`](/optimizer-hints.md#resource_groupresource_group_name) Hint 权限控制的开关。 **tw@lilin90** | | [`tidb_sysproc_scan_concurrency`](/system-variables.md#tidb_sysproc_scan_concurrency-从-v650-版本开始引入) | 修改 | 最小值从 `1` 改为 `0`。当设置为 `0` 时,TiDB 会根据集群规模自适应调整并发度。**tw@hfxsd** | | | | | | | | | From d7f0c900554f59d84222366bb7be68053100a4c0 Mon Sep 17 00:00:00 2001 From: Lilian Lee Date: Tue, 25 Jun 2024 11:07:14 +0800 Subject: [PATCH 059/140] Apply suggestions from code review Co-authored-by: xixirangrang --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 48d69dfcfcb6..539121773055 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -37,7 +37,7 @@ TiDB 版本:8.2.0 数据库管理与可观测性 - 为切换资源组引入权限控制 + 为切换资源组引入权限控制 随着资源管控功能被广泛应用,对资源组切换操作的权限控制能够避免数据库用户对资源的滥用,强化管理员对整体资源使用的保护,从而提升集群的稳定性。 From 0221af43e1a31121067ed0d24bceab16d424a737 Mon Sep 17 00:00:00 2001 From: Grace Cai <79440533+qiancai@users.noreply.github.com> Date: Tue, 25 Jun 2024 15:53:09 +0800 Subject: [PATCH 060/140] update the section for deprecated features --- releases/release-8.2.0.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 539121773055..d81ea118ea1f 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -209,11 +209,11 @@ TiDB 版本:8.2.0 ## 废弃功能 -* TiDB 在 v8.0.0 引入了 [Priority Queue](/system-variables.md#tidb_enable_auto_analyze_priority_queue-从-v800-版本开始引入),用来优化统计信息收集的对象排序。[Priority Queue](/system-variables.md#tidb_enable_auto_analyze_priority_queue-从-v800-版本开始引入) 将会成为统计信息收集的唯一排序方式,变量 [`tidb_enable_auto_analyze_priority_queue`](/system-variables.md#tidb_enable_auto_analyze_priority_queue-从-v800-版本开始引入) 计划在未来版本废弃。 -* TiDB 在 v7.5.0 增加了新的统计信息合并方法,用来避免分区统计信息合并时出现 OOM。原有的合并方法将在未来版本被移除,对应的变量 [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入) 也将废弃。 +* TiDB 在 v8.0.0 引入了系统变量 [`tidb_enable_auto_analyze_priority_queue`](/system-variables.md#tidb_enable_auto_analyze_priority_queue-从-v800-版本开始引入),用于控制是否启用优先队列来优化自动收集统计信息任务的排序。在未来版本中,优先队列将成为自动收集统计信息任务的唯一排序方式,系统变量 [`tidb_enable_auto_analyze_priority_queue`](/system-variables.md#tidb_enable_auto_analyze_priority_queue-从-v800-版本开始引入) 将被废弃。 +* TiDB 在 v7.5.0 引入了系统变量 [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入),用于设置 TiDB 使用异步方式合并分区统计信息,以避免 OOM 问题。在未来版本中,分区统计信息将统一使用异步方式进行合并,系统变量 [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入) 将被废弃。 * 计划在后续版本重新设计[执行计划绑定的自动演进](/sql-plan-management.md#自动演进绑定-baseline-evolution),相关的变量和行为会发生变化。 -* 从 v8.2.0 开始,BR 快照恢复参数 [`--concurrency`](/use-br-command-line-tool#常用选项) 被废弃。作为替代,你可以通过 [`--tikv-max-restore-concurrency`](/use-br-command-line-tool#常用选项) 配置快照恢复阶段的单个 TiKV 节点的任务最大并发数。 **tw@qiancai** -* 从 v8.20 开始,BR 快照恢复参数 [`--granularity`](/br-snapshot-guide#快照恢复的性能与影响) 被废弃,[粗粒度打散 Region 算法](/br/br-snapshot-guide.md#恢复快照备份数据)默认启用。**tw@qiancai** +* 从 v8.2.0 开始,BR 快照恢复参数 `--concurrency` 被废弃。作为替代,你可以通过 [`--tikv-max-restore-concurrency`](/use-br-command-line-tool#常用选项) 配置快照恢复阶段的单个 TiKV 节点的任务最大并发数。 **tw@qiancai** +* 从 v8.2.0 开始,BR 快照恢复参数 `--granularity` 被废弃,[粗粒度打散 Region 算法](/br/br-snapshot-guide.md#恢复快照备份数据)默认启用。**tw@qiancai** ## 改进提升 From 8af8468e9b3beff6a3fd83f4bebb90a5d84f082e Mon Sep 17 00:00:00 2001 From: Grace Cai <79440533+qiancai@users.noreply.github.com> Date: Tue, 25 Jun 2024 16:19:28 +0800 Subject: [PATCH 061/140] Update releases/release-8.2.0.md --- releases/release-8.2.0.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index d81ea118ea1f..cf340733de6d 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -209,11 +209,21 @@ TiDB 版本:8.2.0 ## 废弃功能 +以下为从 v8.2.0 开始已废弃的功能: + +* 从 v8.2.0 开始,BR 快照恢复参数 `--concurrency` 被废弃。作为替代,你可以通过 [`--tikv-max-restore-concurrency`](/use-br-command-line-tool#常用选项) 配置快照恢复阶段的单个 TiKV 节点的任务最大并发数。 **tw@qiancai** +* 从 v8.2.0 开始,BR 快照恢复参数 `--granularity` 被废弃,[粗粒度打散 Region 算法](/br/br-snapshot-guide.md#恢复快照备份数据)默认启用。**tw@qiancai** + +以下为计划将在未来版本中废弃的功能: + * TiDB 在 v8.0.0 引入了系统变量 [`tidb_enable_auto_analyze_priority_queue`](/system-variables.md#tidb_enable_auto_analyze_priority_queue-从-v800-版本开始引入),用于控制是否启用优先队列来优化自动收集统计信息任务的排序。在未来版本中,优先队列将成为自动收集统计信息任务的唯一排序方式,系统变量 [`tidb_enable_auto_analyze_priority_queue`](/system-variables.md#tidb_enable_auto_analyze_priority_queue-从-v800-版本开始引入) 将被废弃。 * TiDB 在 v7.5.0 引入了系统变量 [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入),用于设置 TiDB 使用异步方式合并分区统计信息,以避免 OOM 问题。在未来版本中,分区统计信息将统一使用异步方式进行合并,系统变量 [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入) 将被废弃。 * 计划在后续版本重新设计[执行计划绑定的自动演进](/sql-plan-management.md#自动演进绑定-baseline-evolution),相关的变量和行为会发生变化。 -* 从 v8.2.0 开始,BR 快照恢复参数 `--concurrency` 被废弃。作为替代,你可以通过 [`--tikv-max-restore-concurrency`](/use-br-command-line-tool#常用选项) 配置快照恢复阶段的单个 TiKV 节点的任务最大并发数。 **tw@qiancai** -* 从 v8.2.0 开始,BR 快照恢复参数 `--granularity` 被废弃,[粗粒度打散 Region 算法](/br/br-snapshot-guide.md#恢复快照备份数据)默认启用。**tw@qiancai** +* TiDB Lightning 参数 [`conflict.max-record-rows`](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-任务配置) 计划在未来版本中废弃,并在后续版本中删除。该参数将由 `conflict.threshold` 替代,即记录的冲突记录数和单个导入任务允许出现的冲突记录数的上限数保持一致。 + +以下为计划将在未来版本中移除的功能: + +* 从 v8.0.0 开始,TiDB Lightning 废弃了物理导入模式下的[旧版冲突检测](/tidb-lightning/tidb-lightning-physical-import-mode-usage.md#旧版冲突检测从-v800-开始已被废弃)策略,支持通过 [`conflict.strategy`](/tidb-lightning/tidb-lightning-configuration.md) 参数统一控制逻辑导入和物理导入模式的冲突检测策略。旧版冲突检测的参数 [`duplicate-resolution`](/tidb-lightning/tidb-lightning-configuration.md) 将在未来版本中被移除。 ## 改进提升 From db2ee460cbb666b0e9af653fdc548bb5f3935bab Mon Sep 17 00:00:00 2001 From: Grace Cai <79440533+qiancai@users.noreply.github.com> Date: Tue, 25 Jun 2024 18:06:19 +0800 Subject: [PATCH 062/140] format udpates --- releases/release-8.2.0.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index cf340733de6d..3490ad171843 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -209,21 +209,21 @@ TiDB 版本:8.2.0 ## 废弃功能 -以下为从 v8.2.0 开始已废弃的功能: +* 以下为从 v8.2.0 开始已废弃的功能: -* 从 v8.2.0 开始,BR 快照恢复参数 `--concurrency` 被废弃。作为替代,你可以通过 [`--tikv-max-restore-concurrency`](/use-br-command-line-tool#常用选项) 配置快照恢复阶段的单个 TiKV 节点的任务最大并发数。 **tw@qiancai** -* 从 v8.2.0 开始,BR 快照恢复参数 `--granularity` 被废弃,[粗粒度打散 Region 算法](/br/br-snapshot-guide.md#恢复快照备份数据)默认启用。**tw@qiancai** + * 从 v8.2.0 开始,BR 快照恢复参数 `--concurrency` 被废弃。作为替代,你可以通过 [`--tikv-max-restore-concurrency`](/use-br-command-line-tool#常用选项) 配置快照恢复阶段的单个 TiKV 节点的任务最大并发数。 **tw@qiancai** + * 从 v8.2.0 开始,BR 快照恢复参数 `--granularity` 被废弃,[粗粒度打散 Region 算法](/br/br-snapshot-guide.md#恢复快照备份数据)默认启用。**tw@qiancai** -以下为计划将在未来版本中废弃的功能: +* 以下为计划将在未来版本中废弃的功能: -* TiDB 在 v8.0.0 引入了系统变量 [`tidb_enable_auto_analyze_priority_queue`](/system-variables.md#tidb_enable_auto_analyze_priority_queue-从-v800-版本开始引入),用于控制是否启用优先队列来优化自动收集统计信息任务的排序。在未来版本中,优先队列将成为自动收集统计信息任务的唯一排序方式,系统变量 [`tidb_enable_auto_analyze_priority_queue`](/system-variables.md#tidb_enable_auto_analyze_priority_queue-从-v800-版本开始引入) 将被废弃。 -* TiDB 在 v7.5.0 引入了系统变量 [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入),用于设置 TiDB 使用异步方式合并分区统计信息,以避免 OOM 问题。在未来版本中,分区统计信息将统一使用异步方式进行合并,系统变量 [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入) 将被废弃。 -* 计划在后续版本重新设计[执行计划绑定的自动演进](/sql-plan-management.md#自动演进绑定-baseline-evolution),相关的变量和行为会发生变化。 -* TiDB Lightning 参数 [`conflict.max-record-rows`](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-任务配置) 计划在未来版本中废弃,并在后续版本中删除。该参数将由 `conflict.threshold` 替代,即记录的冲突记录数和单个导入任务允许出现的冲突记录数的上限数保持一致。 + * TiDB 在 v8.0.0 引入了系统变量 [`tidb_enable_auto_analyze_priority_queue`](/system-variables.md#tidb_enable_auto_analyze_priority_queue-从-v800-版本开始引入),用于控制是否启用优先队列来优化自动收集统计信息任务的排序。在未来版本中,优先队列将成为自动收集统计信息任务的唯一排序方式,系统变量 [`tidb_enable_auto_analyze_priority_queue`](/system-variables.md#tidb_enable_auto_analyze_priority_queue-从-v800-版本开始引入) 将被废弃。 + * TiDB 在 v7.5.0 引入了系统变量 [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入),用于设置 TiDB 使用异步方式合并分区统计信息,以避免 OOM 问题。在未来版本中,分区统计信息将统一使用异步方式进行合并,系统变量 [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入) 将被废弃。 + * 计划在后续版本重新设计[执行计划绑定的自动演进](/sql-plan-management.md#自动演进绑定-baseline-evolution),相关的变量和行为会发生变化。 + * TiDB Lightning 参数 [`conflict.max-record-rows`](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-任务配置) 计划在未来版本中废弃,并在后续版本中删除。该参数将由 `conflict.threshold` 替代,即记录的冲突记录数和单个导入任务允许出现的冲突记录数的上限数保持一致。 -以下为计划将在未来版本中移除的功能: +* 以下为计划将在未来版本中移除的功能: -* 从 v8.0.0 开始,TiDB Lightning 废弃了物理导入模式下的[旧版冲突检测](/tidb-lightning/tidb-lightning-physical-import-mode-usage.md#旧版冲突检测从-v800-开始已被废弃)策略,支持通过 [`conflict.strategy`](/tidb-lightning/tidb-lightning-configuration.md) 参数统一控制逻辑导入和物理导入模式的冲突检测策略。旧版冲突检测的参数 [`duplicate-resolution`](/tidb-lightning/tidb-lightning-configuration.md) 将在未来版本中被移除。 + * 从 v8.0.0 开始,TiDB Lightning 废弃了物理导入模式下的[旧版冲突检测](/tidb-lightning/tidb-lightning-physical-import-mode-usage.md#旧版冲突检测从-v800-开始已被废弃)策略,支持通过 [`conflict.strategy`](/tidb-lightning/tidb-lightning-configuration.md) 参数统一控制逻辑导入和物理导入模式的冲突检测策略。旧版冲突检测的参数 [`duplicate-resolution`](/tidb-lightning/tidb-lightning-configuration.md) 将在未来版本中被移除。 ## 改进提升 From 4dcf4d0be171f0fdc15f37644e3ea8fa7ffbebce Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 26 Jun 2024 10:05:02 +0800 Subject: [PATCH 063/140] add dup release notes --- releases/release-8.2.0.md | 49 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 3490ad171843..cdcccde0f4f5 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -167,6 +167,7 @@ TiDB 版本:8.2.0 ### 行为变更 +* (dup): release-6.5.10.md > 兼容性变更 - 使用 TiDB Lightning 的严格格式 `strict-format` 导入 CSV 文件时,必须设置行分隔符 [#37338](https://github.com/pingcap/tidb/issues/37338) @[lance6716](https://github.com/lance6716) * TiDB Lightning,从 v8.2.0 开始当用户设置 strict-format = true,来切分大的 CSV 文件为多个小的 CSV 文件来提升并发和导入性能时,需要显式指定行结束符 terminator 参数的取值为 \r,\n 或 \r\n 。否则可能导致 CSV 文件数据解析异常。 * Import Into SQL 语法,从 v8.2.0 开始,当用户导入 CSV 文件,且指定 split 参数来切分大的 CSV 文件为多个小的 CSV 文件来提升并发和导入性能时,需显式指定行结束符 LINES_TERMINATED_BY 参数的取值为 \r,\n 或 \r\n 。否则可能导致 CSV 文件数据解析异常。 @@ -233,6 +234,7 @@ TiDB 版本:8.2.0 - note [#issue](链接) @[贡献者 GitHub ID](链接) - 优化对大数据量的表进行简单查询时获取数据分布信息的性能 [#53850](https://github.com/pingcap/tidb/issues/53850) @[you06](https://github.com/you06) **tw@Oreoxmt** - 聚合的结果集能够作为 IndexJoin 的内表,使更多的复杂查询可以匹配到 IndexJoin,从而可以通过索引提升查询效率 [#37068](https://github.com/pingcap/tidb/issues/37068) @[elsa0520](https://github.com/elsa0520) **tw@hfxsd** + - (dup): release-6.5.10.md > 改进提升> TiDB - 在 MPP 负载均衡时移除不包含任何 Region 的 Store [#52313](https://github.com/pingcap/tidb/issues/52313) @[xzhangxian1008](https://github.com/xzhangxian1008) + TiKV @@ -263,6 +265,7 @@ TiDB 版本:8.2.0 - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) + - (dup): release-6.5.10.md > 改进提升> Tools> TiCDC - 支持当下游为消息队列 (Message Queue, MQ) 或存储服务时直接输出原始事件 [#11211](https://github.com/pingcap/tiflow/issues/11211) @[CharlesCheung96](https://github.com/CharlesCheung96) + TiDB Data Migration (DM) @@ -286,21 +289,50 @@ TiDB 版本:8.2.0 - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) - 修复在客户端读取数据超时后查询无法被终止的问题 [#44009](https://github.com/pingcap/tidb/issues/44009) @[wshwsh12](https://github.com/wshwsh12) **tw@Oreoxmt** + - (dup): release-6.5.10.md > 错误修复> TiDB - 修复 `Longlong` 类型在谓词中溢出的问题 [#45783](https://github.com/pingcap/tidb/issues/45783) @[hawkingrei](https://github.com/hawkingrei) + - (dup): release-7.1.5.md > 错误修复> TiDB - 修复窗口函数中有某些子查询时可能会 panic 的问题 [#42734](https://github.com/pingcap/tidb/issues/42734) @[hi-rustin](https://github.com/hi-rustin) + - (dup): release-6.5.10.md > 错误修复> TiDB - 修复 TopN 算子可能被错误地下推的问题 [#37986](https://github.com/pingcap/tidb/issues/37986) @[qw4990](https://github.com/qw4990) + - (dup): release-7.5.2.md > 错误修复> TiDB - 修复在聚簇索引作为谓词时 `SELECT INTO OUTFILE` 不生效的问题 [#42093](https://github.com/pingcap/tidb/issues/42093) @[qw4990](https://github.com/qw4990) + - (dup): release-6.5.10.md > 错误修复> TiDB - 修复 information schema 缓存未命中导致 stale read 查询延迟上升的问题 [#53428](https://github.com/pingcap/tidb/issues/53428) @[crazycs520](https://github.com/crazycs520) + - (dup): release-6.5.10.md > 错误修复> TiDB - 修复 `YEAR` 类型的列与超出范围的无符号整数进行比较导致错误结果的问题 [#50235](https://github.com/pingcap/tidb/issues/50235) @[qw4990](https://github.com/qw4990) + - (dup): release-6.5.10.md > 错误修复> TiDB - 修复重启 TiDB 后,主键列统计信息中的直方图和 TopN 未被加载的问题 [#37548](https://github.com/pingcap/tidb/issues/37548) @[hawkingrei](https://github.com/hawkingrei) + - (dup): release-7.5.2.md > 错误修复> TiDB - 修复 Massively Parallel Processing (MPP) 中 `final` AggMode 和 `non-final` AggMode 无法共存的问题 [#51362](https://github.com/pingcap/tidb/issues/51362) @[AilinKid](https://github.com/AilinKid) + - (dup): release-6.5.10.md > 错误修复> TiDB - 修复执行谓词总是为 `true` 的 `SHOW ERRORS` 语句导致 TiDB panic 的问题 [#46962](https://github.com/pingcap/tidb/issues/46962) @[elsa0520](https://github.com/elsa0520) + - (dup): release-6.5.10.md > 错误修复> TiDB - 修复在递归 CTE 中无法使用视图的问题 [#49721](https://github.com/pingcap/tidb/issues/49721) @[hawkingrei](https://github.com/hawkingrei) + - (dup): release-7.5.2.md > 错误修复> TiDB - 修复 TiDB 启动加载统计信息时可能因为 GC 推进报错的问题 [#53592](https://github.com/pingcap/tidb/issues/53592) @[you06](https://github.com/you06) + - (dup): release-6.5.10.md > 错误修复> TiDB - 修复使用 `PREPARE`/`EXECUTE` 方式执行带 `CONV` 表达式的语句,且 `CONV` 表达式包含 `?` 参数时,多次执行可能导致查询结果错误的问题 [#53505](https://github.com/pingcap/tidb/issues/53505) @[qw4990](https://github.com/qw4990) + - (dup): release-6.5.10.md > 错误修复> TiDB - 修复将数据从 `FLOAT` 类型转换为 `UNSIGNED` 类型时结果错误的问题 [#41736](https://github.com/pingcap/tidb/issues/41736) @[guo-shaoge](https://github.com/guo-shaoge) + - (dup): release-6.5.10.md > 错误修复> TiDB - 修复创建带有外键的表时,TiDB 未创建对应的统计信息元信息 (`stats_meta`) 的问题 [#53652](https://github.com/pingcap/tidb/issues/53652) @[hawkingrei](https://github.com/hawkingrei) + - (dup): release-6.5.10.md > 错误修复> TiDB - 修复查询中的某些过滤条件可能导致 planner 模块发生 `invalid memory address or nil pointer dereference` 报错的问题 [#53582](https://github.com/pingcap/tidb/issues/53582) [#53580](https://github.com/pingcap/tidb/issues/53580) [#53594](https://github.com/pingcap/tidb/issues/53594) [#53603](https://github.com/pingcap/tidb/issues/53603) @[YangKeao](https://github.com/YangKeao) + - (dup): release-6.5.10.md > 错误修复> TiDB - 修复并发执行 `CREATE OR REPLACE VIEW` 可能报错 `table doesn't exist` 的问题 [#53673](https://github.com/pingcap/tidb/issues/53673) @[tangenta](https://github.com/tangenta) + - (dup): release-6.5.10.md > 错误修复> TiDB - 修复 `INFORMATION_SCHEMA.TIDB_TRX` 表中 `STATE` 字段的 `size` 未定义导致 `STATE` 显示为空的问题 [#53026](https://github.com/pingcap/tidb/issues/53026) @[cfzjywxk](https://github.com/cfzjywxk) + - (dup): release-6.5.10.md > 错误修复> TiDB - 修复关闭 `tidb_enable_async_merge_global_stats` 时,GlobalStats 中的 `Distinct_count` 信息可能错误的问题 [#53752](https://github.com/pingcap/tidb/issues/53752) @[hawkingrei](https://github.com/hawkingrei) + - (dup): release-6.5.10.md > 错误修复> TiDB - 修复使用 Optimizer Hints 时,可能输出错误的 WARNINGS 信息的问题 [#53767](https://github.com/pingcap/tidb/issues/53767) @[hawkingrei](https://github.com/hawkingrei) + TiKV - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) + - (dup): release-7.5.2.md > 错误修复> TiKV - 修复 tikv-ctl 的 `raft region` 命令的输出中未包含 Region 状态信息的问题 [#17037](https://github.com/tikv/tikv/issues/17037) @[glorv](https://github.com/glorv) + + PD - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) + - (dup): release-7.5.2.md > 错误修复> PD - 修复 `ALTER PLACEMENT POLICY` 无法修改 placement policy 的问题 [#52257](https://github.com/pingcap/tidb/issues/52257) [#51712](https://github.com/pingcap/tidb/issues/51712) @[jiyfhust](https://github.com/jiyfhust) + - (dup): release-7.1.5.md > 错误修复> PD - 修复写热点调度可能会违反放置策略 (placement policy) 约束的问题 [#7848](https://github.com/tikv/pd/issues/7848) @[lhy1024](https://github.com/lhy1024) + - (dup): release-6.5.10.md > 错误修复> PD - 修复使用 Placement Rules 的情况下,down peer 可能无法恢复的问题 [#7808](https://github.com/tikv/pd/issues/7808) @[rleungx](https://github.com/rleungx) + - (dup): release-7.5.2.md > 错误修复> PD - 修复取消资源组查询导致大量重试的问题 [#8217](https://github.com/tikv/pd/issues/8217) @[nolouch](https://github.com/nolouch) + - (dup): release-7.5.2.md > 错误修复> PD - 修复手动切换 PD leader 可能失败的问题 [#8225](https://github.com/tikv/pd/issues/8225) @[HuSharp](https://github.com/HuSharp) + TiFlash - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) + - (dup): release-7.5.2.md > 错误修复> TiFlash - 修复在含空分区的分区表上执行查询时,可能会超时的问题 [#9024](https://github.com/pingcap/tiflash/issues/9024) @[JinheLin](https://github.com/JinheLin) + - (dup): release-7.5.2.md > 错误修复> TiFlash - 修复在存算分离架构下,DDL 新增带有 not null 属性的列后,查询可能返回错误的 null 值的问题 [#9084](https://github.com/pingcap/tiflash/issues/9084) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) + - (dup): release-6.5.10.md > 错误修复> TiFlash - 修复函数 `SUBSTRING_INDEX()` 可能导致 TiFlash Crash 的问题 [#9116](https://github.com/pingcap/tiflash/issues/9116) @[wshwsh12](https://github.com/wshwsh12) + Tools @@ -308,6 +340,10 @@ TiDB 版本:8.2.0 - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) + - (dup): release-7.5.2.md > 错误修复> Tools> Backup & Restore (BR) - 修复由于 `EndKey` 为空导致恢复事务 KV 集群失败的问题 [#52574](https://github.com/pingcap/tidb/issues/52574) @[3pointer](https://github.com/3pointer) + - (dup): release-6.5.10.md > 错误修复> Tools> Backup & Restore (BR) - 修复 PD 连接失败导致日志备份 advancer owner 所在的 TiDB 可能崩溃的问题 [#52597](https://github.com/pingcap/tidb/issues/52597) @[YuJuncen](https://github.com/YuJuncen) + - (dup): release-6.5.10.md > 错误修复> Tools> Backup & Restore (BR) - 修复日志备份在 advancer owner 发生迁移后可能被暂停的问题 [#53561](https://github.com/pingcap/tidb/issues/53561) @[RidRisR](https://github.com/RidRisR) + - (dup): release-6.5.10.md > 错误修复> Tools> Backup & Restore (BR) - 修复在恢复过程中,由于多层重试导致 BR 无法正确识别错误的问题 [#54053](https://github.com/pingcap/tidb/issues/54053) @[RidRisR](https://github.com/RidRisR) + TiCDC @@ -318,17 +354,30 @@ TiDB 版本:8.2.0 - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) + - (dup): release-7.5.2.md > 错误修复> Tools> TiDB Data Migration (DM) - 升级 `go-mysql` 以修复连接阻塞的问题 [#11041](https://github.com/pingcap/tiflow/issues/11041) @[D3Hunter](https://github.com/D3Hunter) + TiDB Lightning - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) + + Dumpling + + - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[贡献者 GitHub ID](https://github.com/${github-id}) + - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[贡献者 GitHub ID](https://github.com/${github-id}) + - (dup): release-6.5.10.md > 错误修复> Tools> Dumpling - 修复 Dumpling 在同时导出表和视图时报错的问题 [#53682](https://github.com/pingcap/tidb/issues/53682) @[tangenta](https://github.com/tangenta) + + TiUP - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) + + TiDB Binlog + + - note [#issue](https://github.com/pingcap/tidb-binlog/issues/${issue-id}) @[贡献者 GitHub ID](https://github.com/${github-id}) + - note [#issue](https://github.com/pingcap/tidb-binlog/issues/${issue-id}) @[贡献者 GitHub ID](https://github.com/${github-id}) + - (dup): release-6.5.10.md > 错误修复> Tools> TiDB Binlog - 修复开启 TiDB Binlog 后,在 `ADD COLUMN` 执行过程中删除行可能报错 `data and columnID count not match` 的问题 [#53133](https://github.com/pingcap/tidb/issues/53133) @[tangenta](https://github.com/tangenta) + ## 贡献者 感谢来自 TiDB 社区的贡献者们: From ecab137b81837498bc086df559db95ae17059bba Mon Sep 17 00:00:00 2001 From: Rossi Sun Date: Wed, 26 Jun 2024 11:58:33 +0800 Subject: [PATCH 064/140] Update releases/release-8.2.0.md Co-authored-by: JaySon --- releases/release-8.2.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index cdcccde0f4f5..ce5cea18d27e 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -333,6 +333,7 @@ TiDB 版本:8.2.0 - (dup): release-7.5.2.md > 错误修复> TiFlash - 修复在含空分区的分区表上执行查询时,可能会超时的问题 [#9024](https://github.com/pingcap/tiflash/issues/9024) @[JinheLin](https://github.com/JinheLin) - (dup): release-7.5.2.md > 错误修复> TiFlash - 修复在存算分离架构下,DDL 新增带有 not null 属性的列后,查询可能返回错误的 null 值的问题 [#9084](https://github.com/pingcap/tiflash/issues/9084) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) - (dup): release-6.5.10.md > 错误修复> TiFlash - 修复函数 `SUBSTRING_INDEX()` 可能导致 TiFlash Crash 的问题 [#9116](https://github.com/pingcap/tiflash/issues/9116) @[wshwsh12](https://github.com/wshwsh12) + - 修复数据通过 br 或 tidb-lightning 导入后 FastScan 模式下可能读到大量重复数据的问题 [#9118](https://github.com/pingcap/tiflash/issues/9118) @[JinheLin](https://github.com/JinheLin) + Tools From 3249f39bbcfe0fd5891a6885a20e88146659a14d Mon Sep 17 00:00:00 2001 From: Rossi Sun Date: Wed, 26 Jun 2024 11:58:52 +0800 Subject: [PATCH 065/140] Update releases/release-8.2.0.md Co-authored-by: JaySon --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index ce5cea18d27e..fda26358c00e 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -235,7 +235,7 @@ TiDB 版本:8.2.0 - 优化对大数据量的表进行简单查询时获取数据分布信息的性能 [#53850](https://github.com/pingcap/tidb/issues/53850) @[you06](https://github.com/you06) **tw@Oreoxmt** - 聚合的结果集能够作为 IndexJoin 的内表,使更多的复杂查询可以匹配到 IndexJoin,从而可以通过索引提升查询效率 [#37068](https://github.com/pingcap/tidb/issues/37068) @[elsa0520](https://github.com/elsa0520) **tw@hfxsd** - (dup): release-6.5.10.md > 改进提升> TiDB - 在 MPP 负载均衡时移除不包含任何 Region 的 Store [#52313](https://github.com/pingcap/tidb/issues/52313) @[xzhangxian1008](https://github.com/xzhangxian1008) - + - 通过批量删除 TiFlash placement rule 的方式,提升 truncate、 drop 分区表后数据 GC 的处理速度 [#54068](https://github.com/pingcap/tidb/issues/54068) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) + TiKV - note [#issue](链接) @[贡献者 GitHub ID](链接) From c12b80c81c0c79fde46aa34b0de629703300a82f Mon Sep 17 00:00:00 2001 From: Rossi Sun Date: Wed, 26 Jun 2024 11:59:30 +0800 Subject: [PATCH 066/140] Update releases/release-8.2.0.md Co-authored-by: JaySon --- releases/release-8.2.0.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index fda26358c00e..60879e3be87d 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -249,7 +249,9 @@ TiDB 版本:8.2.0 + TiFlash - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 减少数据高并发读取下的锁冲突,优化短查询性能 [#9125](https://github.com/pingcap/tiflash/issues/9125) @[JinheLin](https://github.com/JinheLin) + - 升级默认编译工具链到 llvm 17 [#7193](https://github.com/pingcap/tiflash/issues/7193) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) + + Tools From 0c3c6e9b557787f315ad63d78bc7e8905f51f5f5 Mon Sep 17 00:00:00 2001 From: Rossi Sun Date: Wed, 26 Jun 2024 12:12:08 +0800 Subject: [PATCH 067/140] Update releases/release-8.2.0.md --- releases/release-8.2.0.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 60879e3be87d..f7ec1f3bc212 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -251,6 +251,9 @@ TiDB 版本:8.2.0 - note [#issue](链接) @[贡献者 GitHub ID](链接) - 减少数据高并发读取下的锁冲突,优化短查询性能 [#9125](https://github.com/pingcap/tiflash/issues/9125) @[JinheLin](https://github.com/JinheLin) - 升级默认编译工具链到 llvm 17 [#7193](https://github.com/pingcap/tiflash/issues/7193) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) + - 消除 `Join` 算子中对于 Join Key 的冗余拷贝 [#9057](https://github.com/pingcap/tiflash/issues/9057) @[gengliqi](https://github.com/gengliqi) + - 将 `HashAgg` 算子中转换两级哈希表的过程并行化 [#8956](https://github.com/pingcap/tiflash/issues/8956) @[gengliqi](https://github.com/gengliqi) + - 为 `HashAgg` 算子移除冗余的聚合函数以减少计算开销 [#8891](https://github.com/pingcap/tiflash/issues/8891) @[guo-shaoge](https://github.com/guo-shaoge) + Tools From a122ab5b7fac4a518210e06c81fbf5a47afc4ec1 Mon Sep 17 00:00:00 2001 From: Rossi Sun Date: Wed, 26 Jun 2024 12:21:10 +0800 Subject: [PATCH 068/140] Update releases/release-8.2.0.md --- releases/release-8.2.0.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index f7ec1f3bc212..4f1324049da7 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -313,6 +313,8 @@ TiDB 版本:8.2.0 - (dup): release-6.5.10.md > 错误修复> TiDB - 修复 `INFORMATION_SCHEMA.TIDB_TRX` 表中 `STATE` 字段的 `size` 未定义导致 `STATE` 显示为空的问题 [#53026](https://github.com/pingcap/tidb/issues/53026) @[cfzjywxk](https://github.com/cfzjywxk) - (dup): release-6.5.10.md > 错误修复> TiDB - 修复关闭 `tidb_enable_async_merge_global_stats` 时,GlobalStats 中的 `Distinct_count` 信息可能错误的问题 [#53752](https://github.com/pingcap/tidb/issues/53752) @[hawkingrei](https://github.com/hawkingrei) - (dup): release-6.5.10.md > 错误修复> TiDB - 修复使用 Optimizer Hints 时,可能输出错误的 WARNINGS 信息的问题 [#53767](https://github.com/pingcap/tidb/issues/53767) @[hawkingrei](https://github.com/hawkingrei) + - 修复对时间类型取负操作结果不正确的问题 [#52262](https://github.com/pingcap/tidb/issues/52262) @[solotzg](https://github.com/solotzg) + - Regexp 系列函数对于空的模式参数显式报错 [#53221](https://github.com/pingcap/tidb/issues/53221) @[yibin87](https://github.com/yibin87) + TiKV From dab0c59539b1ba86b7ce00e0e52ebe4b8dea9412 Mon Sep 17 00:00:00 2001 From: Aolin Date: Wed, 26 Jun 2024 14:19:23 +0800 Subject: [PATCH 069/140] compatibility changes: add tidb_executor_concurrency and security.redact_info_log --- releases/release-8.2.0.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 4f1324049da7..9700038426de 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -187,6 +187,7 @@ TiDB 版本:8.2.0 | [`tidb_analyze_distsql_scan_concurrency`](/system-variables.md#tidb_analyze_distsql_scan_concurrency-从-v760-版本开始引入) | 修改 | 最小值从 `1` 改为 `0`。当设置为 `0` 时,TiDB 会根据集群规模自适应调整并发度。**tw@hfxsd** | | [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) | 修改 | 从 v8.2.0 开始,默认设置下,TiDB 不会收集类型为 `mediumtext` 和 `longtext` 的列,避免潜在的 OOM 风险。**tw@hfxsd** | | [`tidb_enable_historical_stats`](/system-variables.md#tidb_enable_historical_stats) | 修改 | 默认值改为 `OFF`,即关闭历史统计信息,避免潜在的稳定性问题。 **tw@hfxsd** | +| [`tidb_executor_concurrency`](/system-variables.md#tidb_executor_concurrency-从-v50-版本开始引入) | 修改 | 新增支持对 `sort` 算子的并发度进行设置。 | | [`tidb_resource_control_strict_mode`](/system-variables.md#tidb_resource_control_strict_mode-从-v820-版本开始引入) | 新增 | [`SET RESOURCE GROUP`](/sql-statements/sql-statement-set-resource-group.md) 和优化器 [`RESOURCE_GROUP()`](/optimizer-hints.md#resource_groupresource_group_name) Hint 权限控制的开关。 **tw@lilin90** | | [`tidb_sysproc_scan_concurrency`](/system-variables.md#tidb_sysproc_scan_concurrency-从-v650-版本开始引入) | 修改 | 最小值从 `1` 改为 `0`。当设置为 `0` 时,TiDB 会根据集群规模自适应调整并发度。**tw@hfxsd** | | | | | @@ -199,6 +200,7 @@ TiDB 版本:8.2.0 | TiDB | [`stats-load-concurrency`](/tidb-configuration-file.md#stats-load-concurrency-从-v540-版本开始引入) | 修改 | 默认值从 `5` 修改为 `0`,最小值从 `1` 修改为 `0`。`0` 为自动模式,根据服务器情况,自动调节并发度。 | | TiDB | [`token-limit`](/tidb-configuration-file.md#token-limit) | 修改 | 最大值从 `18446744073709551615` (64 位平台)和 `4294967295`(32 位平台)修改为 `1048576`,代表同时执行请求的 session 个数最多可以设置为 `1048576`。| | TiKV | [`max-apply-unpersisted-log-limit`](/tikv-configuration-file.md#max-apply-unpersisted-log-limit-从-v820-版本开始引入) | 新增 | 允许 apply 已经 `commit` 但尚未持久化的 Raft 日志的最大数量。 默认值为 `1024`。 | +| TiFlash | [`security.redact_info_log`](/tiflash/tiflash-configuration.md#配置文件-tiflashtoml) | 修改 | 可选值新增 `marker` 选项。该选项被启用时,日志中的用户数据会被标记符号 `‹ ›` 包裹。 | ### 系统表 From 7c30bf88bd15f423af63c841befa27f51354a500 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 26 Jun 2024 15:22:33 +0800 Subject: [PATCH 070/140] Apply suggestions from code review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 王超 --- releases/release-8.2.0.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 9700038426de..3a87e29032ef 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -238,6 +238,9 @@ TiDB 版本:8.2.0 - 聚合的结果集能够作为 IndexJoin 的内表,使更多的复杂查询可以匹配到 IndexJoin,从而可以通过索引提升查询效率 [#37068](https://github.com/pingcap/tidb/issues/37068) @[elsa0520](https://github.com/elsa0520) **tw@hfxsd** - (dup): release-6.5.10.md > 改进提升> TiDB - 在 MPP 负载均衡时移除不包含任何 Region 的 Store [#52313](https://github.com/pingcap/tidb/issues/52313) @[xzhangxian1008](https://github.com/xzhangxian1008) - 通过批量删除 TiFlash placement rule 的方式,提升 truncate、 drop 分区表后数据 GC 的处理速度 [#54068](https://github.com/pingcap/tidb/issues/54068) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) + - 增加了创建用户时对选项 `PASSWORD REQUIRE CURRENT DEFAULT` 的支持 [#53305](https://github.com/pingcap/tidb/issues/53305) @[https://github.com/dveeden](dveeden) + - 升级第三方库 Azure 的版本,增强了安全性 [#53990](https://github.com/pingcap/tidb/issues/53990) @[hawkingrei](https://github.com/hawkingrei) + + TiKV - note [#issue](链接) @[贡献者 GitHub ID](链接) @@ -317,6 +320,12 @@ TiDB 版本:8.2.0 - (dup): release-6.5.10.md > 错误修复> TiDB - 修复使用 Optimizer Hints 时,可能输出错误的 WARNINGS 信息的问题 [#53767](https://github.com/pingcap/tidb/issues/53767) @[hawkingrei](https://github.com/hawkingrei) - 修复对时间类型取负操作结果不正确的问题 [#52262](https://github.com/pingcap/tidb/issues/52262) @[solotzg](https://github.com/solotzg) - Regexp 系列函数对于空的模式参数显式报错 [#53221](https://github.com/pingcap/tidb/issues/53221) @[yibin87](https://github.com/yibin87) +- 修复某些情况下把 JSON 转换成时间格式会丢失精度的问题 [#53352](https://github.com/pingcap/tidb/issues/53352) @[YangKeao](https://github.com/YangKeao) +- 修复函数 `JSON_QUOTE` 在某些情况下返回的结果不正确的问题 [#37294](https://github.com/pingcap/tidb/issues/37294) @[https://github.com/dveeden](dveeden) +- 修复执行 ALTER TABLE REMOVE PARTITIONING 后有可能会丢失数据的问题 [#53385](https://github.com/pingcap/tidb/issues/53385) @[mjonss](https://github.com/mjonss) +- 修复了 `AUTH_SOCKET` 认证插件在某些情况下 [#54031](https://github.com/pingcap/tidb/issues/54031) @[lcwangchao](https://github.com/lcwangchao) +- 修复了 JSON 相关的函数在某些情况下报错信息与 MySQL 不同的问题 [#53799](https://github.com/pingcap/tidb/issues/53799) @[dveeden](https://github.com/dveeden) +- 修复了分区表在 `INFORMATION_SCHEMA.PARTITIONS` 中的 `INDEX_LENGTH` 列显示不正确的问题 [#54173](https://github.com/pingcap/tidb/issues/54173) @[Defined2014](https://github.com/Defined2014) + TiKV From 9175b195751298ace6aacd6654670d908191ae09 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 26 Jun 2024 15:23:26 +0800 Subject: [PATCH 071/140] Update releases/release-8.2.0.md Co-authored-by: JaySon --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 3a87e29032ef..c5930189faf0 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -351,7 +351,7 @@ TiDB 版本:8.2.0 - (dup): release-7.5.2.md > 错误修复> TiFlash - 修复在含空分区的分区表上执行查询时,可能会超时的问题 [#9024](https://github.com/pingcap/tiflash/issues/9024) @[JinheLin](https://github.com/JinheLin) - (dup): release-7.5.2.md > 错误修复> TiFlash - 修复在存算分离架构下,DDL 新增带有 not null 属性的列后,查询可能返回错误的 null 值的问题 [#9084](https://github.com/pingcap/tiflash/issues/9084) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) - (dup): release-6.5.10.md > 错误修复> TiFlash - 修复函数 `SUBSTRING_INDEX()` 可能导致 TiFlash Crash 的问题 [#9116](https://github.com/pingcap/tiflash/issues/9116) @[wshwsh12](https://github.com/wshwsh12) - - 修复数据通过 br 或 tidb-lightning 导入后 FastScan 模式下可能读到大量重复数据的问题 [#9118](https://github.com/pingcap/tiflash/issues/9118) @[JinheLin](https://github.com/JinheLin) + - 修复通过 br 或 tidb-lightning 导入数据后, FastScan 模式下可能读到大量重复数据的问题 [#9118](https://github.com/pingcap/tiflash/issues/9118) @[JinheLin](https://github.com/JinheLin) + Tools From 0d394e787c26817beb5e75320af7d6b5294ab49a Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 26 Jun 2024 15:24:50 +0800 Subject: [PATCH 072/140] add bug fixes for sql/infra Co-authored-by: Hangjie Mo --- releases/release-8.2.0.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index c5930189faf0..348e301c314d 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -240,7 +240,14 @@ TiDB 版本:8.2.0 - 通过批量删除 TiFlash placement rule 的方式,提升 truncate、 drop 分区表后数据 GC 的处理速度 [#54068](https://github.com/pingcap/tidb/issues/54068) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) - 增加了创建用户时对选项 `PASSWORD REQUIRE CURRENT DEFAULT` 的支持 [#53305](https://github.com/pingcap/tidb/issues/53305) @[https://github.com/dveeden](dveeden) - 升级第三方库 Azure 的版本,增强了安全性 [#53990](https://github.com/pingcap/tidb/issues/53990) @[hawkingrei](https://github.com/hawkingrei) - + - 修复 `ALTER DATABASE ... SET TIFLASH REPLICA` 语句会给 `SEQUENCE` 表添加 TiFlash 副本的问题 [#51990](https://github.com/pingcap/tidb/issues/51990) @[jiyfhust](https://github.com/jiyfhust) + - 修复 `information_schema.key_column_usage` 表中 `referenced_table_schema` 字段显示错误的问题 [#52350](https://github.com/pingcap/tidb/issues/52350) @[wd0517](https://github.com/wd0517) + - 修复 `AUTO_ID_CACHE` = 1 时,单条语句插入多行会产生空洞的问题 [#52465](https://github.com/pingcap/tidb/issues/52465) @[tiancaiamao](https://github.com/tiancaiamao) + - 修复弃用警告的格式 [#52515](https://github.com/pingcap/tidb/issues/52515) @[dveeden](https://github.com/dveeden) + - 修复 `trace` 命令在 `copr.buildCopTasks` 中丢失的问题 [#53085](https://github.com/pingcap/tidb/issues/53085) @[time-and-fate](https://github.com/time-and-fate) + - 将 `token-limit` 的最大值设置为 1048576, 避免设置过大导致 TiDB-Server OOM [#53312](https://github.com/pingcap/tidb/issues/53312) @[djshow832](https://github.com/djshow832) + - 将 tls 配置项 `InsecureSkipVerify` 设置为 false,打开后客户端将要求服务器证书中的 CN 与客户端期望的主机名匹配 [#53358](https://github.com/pingcap/tidb/pull/53358) @[lance6716](https://github.com/lance6716) + - + TiKV - note [#issue](链接) @[贡献者 GitHub ID](链接) From a81590ab7e3e22c2dcf4c82501f45d139eb35d7f Mon Sep 17 00:00:00 2001 From: Lilian Lee Date: Wed, 26 Jun 2024 15:40:37 +0800 Subject: [PATCH 073/140] Add one config deprecation Co-authored-by: crazycs --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 348e301c314d..f163b8880862 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -213,7 +213,7 @@ TiDB 版本:8.2.0 ## 废弃功能 * 以下为从 v8.2.0 开始已废弃的功能: - + * 从 v8.2.0 开始,TiDB 的配置项 `enable-replica-selector-v2` 被废弃。TiKV 发送 RPC 请求时,默认使用新版本的 Region 副本选择器。 * 从 v8.2.0 开始,BR 快照恢复参数 `--concurrency` 被废弃。作为替代,你可以通过 [`--tikv-max-restore-concurrency`](/use-br-command-line-tool#常用选项) 配置快照恢复阶段的单个 TiKV 节点的任务最大并发数。 **tw@qiancai** * 从 v8.2.0 开始,BR 快照恢复参数 `--granularity` 被废弃,[粗粒度打散 Region 算法](/br/br-snapshot-guide.md#恢复快照备份数据)默认启用。**tw@qiancai** From 571b6b181df4c5b75652767ab76320d8f9c210e7 Mon Sep 17 00:00:00 2001 From: Lilian Lee Date: Wed, 26 Jun 2024 16:26:29 +0800 Subject: [PATCH 074/140] Update link format Co-authored-by: xixirangrang --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index f163b8880862..6f86d7cb533b 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -32,7 +32,7 @@ TiDB 版本:8.2.0 HashAgg 是 TiDB 中常用的聚合算子,用于快速聚合具有相同字段值的行。TiDB v8.0.0 引入并行 HashAgg 作为实验特性,以进一步提升处理速度。当内存资源不足时,并行 HashAgg 可以将临时排序数据落盘,避免因内存使用过度而导致的 OOM 风险,从而提升查询性能和节点稳定性。该功能在 v8.2.0 成为正式功能,并默认开启,用户可以安全地设置并行 HashAgg 的并发度。 - 统计信息加载效率提升 10 倍 + 统计信息加载效率提升 10 倍 对于拥有大量表和分区的集群,比如 SaaS 或 PaaS 服务,统计信息加载效率的提升能够解决 TiDB 实例启动缓慢的问题,从而减少由于统计信息加载失败造成的性能回退,提升集群的稳定性。 From 227645e61e3c63bc69e5060bac89506db1ac8338 Mon Sep 17 00:00:00 2001 From: Lilian Lee Date: Wed, 26 Jun 2024 17:18:05 +0800 Subject: [PATCH 075/140] Update wording --- releases/release-8.2.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 6f86d7cb533b..45368de087c8 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -81,7 +81,7 @@ TiDB 版本:8.2.0 * 统计信息加载效率提升 10 倍 [#52831](https://github.com/pingcap/tidb/issues/52831) @[hawkingrei](https://github.com/hawkingrei) **tw@hfxsd** - SaaS 或 PaaS 类业务应用中可能存在大量的数据表,这些表不但会拖慢初始统计信息的加载速度,也会增加高负载的情况下同步负载的失败率。TiDB 的启动时间以及执行计划的准确性都会受到影响。在 v8.2.0 中,TiDB 从并发模型、内存分配方式等多个角度优化了统计信息的加载过程,降低延迟,提升吞吐,避免由于统计信息加载速度过慢,影响业务扩容。 + SaaS 或 PaaS 类业务应用中可能存在大量的数据表,这些表不但会拖慢初始统计信息的加载速度,也会增加高负载情况下同步负载的失败率。TiDB 的启动时间以及执行计划的准确性都会受到影响。在 v8.2.0 中,TiDB 从并发模型、内存分配方式等多个角度优化了统计信息的加载过程,降低延迟,提升吞吐,避免由于统计信息加载速度过慢,影响业务扩容。 新增支持自适应的并行加载。默认情况下,配置项 [`stats-load-concurrency`](/tidb-configuration-file.md#stats-load-concurrency-从-v540-版本开始引入) 的值为 `0`,统计信息加载的并行度会根据硬件规格自动选择。 @@ -107,7 +107,7 @@ TiDB 版本:8.2.0 * TiDB 支持 JSON Schema Validation 函数 [#52779](https://github.com/pingcap/tidb/issues/52779) @[dveeden](https://github.com/dveeden) **tw@hfxsd** - 在 v8.2.0 版本之前,你需要依赖外部工具或自定义验证逻辑进行 JSON 数据验证,开发和维护比较复杂,开发效率低。从 v8.2.0 版本开始,引入了 `JSON_SCHEMA_VALID()` 函数,你可以在 TiDB 中直接验证 JSON 数据的有效性,提高数据的完整性和一致性,提升了开发效率。 + 在 v8.2.0 之前,你需要依赖外部工具或自定义验证逻辑进行 JSON 数据验证,开发和维护比较复杂,开发效率低。从 v8.2.0 版本开始,引入了 `JSON_SCHEMA_VALID()` 函数,你可以在 TiDB 中直接验证 JSON 数据的有效性,提高数据的完整性和一致性,提升了开发效率。 更多信息,请参考[用户文档](/functions-and-operators/json-functions.md#验证函数)。 From 0dd18aa62be5bb34cc231b96ecdff2bef6dd7e7e Mon Sep 17 00:00:00 2001 From: Lilian Lee Date: Wed, 26 Jun 2024 17:58:52 +0800 Subject: [PATCH 076/140] Update wording --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 45368de087c8..3d8154609210 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -133,7 +133,7 @@ TiDB 版本:8.2.0 * 记录执行计划没有被缓存的原因 [#50618](https://github.com/pingcap/tidb/issues/50618) @[qw4990](https://github.com/qw4990) **tw@hfxsd** - 在一些场景下,用户希望多数执行计划能够被缓存,以节省执行开销,并降低延迟。目前执行计划缓存对 SQL 有一定限制,部分形态 SQL 的执行计划无法被缓存,但是用户很难识别出无法被缓存的 SQL 以及对应的原因。因此,在新版本中,我们向系统表 [`STATEMENTS_SUMMARY`](/statement-summary-tables.md) 中增加了新的列,解释计划无法被缓存的原因,协助用户做性能调优。 + 在一些场景下,用户希望多数执行计划能够被缓存,以节省执行开销,并降低延迟。目前执行计划缓存对 SQL 有一定限制,部分形态 SQL 的执行计划无法被缓存,但是用户很难识别出无法被缓存的 SQL 以及对应的原因。因此,从 v8.2.0 开始,为系统表 [`STATEMENTS_SUMMARY`](/statement-summary-tables.md) 增加了新的列,来解释计划无法被缓存的原因,协助用户做性能调优。 更多信息,请参考[用户文档](/statement-summary-tables.md#表的字段介绍)。 From d65e69d1ef965e951fb2e62d9b6ff4380c442443 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 27 Jun 2024 10:58:23 +0800 Subject: [PATCH 077/140] add TiKV improvements and bug fixes Co-authored-by: Jinpeng Zhang --- releases/release-8.2.0.md | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 3d8154609210..1e5ffdeb7705 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -250,7 +250,15 @@ TiDB 版本:8.2.0 - + TiKV - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 支持 json_merge_patch 函数下推到 TiKV [#16770](https://github.com/tikv/tikv/issues/16770) @[dbsid](https://github.com/dbsid) + - 添加单个 compaction job 涉及的 SST 文件数的 metric [#16837](https://github.com/tikv/tikv/issues/16837) @[zhangjinpeng87](https://github.com/zhangjinpeng87) + - 默认开启 early apply 特性,降低单个 TiKV 抖动对写请求延迟的影响 [#16717](https://github.com/tikv/tikv/issues/16717) @[glorv](https://github.com/glorv) + - 在复制副本前引入 precheck 机制,在确保了目标端 ready 的情况下再发送副本,提高副本复制的有效性 [#15972](https://github.com/tikv/tikv/issues/15972) @[hbisheng](https://github.com/hbisheng) + - 在 raft 日志持久化之前,将 raft 日志保留在缓存中提升 follower 对日志的读取性能 [#16717](https://github.com/tikv/tikv/issues/16717) @[glorv](https://github.com/glorv) + - 增加 drop raft message 事件的可观测性,方便定位写入慢的 root cause [#17093](https://github.com/tikv/tikv/issues/17093) @[Connor1996](https://github.com/Connor1996) + - 增加对 ingest file 的延迟可观测性,方便排查集群的延迟问题 [#17078](https://github.com/tikv/tikv/issues/17078) @[LykxSassinator](https://github.com/LykxSassinator) + - 利用单独的线程来进行副本清理工作,保证 raft 读写关键路径的延迟稳定 [#16001](https://github.com/tikv/tikv/issues/16001) @[hbisheng](https://github.com/hbisheng) + - 提升正在进行 apply 的副本数的可观测性 [#17078](https://github.com/tikv/tikv/issues/17078) @[hbisheng](https://github.com/hbisheng) - note [#issue](链接) @[贡献者 GitHub ID](链接) + PD @@ -336,7 +344,15 @@ TiDB 版本:8.2.0 + TiKV - - note [#issue](链接) @[贡献者 GitHub ID](链接) +- 修复不稳定测试用例 test_raw_put_key_guard [#16825](https://github.com/tikv/tikv/issues/16825) @[pingyu](https://github.com/pingyu) +- 修复不稳定测试用例 test_rawkv::test_leader_transfer [#16789](https://github.com/tikv/tikv/issues/16789) @[pingyu](https://github.com/pingyu) +- 修复 json_array_append panic 问题 [#16930](https://github.com/tikv/tikv/issues/16930) @[dbsid](https://github.com/dbsid) +- 修复 leader 不及时清理失败的 snapshot 文件的问题 [#16976](https://github.com/tikv/tikv/issues/16976) @[hbisheng](https://github.com/hbisheng) +- 修复高并发 coprocessor 请求可能导致 TiKV OOM 的问题 [#16653](https://github.com/tikv/tikv/issues/16653) @[overvenus](https://github.com/overvenus) +- 修复在线变更 raftstore.periodic-full-compact-start-time 参数可能会 panic 的问题 [#17066](https://github.com/tikv/tikv/issues/17066) @[SpadeA-Tang](https://github.com/SpadeA-Tang) +- 修复 `make docker` 和 `make docker_test` 失败的问题 [#17075](https://github.com/tikv/tikv/issues/17075) @[shunki-fujita](https://github.com/shunki-fujita) +- 修复 gRPC source duration 在监控中显示错误的问题 [#17133](https://github.com/tikv/tikv/issues/17133) @[King-Dylan](https://github.com/King-Dylan) +- 修复 gRPC 设置压缩方式对 TiKV 发送到 TiDB 的消息不起作用的问题 [#17176](https://github.com/tikv/tikv/issues/17176) @[ekexium](https://github.com/ekexium) - note [#issue](链接) @[贡献者 GitHub ID](链接) - (dup): release-7.5.2.md > 错误修复> TiKV - 修复 tikv-ctl 的 `raft region` 命令的输出中未包含 Region 状态信息的问题 [#17037](https://github.com/tikv/tikv/issues/17037) @[glorv](https://github.com/glorv) From 1569b6abc1394c9dc7d40fa83fba4a87a3275ed6 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 27 Jun 2024 10:59:29 +0800 Subject: [PATCH 078/140] add sql/planner improvements and bug bixes Co-authored-by: Zhou Kunqin <25057648+time-and-fate@users.noreply.github.com> --- releases/release-8.2.0.md | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 1e5ffdeb7705..45edbfd9c766 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -213,6 +213,7 @@ TiDB 版本:8.2.0 ## 废弃功能 * 以下为从 v8.2.0 开始已废弃的功能: + * 从 v8.2.0 开始,TiDB 的配置项 `enable-replica-selector-v2` 被废弃。TiKV 发送 RPC 请求时,默认使用新版本的 Region 副本选择器。 * 从 v8.2.0 开始,BR 快照恢复参数 `--concurrency` 被废弃。作为替代,你可以通过 [`--tikv-max-restore-concurrency`](/use-br-command-line-tool#常用选项) 配置快照恢复阶段的单个 TiKV 节点的任务最大并发数。 **tw@qiancai** * 从 v8.2.0 开始,BR 快照恢复参数 `--granularity` 被废弃,[粗粒度打散 Region 算法](/br/br-snapshot-guide.md#恢复快照备份数据)默认启用。**tw@qiancai** @@ -232,7 +233,10 @@ TiDB 版本:8.2.0 + TiDB - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 改进形如 `((a = 1 and b = 2 and c > 3) or (a = 4 and b = 5 and c > 6)) and d > 3` 的表达式匹配多列索引的逻辑,使其能生成更加精准的 `Range`。 [#41598](https://github.com/pingcap/tidb/issues/41598) @[ghazalfamilyusa](https://github.com/ghazalfamilyusa) + - 支持在 DML 语句的 SELECT 子句中使用查询范围生效的 Optimizer Hints。 [#53834](https://github.com/pingcap/tidb/issues/53834) @[qw4990](https://github.com/qw4990) + - 改进形如 `(a, b) > (1, 2)` 的表达式的处理机制,使其能够生成对应索引上的 `Range`。 [#41598](https://github.com/pingcap/tidb/issues/41598) @[elsa0520](https://github.com/elsa0520) + - 当 SQL 满足特定条件时,支持在内表包含 Aggregation 时使用 Index Join。 [#37068](https://github.com/pingcap/tidb/issues/37068) @[elsa0520](https://github.com/elsa0520) - note [#issue](链接) @[贡献者 GitHub ID](链接) - 优化对大数据量的表进行简单查询时获取数据分布信息的性能 [#53850](https://github.com/pingcap/tidb/issues/53850) @[you06](https://github.com/you06) **tw@Oreoxmt** - 聚合的结果集能够作为 IndexJoin 的内表,使更多的复杂查询可以匹配到 IndexJoin,从而可以通过索引提升查询效率 [#37068](https://github.com/pingcap/tidb/issues/37068) @[elsa0520](https://github.com/elsa0520) **tw@hfxsd** @@ -311,7 +315,14 @@ TiDB 版本:8.2.0 + TiDB - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 修复 SQL 中包含 outer join,且 join 条件包含形如 `false IN (column_name)` 的表达式时,查询结果缺少部分数据的问题。 [#49476](https://github.com/pingcap/tidb/issues/49476) @[ghazalfamilyusa](https://github.com/ghazalfamilyusa) + - 在统计表的 `PREDICATE COLUMNS` 使用情况时,不再收集系统表的信息。 [#53403](https://github.com/pingcap/tidb/issues/53403) @[hi-rustin](https://github.com/hi-rustin) + - 修复 `tidb_persist_analyze_options` 关闭时可能导致 `tidb_enable_column_tracking` 无法工作的问题。 [#53478](https://github.com/pingcap/tidb/issues/53478) @[hi-rustin](https://github.com/hi-rustin) + - 修复 `(*PointGetPlan).StatsInfo()` 可能出现 DATA RACE 的问题。 [#49803](https://github.com/pingcap/tidb/issues/49803) [#43339](https://github.com/pingcap/tidb/issues/43339) @[qw4990](https://github.com/qw4990) + - 修复在已有写入的事务中查询带有虚拟列的表时,查询结果可能错误的问题。 [#53951](https://github.com/pingcap/tidb/issues/53951) @[qw4990](https://github.com/qw4990) + - 修复 `tidb_enable_async_merge_global_stats` 和 `tidb_analyze_partition_concurrency` 在自动分析无法生效的问题。 [#53972](https://github.com/pingcap/tidb/issues/53972) @[hi-rustin](https://github.com/hi-rustin) + - 修复查询 TABLESAMPLE 时可能报错“plan not supported”的问题。 [#54015](https://github.com/pingcap/tidb/issues/54015) @[tangenta](https://github.com/tangenta) + - 修复形如 `SELECT DISTINCT CAST(col AS DECIMAL), CAST(col AS SIGNED) FROM ...` 的 SQL 查询结果出错的问题。 [#53726](https://github.com/pingcap/tidb/issues/53726) @[hawkingrei](https://github.com/hawkingrei) - note [#issue](链接) @[贡献者 GitHub ID](链接) - 修复在客户端读取数据超时后查询无法被终止的问题 [#44009](https://github.com/pingcap/tidb/issues/44009) @[wshwsh12](https://github.com/wshwsh12) **tw@Oreoxmt** - (dup): release-6.5.10.md > 错误修复> TiDB - 修复 `Longlong` 类型在谓词中溢出的问题 [#45783](https://github.com/pingcap/tidb/issues/45783) @[hawkingrei](https://github.com/hawkingrei) From 66d380bea4691c5ff32a63e4bebe3f319138fb2c Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 27 Jun 2024 11:00:49 +0800 Subject: [PATCH 079/140] add br improvements and bug fixes Co-authored-by: BornChanger <97348524+BornChanger@users.noreply.github.com> --- releases/release-8.2.0.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 45edbfd9c766..06f8a6f77c21 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -287,6 +287,10 @@ TiDB 版本:8.2.0 - 优化备份稳定性以及性能,提升在大量表备份过程发生节点重启、扩容、网络抖动时的备份性能 [#52534](https://github.com/pingcap/tidb/issues/52534) @[3pointer](https://github.com/3pointer) **tw@qiancai** - 优化恢复过程中对 TiCDC Changefeed 的细粒度检查,如果 Changefeed 的 [CheckpointTS](/ticdc/ticdc-architecture.md#checkpointts) 晚于数据的备份时间,则不会影响恢复操作,从而减少不必要的等待时间,提升用户体验 [#53131](https://github.com/pingcap/tidb/issues/53131) @[YuJuncen](https://github.com/YuJuncen) **tw@qiancai** - 为 [`BACKUP`](/sql-statements/sql-statement-backup.md) 语句和 [`RESTORE`](sql-statements/sql-statement-restore.md) 语句添加了若干常用的参数选项,例如 `CHECKSUM_CONCURRENCY` [#53040](https://github.com/pingcap/tidb/issues/53040) @[RidRisR](https://github.com/RidRisR) **tw@qiancai** + - 去掉在 `br log` 命令 除了 `br log restore` 之外子命令对 tidb `domain` 数据结构的载入, 降低内存消耗 [#52088](https://github.com/pingcap/tidb/issues/52088) @[Leavrth](https://github.com/Leavrth) + - 对日志备份过程中临时落盘的文件做加密支持 [#15083](https://github.com/tikv/tikv/issues/15083) @[YuJuncen](https://github.com/YuJuncen) + - 在 grafana 面板增加了 `tikv_log_backup_pending_initial_scan` [#16656](https://github.com/tikv/tikv/issues/16656) @[3pointer](https://github.com/3pointer) + - 优化 pitr 日志输出的格式, 并添加了 `RestoreTS` 字段 [#53645](https://github.com/pingcap/tidb/issues/53645) @[dveeden](https://github.com/dveeden) - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) @@ -397,6 +401,11 @@ TiDB 版本:8.2.0 - (dup): release-6.5.10.md > 错误修复> Tools> Backup & Restore (BR) - 修复 PD 连接失败导致日志备份 advancer owner 所在的 TiDB 可能崩溃的问题 [#52597](https://github.com/pingcap/tidb/issues/52597) @[YuJuncen](https://github.com/YuJuncen) - (dup): release-6.5.10.md > 错误修复> Tools> Backup & Restore (BR) - 修复日志备份在 advancer owner 发生迁移后可能被暂停的问题 [#53561](https://github.com/pingcap/tidb/issues/53561) @[RidRisR](https://github.com/RidRisR) - (dup): release-6.5.10.md > 错误修复> Tools> Backup & Restore (BR) - 修复在恢复过程中,由于多层重试导致 BR 无法正确识别错误的问题 [#54053](https://github.com/pingcap/tidb/issues/54053) @[RidRisR](https://github.com/RidRisR) + - 确保获取 tikv 配置的连接一定会被关闭 [#52595](https://github.com/pingcap/tidb/issues/52595) @[RidRisR](https://github.com/RidRisR) + - 修复不稳定测试用例 `TestStoreRemoved` [#52791](https://github.com/pingcap/tidb/issues/52791) @[YuJuncen](https://github.com/YuJuncen) + - 在 pitr 恢复中, 检查目标集群是否存在 tiflash 副本, 如果有就直接失败恢复作业 [#52628](https://github.com/pingcap/tidb/issues/52628) @[RidRisR](https://github.com/RidRisR) + - 提升 incremental backup 中扫描 ddl 作业的效率 [#54139](https://github.com/pingcap/tidb/issues/54139) @[3pointer](https://github.com/3pointer) + - 修复断点备份查找 region leader 中断导致的性能问题 [#17168](https://github.com/tikv/tikv/issues/17168) @[Leavrth](https://github.com/Leavrth) + TiCDC From 5ab1862552ee8a9934803de00843fb5aa98a34b5 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 27 Jun 2024 11:45:59 +0800 Subject: [PATCH 080/140] Update releases/release-8.2.0.md Co-authored-by: xixirangrang --- releases/release-8.2.0.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 06f8a6f77c21..abb1e4ac431e 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -167,9 +167,8 @@ TiDB 版本:8.2.0 ### 行为变更 -* (dup): release-6.5.10.md > 兼容性变更 - 使用 TiDB Lightning 的严格格式 `strict-format` 导入 CSV 文件时,必须设置行分隔符 [#37338](https://github.com/pingcap/tidb/issues/37338) @[lance6716](https://github.com/lance6716) -* TiDB Lightning,从 v8.2.0 开始当用户设置 strict-format = true,来切分大的 CSV 文件为多个小的 CSV 文件来提升并发和导入性能时,需要显式指定行结束符 terminator 参数的取值为 \r,\n 或 \r\n 。否则可能导致 CSV 文件数据解析异常。 -* Import Into SQL 语法,从 v8.2.0 开始,当用户导入 CSV 文件,且指定 split 参数来切分大的 CSV 文件为多个小的 CSV 文件来提升并发和导入性能时,需显式指定行结束符 LINES_TERMINATED_BY 参数的取值为 \r,\n 或 \r\n 。否则可能导致 CSV 文件数据解析异常。 +* 使用 TiDB Lightning 导入 CSV 文件时,如果设置了严格格式 `strict-format = true` 将一个大 CSV 文件切分为多个小 CSV 文件来提升并发和导入性能,需要显式指定行结束符 `terminator`,参数的取值为 `\r`、`\n` 或 `\r\n`。如果没有指定行结束符,可能导致 CSV 文件数据解析异常。[#37338](https://github.com/pingcap/tidb/issues/37338) @[lance6716](https://github.com/lance6716) +* 使用 `IMPORT INTO` 导入 CSV 文件时,如果指定 `SPLIT_FILE` 参数将一个大 CSV 文件切分为多个小 CSV 文件来提升并发和导入性能,需显式指定行结束符 `LINES_TERMINATED_BY`,参数的取值为 `\r`、`\n` 或 `\r\n`。如果没有指定行结束符,可能导致 CSV 文件数据解析异常。[#37338](https://github.com/pingcap/tidb/issues/37338) @[lance6716](https://github.com/lance6716) * 行为变更 2 From 583c936d0c5c5a3d84dbbaa4d4c3054dc9cdaf52 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 27 Jun 2024 11:47:59 +0800 Subject: [PATCH 081/140] add DDL/DM/TiDB Lightning bug fixes Co-authored-by: EasonBall <592838129@qq.com> --- releases/release-8.2.0.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index abb1e4ac431e..ac21d9ef2c00 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -355,7 +355,13 @@ TiDB 版本:8.2.0 - 修复了 `AUTH_SOCKET` 认证插件在某些情况下 [#54031](https://github.com/pingcap/tidb/issues/54031) @[lcwangchao](https://github.com/lcwangchao) - 修复了 JSON 相关的函数在某些情况下报错信息与 MySQL 不同的问题 [#53799](https://github.com/pingcap/tidb/issues/53799) @[dveeden](https://github.com/dveeden) - 修复了分区表在 `INFORMATION_SCHEMA.PARTITIONS` 中的 `INDEX_LENGTH` 列显示不正确的问题 [#54173](https://github.com/pingcap/tidb/issues/54173) @[Defined2014](https://github.com/Defined2014) - +- 修复了 `infomation_schema.tables` 中 `TIDB_ROW_ID_SHARDING_INFO` 输出错误的问题 [#52330](https://github.com/pingcap/tidb/issues/52330) @[tangenta](https://github.com/tangenta) +- 修复了生成列输出非法时间戳的问题 [#52509](https://github.com/pingcap/tidb/issues/52509) @[lcwangchao](https://github.com/lcwangchao) +- 修复了分布式加索引时设置 `max-index-length` 时 TiDB panic 问题 [#53281](https://github.com/pingcap/tidb/issues/53281) @[zimulala](https://github.com/zimulala) +- 修复了意外创建非法的 `Decimal(0,0)` 列类型的问题 + [#53779](https://github.com/pingcap/tidb/issues/53779) @[tangenta](https://github.com/tangenta) +- 修复了使用 `current_date` 作为列默认值时,查询结果错误的问题 + [#53746](https://github.com/pingcap/tidb/issues/53746) @[tangenta](https://github.com/tangenta) + TiKV - 修复不稳定测试用例 test_raw_put_key_guard [#16825](https://github.com/tikv/tikv/issues/16825) @[pingyu](https://github.com/pingyu) @@ -416,10 +422,13 @@ TiDB 版本:8.2.0 - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) - (dup): release-7.5.2.md > 错误修复> Tools> TiDB Data Migration (DM) - 升级 `go-mysql` 以修复连接阻塞的问题 [#11041](https://github.com/pingcap/tiflow/issues/11041) @[D3Hunter](https://github.com/D3Hunter) + - 修复了在同步 MariaDB 数据时,`SET`语句导致的 panic 问题 + [#10207](https://github.com/pingcap/tiflow/issues/10207) @[dveeden](https://github.com/dveeden) + TiDB Lightning - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 修复了 lightning 导入 zstd 压缩文件时遇到的并发问题 + [#53587](https://github.com/pingcap/tidb/issues/53587) @[lance6716](https://github.com/lance6716) - note [#issue](链接) @[贡献者 GitHub ID](链接) + Dumpling From 0bc95020f3e434335057fc798ef646a1a4f76224 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 27 Jun 2024 14:05:18 +0800 Subject: [PATCH 082/140] add TiCDC bug fixes Co-authored-by: hongyunyan <649330952@qq.com> --- releases/release-8.2.0.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index ac21d9ef2c00..cdcb81e331ab 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -414,7 +414,8 @@ TiDB 版本:8.2.0 + TiCDC - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 修复 Grafana 监控中的 **Kafka Outgoing Bytes** 面板显示不准确的问题 [#10777](https://github.com/pingcap/tiflow/issues/10777) @[asddongmen](https://github.com/asddongmen) + - 修复在多节点环境下进行大量 Update 操作时,反复重启 Changefeed 可能导致的数据不一致问题。 [#11219](https://github.com/pingcap/tiflow/issues/11219) @[lidezhu](https://github.com/lidezhu) - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiDB Data Migration (DM) From 1dc4eaac4cc4597bb4f7c8f8866d1e6a75681219 Mon Sep 17 00:00:00 2001 From: Aolin Date: Thu, 27 Jun 2024 14:45:48 +0800 Subject: [PATCH 083/140] Apply suggestions from code review --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index cdcb81e331ab..5e4e9251a1bc 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -29,7 +29,7 @@ TiDB 版本:8.2.0 并行 HashAgg 算法支持数据落盘成为正式功能 (GA) - HashAgg 是 TiDB 中常用的聚合算子,用于快速聚合具有相同字段值的行。TiDB v8.0.0 引入并行 HashAgg 作为实验特性,以进一步提升处理速度。当内存资源不足时,并行 HashAgg 可以将临时排序数据落盘,避免因内存使用过度而导致的 OOM 风险,从而提升查询性能和节点稳定性。该功能在 v8.2.0 成为正式功能,并默认开启,用户可以安全地设置并行 HashAgg 的并发度。 + HashAgg 是 TiDB 中常用的聚合算子,用于快速聚合具有相同字段值的行。TiDB v8.0.0 引入并行 HashAgg 作为实验特性,以进一步提升处理速度。当内存资源不足时,并行 HashAgg 可以将临时排序数据落盘,避免因内存使用过度而导致的 OOM 风险,从而提升查询性能和节点稳定性。该功能在 v8.2.0 成为正式功能,并默认开启,用户可以通过 tidb_executor_concurrency 安全地设置并行 HashAgg 的并发度。 统计信息加载效率提升 10 倍 From 3b2dd2856e3adfe95c0719bdcc2e47d2ef29cbaf Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 27 Jun 2024 14:47:48 +0800 Subject: [PATCH 084/140] add contributor info --- releases/release-8.2.0.md | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 5e4e9251a1bc..375af48abb7a 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -169,6 +169,7 @@ TiDB 版本:8.2.0 * 使用 TiDB Lightning 导入 CSV 文件时,如果设置了严格格式 `strict-format = true` 将一个大 CSV 文件切分为多个小 CSV 文件来提升并发和导入性能,需要显式指定行结束符 `terminator`,参数的取值为 `\r`、`\n` 或 `\r\n`。如果没有指定行结束符,可能导致 CSV 文件数据解析异常。[#37338](https://github.com/pingcap/tidb/issues/37338) @[lance6716](https://github.com/lance6716) * 使用 `IMPORT INTO` 导入 CSV 文件时,如果指定 `SPLIT_FILE` 参数将一个大 CSV 文件切分为多个小 CSV 文件来提升并发和导入性能,需显式指定行结束符 `LINES_TERMINATED_BY`,参数的取值为 `\r`、`\n` 或 `\r\n`。如果没有指定行结束符,可能导致 CSV 文件数据解析异常。[#37338](https://github.com/pingcap/tidb/issues/37338) @[lance6716](https://github.com/lance6716) +* 在 BR v8.2.0 之前的版本中,当集群存在 TiCDC 同步任务时,BR 不支持进行[数据恢复](/br/backup-and-restore-overview.md)。从 BR 8.2.0 起,BR 数据恢复对 TiCDC 的限制被放宽:如果所恢复数据的 BackupTS(即备份时间)早于 Changefeed 的 [CheckpointTS](/ticdc/ticdc-architecture.md#checkpointts)(即记录当前同步进度的时间戳),BR 数据恢复可以正常进行。考虑到 BackupTS 的时间通常较早,此时可以认为绝大部分场景下,当集群存在 TiCDC 同步任务时,BR 都可以进行数据恢复。 **tw@qiancai** * 行为变更 2 @@ -205,8 +206,6 @@ TiDB 版本:8.2.0 ### 其他 -- 在 BR v8.2.0 之前的版本中,当集群存在 TiCDC 同步任务时,BR 不支持进行[数据恢复](/br/backup-and-restore-overview.md)。从 BR 8.2.0 起,BR 数据恢复对 TiCDC 的限制被放宽:如果所恢复数据的 BackupTS(即备份时间)早于 Changefeed 的 [CheckpointTS](/ticdc/ticdc-architecture.md#checkpointts)(即记录当前同步进度的时间戳),BR 数据恢复可以正常进行。考虑到 BackupTS 的时间通常较早,此时可以认为绝大部分场景下,当集群存在 TiCDC 同步任务时,BR 都可以进行数据恢复。 **tw@qiancai** - ## 离线包变更 ## 废弃功能 @@ -453,4 +452,18 @@ TiDB 版本:8.2.0 感谢来自 TiDB 社区的贡献者们: -- [贡献者 GitHub ID](链接) \ No newline at end of file +- [CabinfeverB](https://github.com/CabinfeverB) +- [DanRoscigno](https://github.com/DanRoscigno)(首次贡献者) +- [ei-sugimoto](https://github.com/ei-sugimoto)(首次贡献者) +- [eltociear](https://github.com/eltociear) +- [jiyfhust](https://github.com/jiyfhust) +- [michaelmdeng](https://github.com/michaelmdeng)(首次贡献者) +- [mittalrishabh](https://github.com/mittalrishabh) +- [onlyacat](https://github.com/onlyacat) +- [qichengzx](https://github.com/qichengzx)(首次贡献者) +- [SeaRise](https://github.com/SeaRise) +- [shawn0915](https://github.com/shawn0915) +- [shunki-fujita](https://github.com/shunki-fujita)(首次贡献者) +- [tonyxuqqi](https://github.com/tonyxuqqi) +- [wwu](https://github.com/wwu)(首次贡献者) +- [yzhan1](https://github.com/yzhan1) \ No newline at end of file From 7776491743c753bec1b60356c98d46eaa810dbe0 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 27 Jun 2024 14:54:30 +0800 Subject: [PATCH 085/140] minor wording updates --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 375af48abb7a..21b3093286fe 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -282,7 +282,7 @@ TiDB 版本:8.2.0 + Backup & Restore (BR) - - 优化备份稳定性以及性能,提升在大量表备份过程发生节点重启、扩容、网络抖动时的备份性能 [#52534](https://github.com/pingcap/tidb/issues/52534) @[3pointer](https://github.com/3pointer) **tw@qiancai** + - 优化备份功能,提升在大量表备份过程发生节点重启、扩容、网络抖动时的备份性能和稳定性 [#52534](https://github.com/pingcap/tidb/issues/52534) @[3pointer](https://github.com/3pointer) **tw@qiancai** - 优化恢复过程中对 TiCDC Changefeed 的细粒度检查,如果 Changefeed 的 [CheckpointTS](/ticdc/ticdc-architecture.md#checkpointts) 晚于数据的备份时间,则不会影响恢复操作,从而减少不必要的等待时间,提升用户体验 [#53131](https://github.com/pingcap/tidb/issues/53131) @[YuJuncen](https://github.com/YuJuncen) **tw@qiancai** - 为 [`BACKUP`](/sql-statements/sql-statement-backup.md) 语句和 [`RESTORE`](sql-statements/sql-statement-restore.md) 语句添加了若干常用的参数选项,例如 `CHECKSUM_CONCURRENCY` [#53040](https://github.com/pingcap/tidb/issues/53040) @[RidRisR](https://github.com/RidRisR) **tw@qiancai** - 去掉在 `br log` 命令 除了 `br log restore` 之外子命令对 tidb `domain` 数据结构的载入, 降低内存消耗 [#52088](https://github.com/pingcap/tidb/issues/52088) @[Leavrth](https://github.com/Leavrth) From 3b4fb020ae42fdea3572abddbc2681aa40d88f77 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 27 Jun 2024 16:27:34 +0800 Subject: [PATCH 086/140] add PD improvements Co-authored-by: JmPotato --- releases/release-8.2.0.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 21b3093286fe..b64684646a0f 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -265,8 +265,8 @@ TiDB 版本:8.2.0 + PD - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 优化提升 Region 心跳处理的性能 [#7897](https://github.com/tikv/pd/issues/7897) @[nolouch](https://github.com/nolouch) @[rleungx](https://github.com/rleungx) @[JmPotato](https://github.com/JmPotato) + - pd-ctl 支持使用 byte 或 query 维度来进行热点 Region 查询 [#7369](https://github.com/tikv/pd/issues/7369) @[lhy1024](https://github.com/lhy1024) + TiFlash @@ -378,8 +378,6 @@ TiDB 版本:8.2.0 + PD - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) - (dup): release-7.5.2.md > 错误修复> PD - 修复 `ALTER PLACEMENT POLICY` 无法修改 placement policy 的问题 [#52257](https://github.com/pingcap/tidb/issues/52257) [#51712](https://github.com/pingcap/tidb/issues/51712) @[jiyfhust](https://github.com/jiyfhust) - (dup): release-7.1.5.md > 错误修复> PD - 修复写热点调度可能会违反放置策略 (placement policy) 约束的问题 [#7848](https://github.com/tikv/pd/issues/7848) @[lhy1024](https://github.com/lhy1024) - (dup): release-6.5.10.md > 错误修复> PD - 修复使用 Placement Rules 的情况下,down peer 可能无法恢复的问题 [#7808](https://github.com/tikv/pd/issues/7808) @[rleungx](https://github.com/rleungx) From de2ad590e157cce1a0e178cca5a4896128cc754e Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 27 Jun 2024 16:29:57 +0800 Subject: [PATCH 087/140] Apply suggestions from code review Co-authored-by: Aolin --- releases/release-8.2.0.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index b64684646a0f..52b6481f817d 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -115,7 +115,7 @@ TiDB 版本:8.2.0 * TiUP 支持部署 PD 微服务 [#5766](https://github.com/tikv/pd/issues/5766) @[rleungx](https://github.com/rleungx) **tw@qiancai** - PD 从 v8.0.0 开始支持微服务模式。该模式通过将 PD 的时间戳分配和集群调度功能拆分为独立的服务进行部署和管理,可以更好地控制资源的使用和隔离,减少不同服务相互之间的影响。但是,在 v8.2.0 之前的版本中,PD 微服务仅支持通过 TiDB Operator 进行部署。 + PD 从 v8.0.0 开始支持微服务模式。该模式通过将 PD 的时间戳分配和集群调度功能拆分为独立的服务进行部署和管理,可以更好地控制资源的使用和隔离,减少不同服务之间的相互影响。但是,在 v8.2.0 之前的版本中,PD 微服务仅支持通过 TiDB Operator 进行部署。 从 v8.2.0 开始,PD 微服务支持通过 TiUP 进行部署。你可以在集群中单独部署 `tso` 微服务和 `scheduling` 微服务,从而实现 PD 的性能扩展,解决大规模集群下 PD 的性能瓶颈问题。当 PD 出现明显的性能瓶颈且无法升级配置的情况下,建议考虑使用该模式。 @@ -213,7 +213,7 @@ TiDB 版本:8.2.0 * 以下为从 v8.2.0 开始已废弃的功能: * 从 v8.2.0 开始,TiDB 的配置项 `enable-replica-selector-v2` 被废弃。TiKV 发送 RPC 请求时,默认使用新版本的 Region 副本选择器。 - * 从 v8.2.0 开始,BR 快照恢复参数 `--concurrency` 被废弃。作为替代,你可以通过 [`--tikv-max-restore-concurrency`](/use-br-command-line-tool#常用选项) 配置快照恢复阶段的单个 TiKV 节点的任务最大并发数。 **tw@qiancai** + * 从 v8.2.0 开始,BR 快照恢复参数 `--concurrency` 被废弃。作为替代,你可以通过 [`--tikv-max-restore-concurrency`](/use-br-command-line-tool#常用选项) 配置快照恢复阶段单个 TiKV 节点的任务最大并发数。 **tw@qiancai** * 从 v8.2.0 开始,BR 快照恢复参数 `--granularity` 被废弃,[粗粒度打散 Region 算法](/br/br-snapshot-guide.md#恢复快照备份数据)默认启用。**tw@qiancai** * 以下为计划将在未来版本中废弃的功能: @@ -282,9 +282,9 @@ TiDB 版本:8.2.0 + Backup & Restore (BR) - - 优化备份功能,提升在大量表备份过程发生节点重启、扩容、网络抖动时的备份性能和稳定性 [#52534](https://github.com/pingcap/tidb/issues/52534) @[3pointer](https://github.com/3pointer) **tw@qiancai** + - 优化备份功能,提升在大量表备份过程中遇到节点重启、扩容或网络抖动时的备份性能和稳定性 [#52534](https://github.com/pingcap/tidb/issues/52534) @[3pointer](https://github.com/3pointer) **tw@qiancai** - 优化恢复过程中对 TiCDC Changefeed 的细粒度检查,如果 Changefeed 的 [CheckpointTS](/ticdc/ticdc-architecture.md#checkpointts) 晚于数据的备份时间,则不会影响恢复操作,从而减少不必要的等待时间,提升用户体验 [#53131](https://github.com/pingcap/tidb/issues/53131) @[YuJuncen](https://github.com/YuJuncen) **tw@qiancai** - - 为 [`BACKUP`](/sql-statements/sql-statement-backup.md) 语句和 [`RESTORE`](sql-statements/sql-statement-restore.md) 语句添加了若干常用的参数选项,例如 `CHECKSUM_CONCURRENCY` [#53040](https://github.com/pingcap/tidb/issues/53040) @[RidRisR](https://github.com/RidRisR) **tw@qiancai** + - 为 [`BACKUP`](/sql-statements/sql-statement-backup.md) 语句和 [`RESTORE`](sql-statements/sql-statement-restore.md) 语句添加了多个常用参数选项,例如 `CHECKSUM_CONCURRENCY` [#53040](https://github.com/pingcap/tidb/issues/53040) @[RidRisR](https://github.com/RidRisR) **tw@qiancai** - 去掉在 `br log` 命令 除了 `br log restore` 之外子命令对 tidb `domain` 数据结构的载入, 降低内存消耗 [#52088](https://github.com/pingcap/tidb/issues/52088) @[Leavrth](https://github.com/Leavrth) - 对日志备份过程中临时落盘的文件做加密支持 [#15083](https://github.com/tikv/tikv/issues/15083) @[YuJuncen](https://github.com/YuJuncen) - 在 grafana 面板增加了 `tikv_log_backup_pending_initial_scan` [#16656](https://github.com/tikv/tikv/issues/16656) @[3pointer](https://github.com/3pointer) From 95ece790c39a818c187116e4d01e457368ab12fe Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Thu, 27 Jun 2024 16:49:14 +0800 Subject: [PATCH 088/140] adjust the format and remove some placeholders --- releases/release-8.2.0.md | 100 +++++++++----------------------------- 1 file changed, 24 insertions(+), 76 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 52b6481f817d..cf8d1b9ef3a1 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -45,14 +45,6 @@ TiDB 版本:8.2.0 ## 功能详情 -### 可扩展性 - -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 - ### 性能 * 支持下推以下字符串函数到 TiKV [#50601](https://github.com/pingcap/tidb/issues/50601) @[dbsid](https://github.com/dbsid) **tw@Oreoxmt** @@ -153,12 +145,6 @@ TiDB 版本:8.2.0 更多信息,请参考[用户文档](/ticdc/ticdc-upstream-downstream-check.md#注意事项)。 -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) **tw@xxx** - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 - ## 兼容性变更 > **注意:** @@ -188,10 +174,8 @@ TiDB 版本:8.2.0 | [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) | 修改 | 从 v8.2.0 开始,默认设置下,TiDB 不会收集类型为 `mediumtext` 和 `longtext` 的列,避免潜在的 OOM 风险。**tw@hfxsd** | | [`tidb_enable_historical_stats`](/system-variables.md#tidb_enable_historical_stats) | 修改 | 默认值改为 `OFF`,即关闭历史统计信息,避免潜在的稳定性问题。 **tw@hfxsd** | | [`tidb_executor_concurrency`](/system-variables.md#tidb_executor_concurrency-从-v50-版本开始引入) | 修改 | 新增支持对 `sort` 算子的并发度进行设置。 | -| [`tidb_resource_control_strict_mode`](/system-variables.md#tidb_resource_control_strict_mode-从-v820-版本开始引入) | 新增 | [`SET RESOURCE GROUP`](/sql-statements/sql-statement-set-resource-group.md) 和优化器 [`RESOURCE_GROUP()`](/optimizer-hints.md#resource_groupresource_group_name) Hint 权限控制的开关。 **tw@lilin90** | | [`tidb_sysproc_scan_concurrency`](/system-variables.md#tidb_sysproc_scan_concurrency-从-v650-版本开始引入) | 修改 | 最小值从 `1` 改为 `0`。当设置为 `0` 时,TiDB 会根据集群规模自适应调整并发度。**tw@hfxsd** | -| | | | -| | | | +| [`tidb_resource_control_strict_mode`](/system-variables.md#tidb_resource_control_strict_mode-从-v820-版本开始引入) | 新增 | [`SET RESOURCE GROUP`](/sql-statements/sql-statement-set-resource-group.md) 和优化器 [`RESOURCE_GROUP()`](/optimizer-hints.md#resource_groupresource_group_name) Hint 权限控制的开关。 **tw@lilin90** | ### 配置文件参数 @@ -235,7 +219,6 @@ TiDB 版本:8.2.0 - 支持在 DML 语句的 SELECT 子句中使用查询范围生效的 Optimizer Hints。 [#53834](https://github.com/pingcap/tidb/issues/53834) @[qw4990](https://github.com/qw4990) - 改进形如 `(a, b) > (1, 2)` 的表达式的处理机制,使其能够生成对应索引上的 `Range`。 [#41598](https://github.com/pingcap/tidb/issues/41598) @[elsa0520](https://github.com/elsa0520) - 当 SQL 满足特定条件时,支持在内表包含 Aggregation 时使用 Index Join。 [#37068](https://github.com/pingcap/tidb/issues/37068) @[elsa0520](https://github.com/elsa0520) - - note [#issue](链接) @[贡献者 GitHub ID](链接) - 优化对大数据量的表进行简单查询时获取数据分布信息的性能 [#53850](https://github.com/pingcap/tidb/issues/53850) @[you06](https://github.com/you06) **tw@Oreoxmt** - 聚合的结果集能够作为 IndexJoin 的内表,使更多的复杂查询可以匹配到 IndexJoin,从而可以通过索引提升查询效率 [#37068](https://github.com/pingcap/tidb/issues/37068) @[elsa0520](https://github.com/elsa0520) **tw@hfxsd** - (dup): release-6.5.10.md > 改进提升> TiDB - 在 MPP 负载均衡时移除不包含任何 Region 的 Store [#52313](https://github.com/pingcap/tidb/issues/52313) @[xzhangxian1008](https://github.com/xzhangxian1008) @@ -261,7 +244,6 @@ TiDB 版本:8.2.0 - 增加对 ingest file 的延迟可观测性,方便排查集群的延迟问题 [#17078](https://github.com/tikv/tikv/issues/17078) @[LykxSassinator](https://github.com/LykxSassinator) - 利用单独的线程来进行副本清理工作,保证 raft 读写关键路径的延迟稳定 [#16001](https://github.com/tikv/tikv/issues/16001) @[hbisheng](https://github.com/hbisheng) - 提升正在进行 apply 的副本数的可观测性 [#17078](https://github.com/tikv/tikv/issues/17078) @[hbisheng](https://github.com/hbisheng) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + PD @@ -270,7 +252,6 @@ TiDB 版本:8.2.0 + TiFlash - - note [#issue](链接) @[贡献者 GitHub ID](链接) - 减少数据高并发读取下的锁冲突,优化短查询性能 [#9125](https://github.com/pingcap/tiflash/issues/9125) @[JinheLin](https://github.com/JinheLin) - 升级默认编译工具链到 llvm 17 [#7193](https://github.com/pingcap/tiflash/issues/7193) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) - 消除 `Join` 算子中对于 Join Key 的冗余拷贝 [#9057](https://github.com/pingcap/tiflash/issues/9057) @[gengliqi](https://github.com/gengliqi) @@ -289,30 +270,11 @@ TiDB 版本:8.2.0 - 对日志备份过程中临时落盘的文件做加密支持 [#15083](https://github.com/tikv/tikv/issues/15083) @[YuJuncen](https://github.com/YuJuncen) - 在 grafana 面板增加了 `tikv_log_backup_pending_initial_scan` [#16656](https://github.com/tikv/tikv/issues/16656) @[3pointer](https://github.com/3pointer) - 优化 pitr 日志输出的格式, 并添加了 `RestoreTS` 字段 [#53645](https://github.com/pingcap/tidb/issues/53645) @[dveeden](https://github.com/dveeden) - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiCDC - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) - (dup): release-6.5.10.md > 改进提升> Tools> TiCDC - 支持当下游为消息队列 (Message Queue, MQ) 或存储服务时直接输出原始事件 [#11211](https://github.com/pingcap/tiflow/issues/11211) @[CharlesCheung96](https://github.com/CharlesCheung96) - + 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 @@ -325,7 +287,6 @@ TiDB 版本:8.2.0 - 修复 `tidb_enable_async_merge_global_stats` 和 `tidb_analyze_partition_concurrency` 在自动分析无法生效的问题。 [#53972](https://github.com/pingcap/tidb/issues/53972) @[hi-rustin](https://github.com/hi-rustin) - 修复查询 TABLESAMPLE 时可能报错“plan not supported”的问题。 [#54015](https://github.com/pingcap/tidb/issues/54015) @[tangenta](https://github.com/tangenta) - 修复形如 `SELECT DISTINCT CAST(col AS DECIMAL), CAST(col AS SIGNED) FROM ...` 的 SQL 查询结果出错的问题。 [#53726](https://github.com/pingcap/tidb/issues/53726) @[hawkingrei](https://github.com/hawkingrei) - - note [#issue](链接) @[贡献者 GitHub ID](链接) - 修复在客户端读取数据超时后查询无法被终止的问题 [#44009](https://github.com/pingcap/tidb/issues/44009) @[wshwsh12](https://github.com/wshwsh12) **tw@Oreoxmt** - (dup): release-6.5.10.md > 错误修复> TiDB - 修复 `Longlong` 类型在谓词中溢出的问题 [#45783](https://github.com/pingcap/tidb/issues/45783) @[hawkingrei](https://github.com/hawkingrei) - (dup): release-7.1.5.md > 错误修复> TiDB - 修复窗口函数中有某些子查询时可能会 panic 的问题 [#42734](https://github.com/pingcap/tidb/issues/42734) @[hi-rustin](https://github.com/hi-rustin) @@ -348,31 +309,31 @@ TiDB 版本:8.2.0 - (dup): release-6.5.10.md > 错误修复> TiDB - 修复使用 Optimizer Hints 时,可能输出错误的 WARNINGS 信息的问题 [#53767](https://github.com/pingcap/tidb/issues/53767) @[hawkingrei](https://github.com/hawkingrei) - 修复对时间类型取负操作结果不正确的问题 [#52262](https://github.com/pingcap/tidb/issues/52262) @[solotzg](https://github.com/solotzg) - Regexp 系列函数对于空的模式参数显式报错 [#53221](https://github.com/pingcap/tidb/issues/53221) @[yibin87](https://github.com/yibin87) -- 修复某些情况下把 JSON 转换成时间格式会丢失精度的问题 [#53352](https://github.com/pingcap/tidb/issues/53352) @[YangKeao](https://github.com/YangKeao) -- 修复函数 `JSON_QUOTE` 在某些情况下返回的结果不正确的问题 [#37294](https://github.com/pingcap/tidb/issues/37294) @[https://github.com/dveeden](dveeden) -- 修复执行 ALTER TABLE REMOVE PARTITIONING 后有可能会丢失数据的问题 [#53385](https://github.com/pingcap/tidb/issues/53385) @[mjonss](https://github.com/mjonss) -- 修复了 `AUTH_SOCKET` 认证插件在某些情况下 [#54031](https://github.com/pingcap/tidb/issues/54031) @[lcwangchao](https://github.com/lcwangchao) -- 修复了 JSON 相关的函数在某些情况下报错信息与 MySQL 不同的问题 [#53799](https://github.com/pingcap/tidb/issues/53799) @[dveeden](https://github.com/dveeden) -- 修复了分区表在 `INFORMATION_SCHEMA.PARTITIONS` 中的 `INDEX_LENGTH` 列显示不正确的问题 [#54173](https://github.com/pingcap/tidb/issues/54173) @[Defined2014](https://github.com/Defined2014) -- 修复了 `infomation_schema.tables` 中 `TIDB_ROW_ID_SHARDING_INFO` 输出错误的问题 [#52330](https://github.com/pingcap/tidb/issues/52330) @[tangenta](https://github.com/tangenta) -- 修复了生成列输出非法时间戳的问题 [#52509](https://github.com/pingcap/tidb/issues/52509) @[lcwangchao](https://github.com/lcwangchao) -- 修复了分布式加索引时设置 `max-index-length` 时 TiDB panic 问题 [#53281](https://github.com/pingcap/tidb/issues/53281) @[zimulala](https://github.com/zimulala) -- 修复了意外创建非法的 `Decimal(0,0)` 列类型的问题 - [#53779](https://github.com/pingcap/tidb/issues/53779) @[tangenta](https://github.com/tangenta) -- 修复了使用 `current_date` 作为列默认值时,查询结果错误的问题 - [#53746](https://github.com/pingcap/tidb/issues/53746) @[tangenta](https://github.com/tangenta) + - 修复某些情况下把 JSON 转换成时间格式会丢失精度的问题 [#53352](https://github.com/pingcap/tidb/issues/53352) @[YangKeao](https://github.com/YangKeao) + - 修复函数 `JSON_QUOTE` 在某些情况下返回的结果不正确的问题 [#37294](https://github.com/pingcap/tidb/issues/37294) @[https://github.com/dveeden](dveeden) + - 修复执行 ALTER TABLE REMOVE PARTITIONING 后有可能会丢失数据的问题 [#53385](https://github.com/pingcap/tidb/issues/53385) @[mjonss](https://github.com/mjonss) + - 修复了 `AUTH_SOCKET` 认证插件在某些情况下 [#54031](https://github.com/pingcap/tidb/issues/54031) @[lcwangchao](https://github.com/lcwangchao) + - 修复了 JSON 相关的函数在某些情况下报错信息与 MySQL 不同的问题 [#53799](https://github.com/pingcap/tidb/issues/53799) @[dveeden](https://github.com/dveeden) + - 修复了分区表在 `INFORMATION_SCHEMA.PARTITIONS` 中的 `INDEX_LENGTH` 列显示不正确的问题 [#54173](https://github.com/pingcap/tidb/issues/54173) @[Defined2014](https://github.com/Defined2014) + - 修复了 `infomation_schema.tables` 中 `TIDB_ROW_ID_SHARDING_INFO` 输出错误的问题 [#52330](https://github.com/pingcap/tidb/issues/52330) @[tangenta](https://github.com/tangenta) + - 修复了生成列输出非法时间戳的问题 [#52509](https://github.com/pingcap/tidb/issues/52509) @[lcwangchao](https://github.com/lcwangchao) + - 修复了分布式加索引时设置 `max-index-length` 时 TiDB panic 问题 [#53281](https://github.com/pingcap/tidb/issues/53281) @[zimulala](https://github.com/zimulala) + - 修复了意外创建非法的 `Decimal(0,0)` 列类型的问题 + [#53779](https://github.com/pingcap/tidb/issues/53779) @[tangenta](https://github.com/tangenta) + - 修复了使用 `current_date` 作为列默认值时,查询结果错误的问题 + [#53746](https://github.com/pingcap/tidb/issues/53746) @[tangenta](https://github.com/tangenta) + + TiKV -- 修复不稳定测试用例 test_raw_put_key_guard [#16825](https://github.com/tikv/tikv/issues/16825) @[pingyu](https://github.com/pingyu) -- 修复不稳定测试用例 test_rawkv::test_leader_transfer [#16789](https://github.com/tikv/tikv/issues/16789) @[pingyu](https://github.com/pingyu) -- 修复 json_array_append panic 问题 [#16930](https://github.com/tikv/tikv/issues/16930) @[dbsid](https://github.com/dbsid) -- 修复 leader 不及时清理失败的 snapshot 文件的问题 [#16976](https://github.com/tikv/tikv/issues/16976) @[hbisheng](https://github.com/hbisheng) -- 修复高并发 coprocessor 请求可能导致 TiKV OOM 的问题 [#16653](https://github.com/tikv/tikv/issues/16653) @[overvenus](https://github.com/overvenus) -- 修复在线变更 raftstore.periodic-full-compact-start-time 参数可能会 panic 的问题 [#17066](https://github.com/tikv/tikv/issues/17066) @[SpadeA-Tang](https://github.com/SpadeA-Tang) -- 修复 `make docker` 和 `make docker_test` 失败的问题 [#17075](https://github.com/tikv/tikv/issues/17075) @[shunki-fujita](https://github.com/shunki-fujita) -- 修复 gRPC source duration 在监控中显示错误的问题 [#17133](https://github.com/tikv/tikv/issues/17133) @[King-Dylan](https://github.com/King-Dylan) -- 修复 gRPC 设置压缩方式对 TiKV 发送到 TiDB 的消息不起作用的问题 [#17176](https://github.com/tikv/tikv/issues/17176) @[ekexium](https://github.com/ekexium) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 修复不稳定测试用例 test_raw_put_key_guard [#16825](https://github.com/tikv/tikv/issues/16825) @[pingyu](https://github.com/pingyu) + - 修复不稳定测试用例 test_rawkv::test_leader_transfer [#16789](https://github.com/tikv/tikv/issues/16789) @[pingyu](https://github.com/pingyu) + - 修复 json_array_append panic 问题 [#16930](https://github.com/tikv/tikv/issues/16930) @[dbsid](https://github.com/dbsid) + - 修复 leader 不及时清理失败的 snapshot 文件的问题 [#16976](https://github.com/tikv/tikv/issues/16976) @[hbisheng](https://github.com/hbisheng) + - 修复高并发 coprocessor 请求可能导致 TiKV OOM 的问题 [#16653](https://github.com/tikv/tikv/issues/16653) @[overvenus](https://github.com/overvenus) + - 修复在线变更 raftstore.periodic-full-compact-start-time 参数可能会 panic 的问题 [#17066](https://github.com/tikv/tikv/issues/17066) @[SpadeA-Tang](https://github.com/SpadeA-Tang) + - 修复 `make docker` 和 `make docker_test` 失败的问题 [#17075](https://github.com/tikv/tikv/issues/17075) @[shunki-fujita](https://github.com/shunki-fujita) + - 修复 gRPC source duration 在监控中显示错误的问题 [#17133](https://github.com/tikv/tikv/issues/17133) @[King-Dylan](https://github.com/King-Dylan) + - 修复 gRPC 设置压缩方式对 TiKV 发送到 TiDB 的消息不起作用的问题 [#17176](https://github.com/tikv/tikv/issues/17176) @[ekexium](https://github.com/ekexium) - (dup): release-7.5.2.md > 错误修复> TiKV - 修复 tikv-ctl 的 `raft region` 命令的输出中未包含 Region 状态信息的问题 [#17037](https://github.com/tikv/tikv/issues/17037) @[glorv](https://github.com/glorv) @@ -386,8 +347,6 @@ TiDB 版本:8.2.0 + TiFlash - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) - (dup): release-7.5.2.md > 错误修复> TiFlash - 修复在含空分区的分区表上执行查询时,可能会超时的问题 [#9024](https://github.com/pingcap/tiflash/issues/9024) @[JinheLin](https://github.com/JinheLin) - (dup): release-7.5.2.md > 错误修复> TiFlash - 修复在存算分离架构下,DDL 新增带有 not null 属性的列后,查询可能返回错误的 null 值的问题 [#9084](https://github.com/pingcap/tiflash/issues/9084) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) - (dup): release-6.5.10.md > 错误修复> TiFlash - 修复函数 `SUBSTRING_INDEX()` 可能导致 TiFlash Crash 的问题 [#9116](https://github.com/pingcap/tiflash/issues/9116) @[wshwsh12](https://github.com/wshwsh12) @@ -397,8 +356,6 @@ TiDB 版本:8.2.0 + Backup & Restore (BR) - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) - (dup): release-7.5.2.md > 错误修复> Tools> Backup & Restore (BR) - 修复由于 `EndKey` 为空导致恢复事务 KV 集群失败的问题 [#52574](https://github.com/pingcap/tidb/issues/52574) @[3pointer](https://github.com/3pointer) - (dup): release-6.5.10.md > 错误修复> Tools> Backup & Restore (BR) - 修复 PD 连接失败导致日志备份 advancer owner 所在的 TiDB 可能崩溃的问题 [#52597](https://github.com/pingcap/tidb/issues/52597) @[YuJuncen](https://github.com/YuJuncen) - (dup): release-6.5.10.md > 错误修复> Tools> Backup & Restore (BR) - 修复日志备份在 advancer owner 发生迁移后可能被暂停的问题 [#53561](https://github.com/pingcap/tidb/issues/53561) @[RidRisR](https://github.com/RidRisR) @@ -413,12 +370,9 @@ TiDB 版本:8.2.0 - 修复 Grafana 监控中的 **Kafka Outgoing Bytes** 面板显示不准确的问题 [#10777](https://github.com/pingcap/tiflow/issues/10777) @[asddongmen](https://github.com/asddongmen) - 修复在多节点环境下进行大量 Update 操作时,反复重启 Changefeed 可能导致的数据不一致问题。 [#11219](https://github.com/pingcap/tiflow/issues/11219) @[lidezhu](https://github.com/lidezhu) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiDB Data Migration (DM) - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) - (dup): release-7.5.2.md > 错误修复> Tools> TiDB Data Migration (DM) - 升级 `go-mysql` 以修复连接阻塞的问题 [#11041](https://github.com/pingcap/tiflow/issues/11041) @[D3Hunter](https://github.com/D3Hunter) - 修复了在同步 MariaDB 数据时,`SET`语句导致的 panic 问题 [#10207](https://github.com/pingcap/tiflow/issues/10207) @[dveeden](https://github.com/dveeden) @@ -427,7 +381,6 @@ TiDB 版本:8.2.0 - 修复了 lightning 导入 zstd 压缩文件时遇到的并发问题 [#53587](https://github.com/pingcap/tidb/issues/53587) @[lance6716](https://github.com/lance6716) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + Dumpling @@ -435,11 +388,6 @@ TiDB 版本:8.2.0 - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[贡献者 GitHub ID](https://github.com/${github-id}) - (dup): release-6.5.10.md > 错误修复> Tools> Dumpling - 修复 Dumpling 在同时导出表和视图时报错的问题 [#53682](https://github.com/pingcap/tidb/issues/53682) @[tangenta](https://github.com/tangenta) - + TiUP - - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) - + TiDB Binlog - note [#issue](https://github.com/pingcap/tidb-binlog/issues/${issue-id}) @[贡献者 GitHub ID](https://github.com/${github-id}) From 7caf3130a43373eda2b28fe33e522c47269e7416 Mon Sep 17 00:00:00 2001 From: Rossi Sun Date: Thu, 27 Jun 2024 18:06:42 +0800 Subject: [PATCH 089/140] Update releases/release-8.2.0.md --- releases/release-8.2.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index cf8d1b9ef3a1..958d7b43ab2a 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -232,6 +232,7 @@ TiDB 版本:8.2.0 - 修复 `trace` 命令在 `copr.buildCopTasks` 中丢失的问题 [#53085](https://github.com/pingcap/tidb/issues/53085) @[time-and-fate](https://github.com/time-and-fate) - 将 `token-limit` 的最大值设置为 1048576, 避免设置过大导致 TiDB-Server OOM [#53312](https://github.com/pingcap/tidb/issues/53312) @[djshow832](https://github.com/djshow832) - 将 tls 配置项 `InsecureSkipVerify` 设置为 false,打开后客户端将要求服务器证书中的 CN 与客户端期望的主机名匹配 [#53358](https://github.com/pingcap/tidb/pull/53358) @[lance6716](https://github.com/lance6716) + - 改进了对于 MPP 执行计划的列裁剪功能,以提升 TiFlash MPP 的执行性能 [#52133](https://github.com/pingcap/tidb/issues/52133) @[yibin87](https://github.com/yibin87) - + TiKV From c504ecb7cc2ede7b395bcfe2f8e094a7854adaed Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Fri, 28 Jun 2024 11:45:34 +0800 Subject: [PATCH 090/140] add transaction improvements and bug fixes Co-authored-by: crazycs Co-authored-by: MyonKeminta <9948422+MyonKeminta@users.noreply.github.com> --- releases/release-8.2.0.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 958d7b43ab2a..391469e8d144 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -233,7 +233,8 @@ TiDB 版本:8.2.0 - 将 `token-limit` 的最大值设置为 1048576, 避免设置过大导致 TiDB-Server OOM [#53312](https://github.com/pingcap/tidb/issues/53312) @[djshow832](https://github.com/djshow832) - 将 tls 配置项 `InsecureSkipVerify` 设置为 false,打开后客户端将要求服务器证书中的 CN 与客户端期望的主机名匹配 [#53358](https://github.com/pingcap/tidb/pull/53358) @[lance6716](https://github.com/lance6716) - 改进了对于 MPP 执行计划的列裁剪功能,以提升 TiFlash MPP 的执行性能 [#52133](https://github.com/pingcap/tidb/issues/52133) @[yibin87](https://github.com/yibin87) - - + - 优化 `IndexLookUp` 算子在回表数据量较多(大于 1024 行)时的性能开销 [#53871](https://github.com/pingcap/tidb/issues/53871) @[crazycs520](https://github.com/crazycs520) + + TiKV - 支持 json_merge_patch 函数下推到 TiKV [#16770](https://github.com/tikv/tikv/issues/16770) @[dbsid](https://github.com/dbsid) @@ -336,6 +337,7 @@ TiDB 版本:8.2.0 - 修复 gRPC source duration 在监控中显示错误的问题 [#17133](https://github.com/tikv/tikv/issues/17133) @[King-Dylan](https://github.com/King-Dylan) - 修复 gRPC 设置压缩方式对 TiKV 发送到 TiDB 的消息不起作用的问题 [#17176](https://github.com/tikv/tikv/issues/17176) @[ekexium](https://github.com/ekexium) - (dup): release-7.5.2.md > 错误修复> TiKV - 修复 tikv-ctl 的 `raft region` 命令的输出中未包含 Region 状态信息的问题 [#17037](https://github.com/tikv/tikv/issues/17037) @[glorv](https://github.com/glorv) + - 修复 CDC 和 log-backup 没有用 `advance-ts-interval` 配置限制 `check_leader` 的 timeout 的问题,这在一些情况下可能导致 TiKV 正常重启时 resolved ts lag 过大 [#17107](https://github.com/tikv/tikv/issues/17107) @[MyonKeminta](https://github.com/MyonKeminta) + PD From e31fa59b555245b046d87040d0cd6491114aaf93 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Fri, 28 Jun 2024 11:50:22 +0800 Subject: [PATCH 091/140] Update releases/release-8.2.0.md Co-authored-by: crazycs --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 391469e8d144..f18d77041cc0 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -196,7 +196,7 @@ TiDB 版本:8.2.0 * 以下为从 v8.2.0 开始已废弃的功能: - * 从 v8.2.0 开始,TiDB 的配置项 `enable-replica-selector-v2` 被废弃。TiKV 发送 RPC 请求时,默认使用新版本的 Region 副本选择器。 + * 从 v8.2.0 开始,TiDB 的配置项 `enable-replica-selector-v2` 被废弃。向 TiKV 发送 RPC 请求时,默认使用新版本的 Region 副本选择器。 * 从 v8.2.0 开始,BR 快照恢复参数 `--concurrency` 被废弃。作为替代,你可以通过 [`--tikv-max-restore-concurrency`](/use-br-command-line-tool#常用选项) 配置快照恢复阶段单个 TiKV 节点的任务最大并发数。 **tw@qiancai** * 从 v8.2.0 开始,BR 快照恢复参数 `--granularity` 被废弃,[粗粒度打散 Region 算法](/br/br-snapshot-guide.md#恢复快照备份数据)默认启用。**tw@qiancai** From 6c9876cc590d46e002e9bf1e2bf8c95ef8de54f8 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Fri, 28 Jun 2024 12:50:16 +0800 Subject: [PATCH 092/140] adjust improvements and bug fixes --- releases/release-8.2.0.md | 59 +++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 34 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index f18d77041cc0..07bf57684437 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -75,7 +75,7 @@ TiDB 版本:8.2.0 SaaS 或 PaaS 类业务应用中可能存在大量的数据表,这些表不但会拖慢初始统计信息的加载速度,也会增加高负载情况下同步负载的失败率。TiDB 的启动时间以及执行计划的准确性都会受到影响。在 v8.2.0 中,TiDB 从并发模型、内存分配方式等多个角度优化了统计信息的加载过程,降低延迟,提升吞吐,避免由于统计信息加载速度过慢,影响业务扩容。 - 新增支持自适应的并行加载。默认情况下,配置项 [`stats-load-concurrency`](/tidb-configuration-file.md#stats-load-concurrency-从-v540-版本开始引入) 的值为 `0`,统计信息加载的并行度会根据硬件规格自动选择。 + 新增支持自适应的并行加载。默认情况下,配置项 [`stats-load-concurrency`](/tidb-configuration-file.md#stats-load-concurrency-从-v540-版本开始引入) 的值为 `0`,统计信息加载的并行度会根据硬件规格自动选择。 更多信息,请参考[用户文档](/tidb-configuration-file.md#stats-load-concurrency-从-v540-版本开始引入)。 @@ -154,15 +154,14 @@ TiDB 版本:8.2.0 ### 行为变更 * 使用 TiDB Lightning 导入 CSV 文件时,如果设置了严格格式 `strict-format = true` 将一个大 CSV 文件切分为多个小 CSV 文件来提升并发和导入性能,需要显式指定行结束符 `terminator`,参数的取值为 `\r`、`\n` 或 `\r\n`。如果没有指定行结束符,可能导致 CSV 文件数据解析异常。[#37338](https://github.com/pingcap/tidb/issues/37338) @[lance6716](https://github.com/lance6716) + * 使用 `IMPORT INTO` 导入 CSV 文件时,如果指定 `SPLIT_FILE` 参数将一个大 CSV 文件切分为多个小 CSV 文件来提升并发和导入性能,需显式指定行结束符 `LINES_TERMINATED_BY`,参数的取值为 `\r`、`\n` 或 `\r\n`。如果没有指定行结束符,可能导致 CSV 文件数据解析异常。[#37338](https://github.com/pingcap/tidb/issues/37338) @[lance6716](https://github.com/lance6716) -* 在 BR v8.2.0 之前的版本中,当集群存在 TiCDC 同步任务时,BR 不支持进行[数据恢复](/br/backup-and-restore-overview.md)。从 BR 8.2.0 起,BR 数据恢复对 TiCDC 的限制被放宽:如果所恢复数据的 BackupTS(即备份时间)早于 Changefeed 的 [CheckpointTS](/ticdc/ticdc-architecture.md#checkpointts)(即记录当前同步进度的时间戳),BR 数据恢复可以正常进行。考虑到 BackupTS 的时间通常较早,此时可以认为绝大部分场景下,当集群存在 TiCDC 同步任务时,BR 都可以进行数据恢复。 **tw@qiancai** -* 行为变更 2 +* 在 BR v8.2.0 之前的版本中,当集群存在 TiCDC 同步任务时,BR 不支持进行[数据恢复](/br/backup-and-restore-overview.md)。从 BR 8.2.0 起,BR 数据恢复对 TiCDC 的限制被放宽:如果所恢复数据的 BackupTS(即备份时间)早于 Changefeed 的 [CheckpointTS](/ticdc/ticdc-architecture.md#checkpointts)(即记录当前同步进度的时间戳),BR 数据恢复可以正常进行。考虑到 BackupTS 的时间通常较早,此时可以认为绝大部分场景下,当集群存在 TiCDC 同步任务时,BR 都可以进行数据恢复。 **tw@qiancai** ### MySQL 兼容性 * 兼容性 1 - * 兼容性 2 ### 系统变量 @@ -213,7 +212,7 @@ TiDB 版本:8.2.0 ## 改进提升 -+ TiDB ++ TiDB - 改进形如 `((a = 1 and b = 2 and c > 3) or (a = 4 and b = 5 and c > 6)) and d > 3` 的表达式匹配多列索引的逻辑,使其能生成更加精准的 `Range`。 [#41598](https://github.com/pingcap/tidb/issues/41598) @[ghazalfamilyusa](https://github.com/ghazalfamilyusa) - 支持在 DML 语句的 SELECT 子句中使用查询范围生效的 Optimizer Hints。 [#53834](https://github.com/pingcap/tidb/issues/53834) @[qw4990](https://github.com/qw4990) @@ -221,21 +220,16 @@ TiDB 版本:8.2.0 - 当 SQL 满足特定条件时,支持在内表包含 Aggregation 时使用 Index Join。 [#37068](https://github.com/pingcap/tidb/issues/37068) @[elsa0520](https://github.com/elsa0520) - 优化对大数据量的表进行简单查询时获取数据分布信息的性能 [#53850](https://github.com/pingcap/tidb/issues/53850) @[you06](https://github.com/you06) **tw@Oreoxmt** - 聚合的结果集能够作为 IndexJoin 的内表,使更多的复杂查询可以匹配到 IndexJoin,从而可以通过索引提升查询效率 [#37068](https://github.com/pingcap/tidb/issues/37068) @[elsa0520](https://github.com/elsa0520) **tw@hfxsd** - - (dup): release-6.5.10.md > 改进提升> TiDB - 在 MPP 负载均衡时移除不包含任何 Region 的 Store [#52313](https://github.com/pingcap/tidb/issues/52313) @[xzhangxian1008](https://github.com/xzhangxian1008) - 通过批量删除 TiFlash placement rule 的方式,提升 truncate、 drop 分区表后数据 GC 的处理速度 [#54068](https://github.com/pingcap/tidb/issues/54068) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) - 增加了创建用户时对选项 `PASSWORD REQUIRE CURRENT DEFAULT` 的支持 [#53305](https://github.com/pingcap/tidb/issues/53305) @[https://github.com/dveeden](dveeden) - 升级第三方库 Azure 的版本,增强了安全性 [#53990](https://github.com/pingcap/tidb/issues/53990) @[hawkingrei](https://github.com/hawkingrei) - - 修复 `ALTER DATABASE ... SET TIFLASH REPLICA` 语句会给 `SEQUENCE` 表添加 TiFlash 副本的问题 [#51990](https://github.com/pingcap/tidb/issues/51990) @[jiyfhust](https://github.com/jiyfhust) - - 修复 `information_schema.key_column_usage` 表中 `referenced_table_schema` 字段显示错误的问题 [#52350](https://github.com/pingcap/tidb/issues/52350) @[wd0517](https://github.com/wd0517) - - 修复 `AUTO_ID_CACHE` = 1 时,单条语句插入多行会产生空洞的问题 [#52465](https://github.com/pingcap/tidb/issues/52465) @[tiancaiamao](https://github.com/tiancaiamao) - - 修复弃用警告的格式 [#52515](https://github.com/pingcap/tidb/issues/52515) @[dveeden](https://github.com/dveeden) - - 修复 `trace` 命令在 `copr.buildCopTasks` 中丢失的问题 [#53085](https://github.com/pingcap/tidb/issues/53085) @[time-and-fate](https://github.com/time-and-fate) - 将 `token-limit` 的最大值设置为 1048576, 避免设置过大导致 TiDB-Server OOM [#53312](https://github.com/pingcap/tidb/issues/53312) @[djshow832](https://github.com/djshow832) - 将 tls 配置项 `InsecureSkipVerify` 设置为 false,打开后客户端将要求服务器证书中的 CN 与客户端期望的主机名匹配 [#53358](https://github.com/pingcap/tidb/pull/53358) @[lance6716](https://github.com/lance6716) - 改进了对于 MPP 执行计划的列裁剪功能,以提升 TiFlash MPP 的执行性能 [#52133](https://github.com/pingcap/tidb/issues/52133) @[yibin87](https://github.com/yibin87) - 优化 `IndexLookUp` 算子在回表数据量较多(大于 1024 行)时的性能开销 [#53871](https://github.com/pingcap/tidb/issues/53871) @[crazycs520](https://github.com/crazycs520) + - (dup): release-6.5.10.md > 改进提升> TiDB - 在 MPP 负载均衡时移除不包含任何 Region 的 Store [#52313](https://github.com/pingcap/tidb/issues/52313) @[xzhangxian1008](https://github.com/xzhangxian1008) -+ TiKV ++ TiKV - 支持 json_merge_patch 函数下推到 TiKV [#16770](https://github.com/tikv/tikv/issues/16770) @[dbsid](https://github.com/dbsid) - 添加单个 compaction job 涉及的 SST 文件数的 metric [#16837](https://github.com/tikv/tikv/issues/16837) @[zhangjinpeng87](https://github.com/zhangjinpeng87) @@ -247,12 +241,12 @@ TiDB 版本:8.2.0 - 利用单独的线程来进行副本清理工作,保证 raft 读写关键路径的延迟稳定 [#16001](https://github.com/tikv/tikv/issues/16001) @[hbisheng](https://github.com/hbisheng) - 提升正在进行 apply 的副本数的可观测性 [#17078](https://github.com/tikv/tikv/issues/17078) @[hbisheng](https://github.com/hbisheng) -+ PD ++ PD - 优化提升 Region 心跳处理的性能 [#7897](https://github.com/tikv/pd/issues/7897) @[nolouch](https://github.com/nolouch) @[rleungx](https://github.com/rleungx) @[JmPotato](https://github.com/JmPotato) - pd-ctl 支持使用 byte 或 query 维度来进行热点 Region 查询 [#7369](https://github.com/tikv/pd/issues/7369) @[lhy1024](https://github.com/lhy1024) -+ TiFlash ++ TiFlash - 减少数据高并发读取下的锁冲突,优化短查询性能 [#9125](https://github.com/pingcap/tiflash/issues/9125) @[JinheLin](https://github.com/JinheLin) - 升级默认编译工具链到 llvm 17 [#7193](https://github.com/pingcap/tiflash/issues/7193) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) @@ -260,10 +254,9 @@ TiDB 版本:8.2.0 - 将 `HashAgg` 算子中转换两级哈希表的过程并行化 [#8956](https://github.com/pingcap/tiflash/issues/8956) @[gengliqi](https://github.com/gengliqi) - 为 `HashAgg` 算子移除冗余的聚合函数以减少计算开销 [#8891](https://github.com/pingcap/tiflash/issues/8891) @[guo-shaoge](https://github.com/guo-shaoge) - + Tools - + Backup & Restore (BR) + + Backup & Restore (BR) - 优化备份功能,提升在大量表备份过程中遇到节点重启、扩容或网络抖动时的备份性能和稳定性 [#52534](https://github.com/pingcap/tidb/issues/52534) @[3pointer](https://github.com/3pointer) **tw@qiancai** - 优化恢复过程中对 TiCDC Changefeed 的细粒度检查,如果 Changefeed 的 [CheckpointTS](/ticdc/ticdc-architecture.md#checkpointts) 晚于数据的备份时间,则不会影响恢复操作,从而减少不必要的等待时间,提升用户体验 [#53131](https://github.com/pingcap/tidb/issues/53131) @[YuJuncen](https://github.com/YuJuncen) **tw@qiancai** @@ -279,7 +272,7 @@ TiDB 版本:8.2.0 ## 错误修复 -+ TiDB ++ TiDB - 修复 SQL 中包含 outer join,且 join 条件包含形如 `false IN (column_name)` 的表达式时,查询结果缺少部分数据的问题。 [#49476](https://github.com/pingcap/tidb/issues/49476) @[ghazalfamilyusa](https://github.com/ghazalfamilyusa) - 在统计表的 `PREDICATE COLUMNS` 使用情况时,不再收集系统表的信息。 [#53403](https://github.com/pingcap/tidb/issues/53403) @[hi-rustin](https://github.com/hi-rustin) @@ -308,7 +301,7 @@ TiDB 版本:8.2.0 - (dup): release-6.5.10.md > 错误修复> TiDB - 修复并发执行 `CREATE OR REPLACE VIEW` 可能报错 `table doesn't exist` 的问题 [#53673](https://github.com/pingcap/tidb/issues/53673) @[tangenta](https://github.com/tangenta) - (dup): release-6.5.10.md > 错误修复> TiDB - 修复 `INFORMATION_SCHEMA.TIDB_TRX` 表中 `STATE` 字段的 `size` 未定义导致 `STATE` 显示为空的问题 [#53026](https://github.com/pingcap/tidb/issues/53026) @[cfzjywxk](https://github.com/cfzjywxk) - (dup): release-6.5.10.md > 错误修复> TiDB - 修复关闭 `tidb_enable_async_merge_global_stats` 时,GlobalStats 中的 `Distinct_count` 信息可能错误的问题 [#53752](https://github.com/pingcap/tidb/issues/53752) @[hawkingrei](https://github.com/hawkingrei) - - (dup): release-6.5.10.md > 错误修复> TiDB - 修复使用 Optimizer Hints 时,可能输出错误的 WARNINGS 信息的问题 [#53767](https://github.com/pingcap/tidb/issues/53767) @[hawkingrei](https://github.com/hawkingrei) + - (dup): release-6.5.10.md > 错误修复> TiDB - 修复使用 Optimizer Hints 时,可能输出错误的 WARNINGS 信息的问题 [#53767](https://github.com/pingcap/tidb/issues/53767) @[hawkingrei](https://github.com/hawkingrei) - 修复对时间类型取负操作结果不正确的问题 [#52262](https://github.com/pingcap/tidb/issues/52262) @[solotzg](https://github.com/solotzg) - Regexp 系列函数对于空的模式参数显式报错 [#53221](https://github.com/pingcap/tidb/issues/53221) @[yibin87](https://github.com/yibin87) - 修复某些情况下把 JSON 转换成时间格式会丢失精度的问题 [#53352](https://github.com/pingcap/tidb/issues/53352) @[YangKeao](https://github.com/YangKeao) @@ -320,12 +313,15 @@ TiDB 版本:8.2.0 - 修复了 `infomation_schema.tables` 中 `TIDB_ROW_ID_SHARDING_INFO` 输出错误的问题 [#52330](https://github.com/pingcap/tidb/issues/52330) @[tangenta](https://github.com/tangenta) - 修复了生成列输出非法时间戳的问题 [#52509](https://github.com/pingcap/tidb/issues/52509) @[lcwangchao](https://github.com/lcwangchao) - 修复了分布式加索引时设置 `max-index-length` 时 TiDB panic 问题 [#53281](https://github.com/pingcap/tidb/issues/53281) @[zimulala](https://github.com/zimulala) - - 修复了意外创建非法的 `Decimal(0,0)` 列类型的问题 - [#53779](https://github.com/pingcap/tidb/issues/53779) @[tangenta](https://github.com/tangenta) - - 修复了使用 `current_date` 作为列默认值时,查询结果错误的问题 - [#53746](https://github.com/pingcap/tidb/issues/53746) @[tangenta](https://github.com/tangenta) + - 修复了意外创建非法的 `Decimal(0,0)` 列类型的问题 [#53779](https://github.com/pingcap/tidb/issues/53779) @[tangenta](https://github.com/tangenta) + - 修复了使用 `current_date` 作为列默认值时,查询结果错误的问题 [#53746](https://github.com/pingcap/tidb/issues/53746) @[tangenta](https://github.com/tangenta) + - 修复 `ALTER DATABASE ... SET TIFLASH REPLICA` 语句会给 `SEQUENCE` 表添加 TiFlash 副本的问题 [#51990](https://github.com/pingcap/tidb/issues/51990) @[jiyfhust](https://github.com/jiyfhust) + - 修复 `information_schema.key_column_usage` 表中 `referenced_table_schema` 字段显示错误的问题 [#52350](https://github.com/pingcap/tidb/issues/52350) @[wd0517](https://github.com/wd0517) + - 修复 `AUTO_ID_CACHE` = 1 时,单条语句插入多行会产生空洞的问题 [#52465](https://github.com/pingcap/tidb/issues/52465) @[tiancaiamao](https://github.com/tiancaiamao) + - 修复弃用警告的格式 [#52515](https://github.com/pingcap/tidb/issues/52515) @[dveeden](https://github.com/dveeden) + - 修复 `trace` 命令在 `copr.buildCopTasks` 中丢失的问题 [#53085](https://github.com/pingcap/tidb/issues/53085) @[time-and-fate](https://github.com/time-and-fate) -+ TiKV ++ TiKV - 修复不稳定测试用例 test_raw_put_key_guard [#16825](https://github.com/tikv/tikv/issues/16825) @[pingyu](https://github.com/pingyu) - 修复不稳定测试用例 test_rawkv::test_leader_transfer [#16789](https://github.com/tikv/tikv/issues/16789) @[pingyu](https://github.com/pingyu) @@ -337,8 +333,7 @@ TiDB 版本:8.2.0 - 修复 gRPC source duration 在监控中显示错误的问题 [#17133](https://github.com/tikv/tikv/issues/17133) @[King-Dylan](https://github.com/King-Dylan) - 修复 gRPC 设置压缩方式对 TiKV 发送到 TiDB 的消息不起作用的问题 [#17176](https://github.com/tikv/tikv/issues/17176) @[ekexium](https://github.com/ekexium) - (dup): release-7.5.2.md > 错误修复> TiKV - 修复 tikv-ctl 的 `raft region` 命令的输出中未包含 Region 状态信息的问题 [#17037](https://github.com/tikv/tikv/issues/17037) @[glorv](https://github.com/glorv) - - 修复 CDC 和 log-backup 没有用 `advance-ts-interval` 配置限制 `check_leader` 的 timeout 的问题,这在一些情况下可能导致 TiKV 正常重启时 resolved ts lag 过大 [#17107](https://github.com/tikv/tikv/issues/17107) @[MyonKeminta](https://github.com/MyonKeminta) - + - 修复 CDC 和 log-backup 没有用 `advance-ts-interval` 配置限制 `check_leader` 的 timeout 的问题,这在一些情况下可能导致 TiKV 正常重启时 resolved ts lag 过大 [#17107](https://github.com/tikv/tikv/issues/17107) @[MyonKeminta](https://github.com/MyonKeminta) + PD @@ -348,7 +343,7 @@ TiDB 版本:8.2.0 - (dup): release-7.5.2.md > 错误修复> PD - 修复取消资源组查询导致大量重试的问题 [#8217](https://github.com/tikv/pd/issues/8217) @[nolouch](https://github.com/nolouch) - (dup): release-7.5.2.md > 错误修复> PD - 修复手动切换 PD leader 可能失败的问题 [#8225](https://github.com/tikv/pd/issues/8225) @[HuSharp](https://github.com/HuSharp) -+ TiFlash ++ TiFlash - (dup): release-7.5.2.md > 错误修复> TiFlash - 修复在含空分区的分区表上执行查询时,可能会超时的问题 [#9024](https://github.com/pingcap/tiflash/issues/9024) @[JinheLin](https://github.com/JinheLin) - (dup): release-7.5.2.md > 错误修复> TiFlash - 修复在存算分离架构下,DDL 新增带有 not null 属性的列后,查询可能返回错误的 null 值的问题 [#9084](https://github.com/pingcap/tiflash/issues/9084) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) @@ -357,7 +352,7 @@ TiDB 版本:8.2.0 + Tools - + Backup & Restore (BR) + + Backup & Restore (BR) - (dup): release-7.5.2.md > 错误修复> Tools> Backup & Restore (BR) - 修复由于 `EndKey` 为空导致恢复事务 KV 集群失败的问题 [#52574](https://github.com/pingcap/tidb/issues/52574) @[3pointer](https://github.com/3pointer) - (dup): release-6.5.10.md > 错误修复> Tools> Backup & Restore (BR) - 修复 PD 连接失败导致日志备份 advancer owner 所在的 TiDB 可能崩溃的问题 [#52597](https://github.com/pingcap/tidb/issues/52597) @[YuJuncen](https://github.com/YuJuncen) @@ -369,32 +364,28 @@ TiDB 版本:8.2.0 - 提升 incremental backup 中扫描 ddl 作业的效率 [#54139](https://github.com/pingcap/tidb/issues/54139) @[3pointer](https://github.com/3pointer) - 修复断点备份查找 region leader 中断导致的性能问题 [#17168](https://github.com/tikv/tikv/issues/17168) @[Leavrth](https://github.com/Leavrth) - + TiCDC + + TiCDC - 修复 Grafana 监控中的 **Kafka Outgoing Bytes** 面板显示不准确的问题 [#10777](https://github.com/pingcap/tiflow/issues/10777) @[asddongmen](https://github.com/asddongmen) - 修复在多节点环境下进行大量 Update 操作时,反复重启 Changefeed 可能导致的数据不一致问题。 [#11219](https://github.com/pingcap/tiflow/issues/11219) @[lidezhu](https://github.com/lidezhu) - + TiDB Data Migration (DM) + + TiDB Data Migration (DM) - (dup): release-7.5.2.md > 错误修复> Tools> TiDB Data Migration (DM) - 升级 `go-mysql` 以修复连接阻塞的问题 [#11041](https://github.com/pingcap/tiflow/issues/11041) @[D3Hunter](https://github.com/D3Hunter) - 修复了在同步 MariaDB 数据时,`SET`语句导致的 panic 问题 [#10207](https://github.com/pingcap/tiflow/issues/10207) @[dveeden](https://github.com/dveeden) - + TiDB Lightning + + TiDB Lightning - 修复了 lightning 导入 zstd 压缩文件时遇到的并发问题 [#53587](https://github.com/pingcap/tidb/issues/53587) @[lance6716](https://github.com/lance6716) + Dumpling - - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[贡献者 GitHub ID](https://github.com/${github-id}) - - note [#issue](https://github.com/pingcap/tidb/issues/${issue-id}) @[贡献者 GitHub ID](https://github.com/${github-id}) - (dup): release-6.5.10.md > 错误修复> Tools> Dumpling - 修复 Dumpling 在同时导出表和视图时报错的问题 [#53682](https://github.com/pingcap/tidb/issues/53682) @[tangenta](https://github.com/tangenta) + TiDB Binlog - - note [#issue](https://github.com/pingcap/tidb-binlog/issues/${issue-id}) @[贡献者 GitHub ID](https://github.com/${github-id}) - - note [#issue](https://github.com/pingcap/tidb-binlog/issues/${issue-id}) @[贡献者 GitHub ID](https://github.com/${github-id}) - (dup): release-6.5.10.md > 错误修复> Tools> TiDB Binlog - 修复开启 TiDB Binlog 后,在 `ADD COLUMN` 执行过程中删除行可能报错 `data and columnID count not match` 的问题 [#53133](https://github.com/pingcap/tidb/issues/53133) @[tangenta](https://github.com/tangenta) ## 贡献者 From e755787d8f49d8ab57996e2cfeb5609cceb661a4 Mon Sep 17 00:00:00 2001 From: Yuanjia Zhang Date: Mon, 1 Jul 2024 09:56:47 +0800 Subject: [PATCH 093/140] Update releases/release-8.2.0.md Co-authored-by: xixirangrang --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 07bf57684437..f955901ca97e 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -125,7 +125,7 @@ TiDB 版本:8.2.0 * 记录执行计划没有被缓存的原因 [#50618](https://github.com/pingcap/tidb/issues/50618) @[qw4990](https://github.com/qw4990) **tw@hfxsd** - 在一些场景下,用户希望多数执行计划能够被缓存,以节省执行开销,并降低延迟。目前执行计划缓存对 SQL 有一定限制,部分形态 SQL 的执行计划无法被缓存,但是用户很难识别出无法被缓存的 SQL 以及对应的原因。因此,从 v8.2.0 开始,为系统表 [`STATEMENTS_SUMMARY`](/statement-summary-tables.md) 增加了新的列,来解释计划无法被缓存的原因,协助用户做性能调优。 + 在一些场景下,用户希望多数执行计划能够被缓存,以节省执行开销,并降低延迟。目前执行计划缓存对 SQL 有一定限制,部分形态 SQL 的执行计划无法被缓存,但是用户很难识别出无法被缓存的 SQL 以及对应的原因。因此,从 v8.2.0 开始,为系统表 [`STATEMENTS_SUMMARY`](/statement-summary-tables.md) 增加了新的列 `PLAN_CACHE_UNQUALIFIED` 和 `PLAN_CACHE_UNQUALIFIED_LAST_REASON`,来解释计划无法被缓存的原因,协助用户做性能调优。 更多信息,请参考[用户文档](/statement-summary-tables.md#表的字段介绍)。 From 89985ec8dac3e8cf21b82c121c4da651e4f0ca41 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 1 Jul 2024 11:21:53 +0800 Subject: [PATCH 094/140] remove two unnecessary notes about test cases --- releases/release-8.2.0.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index f955901ca97e..35d31a8270d7 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -321,10 +321,8 @@ TiDB 版本:8.2.0 - 修复弃用警告的格式 [#52515](https://github.com/pingcap/tidb/issues/52515) @[dveeden](https://github.com/dveeden) - 修复 `trace` 命令在 `copr.buildCopTasks` 中丢失的问题 [#53085](https://github.com/pingcap/tidb/issues/53085) @[time-and-fate](https://github.com/time-and-fate) -+ TiKV ++ TiKV - - 修复不稳定测试用例 test_raw_put_key_guard [#16825](https://github.com/tikv/tikv/issues/16825) @[pingyu](https://github.com/pingyu) - - 修复不稳定测试用例 test_rawkv::test_leader_transfer [#16789](https://github.com/tikv/tikv/issues/16789) @[pingyu](https://github.com/pingyu) - 修复 json_array_append panic 问题 [#16930](https://github.com/tikv/tikv/issues/16930) @[dbsid](https://github.com/dbsid) - 修复 leader 不及时清理失败的 snapshot 文件的问题 [#16976](https://github.com/tikv/tikv/issues/16976) @[hbisheng](https://github.com/hbisheng) - 修复高并发 coprocessor 请求可能导致 TiKV OOM 的问题 [#16653](https://github.com/tikv/tikv/issues/16653) @[overvenus](https://github.com/overvenus) From 179a986159a033af69d85dd9bc513beb6f92ca29 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 1 Jul 2024 11:53:53 +0800 Subject: [PATCH 095/140] Update releases/release-8.2.0.md --- releases/release-8.2.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 35d31a8270d7..bdf644d1c5b2 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -228,6 +228,7 @@ TiDB 版本:8.2.0 - 改进了对于 MPP 执行计划的列裁剪功能,以提升 TiFlash MPP 的执行性能 [#52133](https://github.com/pingcap/tidb/issues/52133) @[yibin87](https://github.com/yibin87) - 优化 `IndexLookUp` 算子在回表数据量较多(大于 1024 行)时的性能开销 [#53871](https://github.com/pingcap/tidb/issues/53871) @[crazycs520](https://github.com/crazycs520) - (dup): release-6.5.10.md > 改进提升> TiDB - 在 MPP 负载均衡时移除不包含任何 Region 的 Store [#52313](https://github.com/pingcap/tidb/issues/52313) @[xzhangxian1008](https://github.com/xzhangxian1008) +* 支持并行执行[逻辑 DDL 语句 (General DDL) ](ddl-introduction#ddl-语句类型简介),在使用 10 个会话并发提交不同 DDL 语句的场景下,相比 v8.1.0 有 3~6 倍的性能提升[#53246](https://github.com/pingcap/tidb/issues/53246) @[D3Hunter](https://github.com/D3Hunter) + TiKV From f0a3b89a3c24ee82cd4cadd25dc97f6fe1ed4d8c Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 1 Jul 2024 11:55:46 +0800 Subject: [PATCH 096/140] move #53246 as the first note under TiDB improvements --- releases/release-8.2.0.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index bdf644d1c5b2..9d0a90ed58f9 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -213,7 +213,7 @@ TiDB 版本:8.2.0 ## 改进提升 + TiDB - + - 支持并行执行[逻辑 DDL 语句 (General DDL) ](ddl-introduction#ddl-语句类型简介),在使用 10 个会话并发提交不同 DDL 语句的场景下,相比 v8.1.0 有 3~6 倍的性能提升[#53246](https://github.com/pingcap/tidb/issues/53246) @[D3Hunter](https://github.com/D3Hunter) - 改进形如 `((a = 1 and b = 2 and c > 3) or (a = 4 and b = 5 and c > 6)) and d > 3` 的表达式匹配多列索引的逻辑,使其能生成更加精准的 `Range`。 [#41598](https://github.com/pingcap/tidb/issues/41598) @[ghazalfamilyusa](https://github.com/ghazalfamilyusa) - 支持在 DML 语句的 SELECT 子句中使用查询范围生效的 Optimizer Hints。 [#53834](https://github.com/pingcap/tidb/issues/53834) @[qw4990](https://github.com/qw4990) - 改进形如 `(a, b) > (1, 2)` 的表达式的处理机制,使其能够生成对应索引上的 `Range`。 [#41598](https://github.com/pingcap/tidb/issues/41598) @[elsa0520](https://github.com/elsa0520) @@ -228,7 +228,6 @@ TiDB 版本:8.2.0 - 改进了对于 MPP 执行计划的列裁剪功能,以提升 TiFlash MPP 的执行性能 [#52133](https://github.com/pingcap/tidb/issues/52133) @[yibin87](https://github.com/yibin87) - 优化 `IndexLookUp` 算子在回表数据量较多(大于 1024 行)时的性能开销 [#53871](https://github.com/pingcap/tidb/issues/53871) @[crazycs520](https://github.com/crazycs520) - (dup): release-6.5.10.md > 改进提升> TiDB - 在 MPP 负载均衡时移除不包含任何 Region 的 Store [#52313](https://github.com/pingcap/tidb/issues/52313) @[xzhangxian1008](https://github.com/xzhangxian1008) -* 支持并行执行[逻辑 DDL 语句 (General DDL) ](ddl-introduction#ddl-语句类型简介),在使用 10 个会话并发提交不同 DDL 语句的场景下,相比 v8.1.0 有 3~6 倍的性能提升[#53246](https://github.com/pingcap/tidb/issues/53246) @[D3Hunter](https://github.com/D3Hunter) + TiKV From d4a0caeac24284e7ecee5dbacccf09a26910152a Mon Sep 17 00:00:00 2001 From: Aolin Date: Mon, 1 Jul 2024 13:31:55 +0800 Subject: [PATCH 097/140] update tidb_enable_parallel_hashagg_spill --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 9d0a90ed58f9..858bb63345c8 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -168,7 +168,6 @@ TiDB 版本:8.2.0 | 变量名 | 修改类型(包括新增/修改/删除) | 描述 | |--------|------------------------------|------| -| [`tidb_enable_parallel_hashagg_spill`](/system-variables.md#tidb_enable_parallel_hashagg_spill-从-v800-版本开始引入) | 废弃 | **tw@Oreoxmt** | | [`tidb_analyze_distsql_scan_concurrency`](/system-variables.md#tidb_analyze_distsql_scan_concurrency-从-v760-版本开始引入) | 修改 | 最小值从 `1` 改为 `0`。当设置为 `0` 时,TiDB 会根据集群规模自适应调整并发度。**tw@hfxsd** | | [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) | 修改 | 从 v8.2.0 开始,默认设置下,TiDB 不会收集类型为 `mediumtext` 和 `longtext` 的列,避免潜在的 OOM 风险。**tw@hfxsd** | | [`tidb_enable_historical_stats`](/system-variables.md#tidb_enable_historical_stats) | 修改 | 默认值改为 `OFF`,即关闭历史统计信息,避免潜在的稳定性问题。 **tw@hfxsd** | @@ -202,6 +201,7 @@ TiDB 版本:8.2.0 * 以下为计划将在未来版本中废弃的功能: * TiDB 在 v8.0.0 引入了系统变量 [`tidb_enable_auto_analyze_priority_queue`](/system-variables.md#tidb_enable_auto_analyze_priority_queue-从-v800-版本开始引入),用于控制是否启用优先队列来优化自动收集统计信息任务的排序。在未来版本中,优先队列将成为自动收集统计信息任务的唯一排序方式,系统变量 [`tidb_enable_auto_analyze_priority_queue`](/system-variables.md#tidb_enable_auto_analyze_priority_queue-从-v800-版本开始引入) 将被废弃。 + * TiDB 在 v8.0.0 引入了系统变量 [`tidb_enable_parallel_hashagg_spill`](/system-variables.md#tidb_enable_parallel_hashagg_spill-从-v800-版本开始引入),用于控制 TiDB 是否支持并行 HashAgg 进行落盘。在未来版本中,系统变量 [`tidb_enable_parallel_hashagg_spill`](/system-variables.md#tidb_enable_parallel_hashagg_spill-从-v800-版本开始引入) 将被废弃。 * TiDB 在 v7.5.0 引入了系统变量 [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入),用于设置 TiDB 使用异步方式合并分区统计信息,以避免 OOM 问题。在未来版本中,分区统计信息将统一使用异步方式进行合并,系统变量 [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入) 将被废弃。 * 计划在后续版本重新设计[执行计划绑定的自动演进](/sql-plan-management.md#自动演进绑定-baseline-evolution),相关的变量和行为会发生变化。 * TiDB Lightning 参数 [`conflict.max-record-rows`](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-任务配置) 计划在未来版本中废弃,并在后续版本中删除。该参数将由 `conflict.threshold` 替代,即记录的冲突记录数和单个导入任务允许出现的冲突记录数的上限数保持一致。 From 6f6d1faf8f2c2931c56ff0b6cceb523f8aa7bae8 Mon Sep 17 00:00:00 2001 From: Aolin Date: Mon, 1 Jul 2024 15:02:50 +0800 Subject: [PATCH 098/140] update bug fixes > TiDB, DM, and Lightning --- releases/release-8.2.0.md | 40 +++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 858bb63345c8..fca37dfb1fbc 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -302,24 +302,24 @@ TiDB 版本:8.2.0 - (dup): release-6.5.10.md > 错误修复> TiDB - 修复 `INFORMATION_SCHEMA.TIDB_TRX` 表中 `STATE` 字段的 `size` 未定义导致 `STATE` 显示为空的问题 [#53026](https://github.com/pingcap/tidb/issues/53026) @[cfzjywxk](https://github.com/cfzjywxk) - (dup): release-6.5.10.md > 错误修复> TiDB - 修复关闭 `tidb_enable_async_merge_global_stats` 时,GlobalStats 中的 `Distinct_count` 信息可能错误的问题 [#53752](https://github.com/pingcap/tidb/issues/53752) @[hawkingrei](https://github.com/hawkingrei) - (dup): release-6.5.10.md > 错误修复> TiDB - 修复使用 Optimizer Hints 时,可能输出错误的 WARNINGS 信息的问题 [#53767](https://github.com/pingcap/tidb/issues/53767) @[hawkingrei](https://github.com/hawkingrei) - - 修复对时间类型取负操作结果不正确的问题 [#52262](https://github.com/pingcap/tidb/issues/52262) @[solotzg](https://github.com/solotzg) - - Regexp 系列函数对于空的模式参数显式报错 [#53221](https://github.com/pingcap/tidb/issues/53221) @[yibin87](https://github.com/yibin87) - - 修复某些情况下把 JSON 转换成时间格式会丢失精度的问题 [#53352](https://github.com/pingcap/tidb/issues/53352) @[YangKeao](https://github.com/YangKeao) - - 修复函数 `JSON_QUOTE` 在某些情况下返回的结果不正确的问题 [#37294](https://github.com/pingcap/tidb/issues/37294) @[https://github.com/dveeden](dveeden) - - 修复执行 ALTER TABLE REMOVE PARTITIONING 后有可能会丢失数据的问题 [#53385](https://github.com/pingcap/tidb/issues/53385) @[mjonss](https://github.com/mjonss) - - 修复了 `AUTH_SOCKET` 认证插件在某些情况下 [#54031](https://github.com/pingcap/tidb/issues/54031) @[lcwangchao](https://github.com/lcwangchao) - - 修复了 JSON 相关的函数在某些情况下报错信息与 MySQL 不同的问题 [#53799](https://github.com/pingcap/tidb/issues/53799) @[dveeden](https://github.com/dveeden) - - 修复了分区表在 `INFORMATION_SCHEMA.PARTITIONS` 中的 `INDEX_LENGTH` 列显示不正确的问题 [#54173](https://github.com/pingcap/tidb/issues/54173) @[Defined2014](https://github.com/Defined2014) - - 修复了 `infomation_schema.tables` 中 `TIDB_ROW_ID_SHARDING_INFO` 输出错误的问题 [#52330](https://github.com/pingcap/tidb/issues/52330) @[tangenta](https://github.com/tangenta) - - 修复了生成列输出非法时间戳的问题 [#52509](https://github.com/pingcap/tidb/issues/52509) @[lcwangchao](https://github.com/lcwangchao) - - 修复了分布式加索引时设置 `max-index-length` 时 TiDB panic 问题 [#53281](https://github.com/pingcap/tidb/issues/53281) @[zimulala](https://github.com/zimulala) - - 修复了意外创建非法的 `Decimal(0,0)` 列类型的问题 [#53779](https://github.com/pingcap/tidb/issues/53779) @[tangenta](https://github.com/tangenta) - - 修复了使用 `current_date` 作为列默认值时,查询结果错误的问题 [#53746](https://github.com/pingcap/tidb/issues/53746) @[tangenta](https://github.com/tangenta) - - 修复 `ALTER DATABASE ... SET TIFLASH REPLICA` 语句会给 `SEQUENCE` 表添加 TiFlash 副本的问题 [#51990](https://github.com/pingcap/tidb/issues/51990) @[jiyfhust](https://github.com/jiyfhust) - - 修复 `information_schema.key_column_usage` 表中 `referenced_table_schema` 字段显示错误的问题 [#52350](https://github.com/pingcap/tidb/issues/52350) @[wd0517](https://github.com/wd0517) - - 修复 `AUTO_ID_CACHE` = 1 时,单条语句插入多行会产生空洞的问题 [#52465](https://github.com/pingcap/tidb/issues/52465) @[tiancaiamao](https://github.com/tiancaiamao) + - 修复对时间类型执行取负操作结果不正确的问题 [#52262](https://github.com/pingcap/tidb/issues/52262) @[solotzg](https://github.com/solotzg) + - 修复 `REGEXP()` 函数对空模式参数未显式报错的问题 [#53221](https://github.com/pingcap/tidb/issues/53221) @[yibin87](https://github.com/yibin87) + - 修复将 JSON 转换为时间格式在某些情况下可能会丢失精度的问题 [#53352](https://github.com/pingcap/tidb/issues/53352) @[YangKeao](https://github.com/YangKeao) + - 修复 `JSON_QUOTE()` 函数在某些情况下返回结果不正确的问题 [#37294](https://github.com/pingcap/tidb/issues/37294) @[dveeden](https://github.com/dveeden) + - 修复执行 `ALTER TABLE ... REMOVE PARTITIONING` 后可能导致数据丢失的问题 [#53385](https://github.com/pingcap/tidb/issues/53385) @[mjonss](https://github.com/mjonss) + - 修复使用 `auth_socket` 认证插件时,TiDB 在某些情况下未能拒绝不符合身份认证的用户连接的问题 [#54031](https://github.com/pingcap/tidb/issues/54031) @[lcwangchao](https://github.com/lcwangchao) + - 修复 JSON 相关函数在某些情况下报错信息与 MySQL 不一致的问题 [#53799](https://github.com/pingcap/tidb/issues/53799) @[dveeden](https://github.com/dveeden) + - 修复分区表在 `INFORMATION_SCHEMA.PARTITIONS` 中的 `INDEX_LENGTH` 列显示不正确的问题 [#54173](https://github.com/pingcap/tidb/issues/54173) @[Defined2014](https://github.com/Defined2014) + - 修复 `INFOMATION_SCHEMA.TABLES` 中 `TIDB_ROW_ID_SHARDING_INFO` 列显示不正确的问题 [#52330](https://github.com/pingcap/tidb/issues/52330) @[tangenta](https://github.com/tangenta) + - 修复生成列返回非法时间戳的问题 [#52509](https://github.com/pingcap/tidb/issues/52509) @[lcwangchao](https://github.com/lcwangchao) + - 修复通过分布式执行框架添加索引时,设置 `max-index-length` 导致 TiDB panic 的问题 [#53281](https://github.com/pingcap/tidb/issues/53281) @[zimulala](https://github.com/zimulala) + - 修复某些情况下可以创建非法的 `DECIMAL(0,0)` 列类型的问题 [#53779](https://github.com/pingcap/tidb/issues/53779) @[tangenta](https://github.com/tangenta) + - 修复使用 `CURRENT_DATE()` 作为列默认值时查询结果错误的问题 [#53746](https://github.com/pingcap/tidb/issues/53746) @[tangenta](https://github.com/tangenta) + - 修复 `ALTER DATABASE ... SET TIFLASH REPLICA` 语句错误地给 `SEQUENCE` 表添加 TiFlash 副本的问题 [#51990](https://github.com/pingcap/tidb/issues/51990) @[jiyfhust](https://github.com/jiyfhust) + - 修复 `INFORMATION_SCHEMA.KEY_COLUMN_USAGE` 表中 `REFERENCED_TABLE_SCHEMA` 字段显示不正确的问题 [#52350](https://github.com/pingcap/tidb/issues/52350) @[wd0517](https://github.com/wd0517) + - 修复 `AUTO_ID_CACHE=1` 时,单条语句插入多行导致 `AUTO_INCREMENT` 列不连续的问题 [#52465](https://github.com/pingcap/tidb/issues/52465) @[tiancaiamao](https://github.com/tiancaiamao) - 修复弃用警告的格式 [#52515](https://github.com/pingcap/tidb/issues/52515) @[dveeden](https://github.com/dveeden) - - 修复 `trace` 命令在 `copr.buildCopTasks` 中丢失的问题 [#53085](https://github.com/pingcap/tidb/issues/53085) @[time-and-fate](https://github.com/time-and-fate) + - 修复 `TRACE` 命令在 `copr.buildCopTasks` 中丢失的问题 [#53085](https://github.com/pingcap/tidb/issues/53085) @[time-and-fate](https://github.com/time-and-fate) + TiKV @@ -370,13 +370,11 @@ TiDB 版本:8.2.0 + TiDB Data Migration (DM) - (dup): release-7.5.2.md > 错误修复> Tools> TiDB Data Migration (DM) - 升级 `go-mysql` 以修复连接阻塞的问题 [#11041](https://github.com/pingcap/tiflow/issues/11041) @[D3Hunter](https://github.com/D3Hunter) - - 修复了在同步 MariaDB 数据时,`SET`语句导致的 panic 问题 - [#10207](https://github.com/pingcap/tiflow/issues/10207) @[dveeden](https://github.com/dveeden) + - 修复同步 MariaDB 数据时 `SET` 语句导致 DM panic 的问题 [#10206](https://github.com/pingcap/tiflow/issues/10206) @[dveeden](https://github.com/dveeden) + TiDB Lightning - - 修复了 lightning 导入 zstd 压缩文件时遇到的并发问题 - [#53587](https://github.com/pingcap/tidb/issues/53587) @[lance6716](https://github.com/lance6716) + - 修复 TiDB Lightning 导入 zstd 压缩文件时可能报错的问题 [#53587](https://github.com/pingcap/tidb/issues/53587) @[lance6716](https://github.com/lance6716) + Dumpling From 5745aa373c1688f7f7e222729571528da7bb9e31 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 1 Jul 2024 16:12:02 +0800 Subject: [PATCH 099/140] Update releases/release-8.2.0.md --- releases/release-8.2.0.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index fca37dfb1fbc..9bbf9700811e 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -356,11 +356,11 @@ TiDB 版本:8.2.0 - (dup): release-6.5.10.md > 错误修复> Tools> Backup & Restore (BR) - 修复 PD 连接失败导致日志备份 advancer owner 所在的 TiDB 可能崩溃的问题 [#52597](https://github.com/pingcap/tidb/issues/52597) @[YuJuncen](https://github.com/YuJuncen) - (dup): release-6.5.10.md > 错误修复> Tools> Backup & Restore (BR) - 修复日志备份在 advancer owner 发生迁移后可能被暂停的问题 [#53561](https://github.com/pingcap/tidb/issues/53561) @[RidRisR](https://github.com/RidRisR) - (dup): release-6.5.10.md > 错误修复> Tools> Backup & Restore (BR) - 修复在恢复过程中,由于多层重试导致 BR 无法正确识别错误的问题 [#54053](https://github.com/pingcap/tidb/issues/54053) @[RidRisR](https://github.com/RidRisR) - - 确保获取 tikv 配置的连接一定会被关闭 [#52595](https://github.com/pingcap/tidb/issues/52595) @[RidRisR](https://github.com/RidRisR) - - 修复不稳定测试用例 `TestStoreRemoved` [#52791](https://github.com/pingcap/tidb/issues/52791) @[YuJuncen](https://github.com/YuJuncen) - - 在 pitr 恢复中, 检查目标集群是否存在 tiflash 副本, 如果有就直接失败恢复作业 [#52628](https://github.com/pingcap/tidb/issues/52628) @[RidRisR](https://github.com/RidRisR) - - 提升 incremental backup 中扫描 ddl 作业的效率 [#54139](https://github.com/pingcap/tidb/issues/54139) @[3pointer](https://github.com/3pointer) - - 修复断点备份查找 region leader 中断导致的性能问题 [#17168](https://github.com/tikv/tikv/issues/17168) @[Leavrth](https://github.com/Leavrth) + - 修复获取 TiKV 配置的连接可能未被关闭的问题 [#52595](https://github.com/pingcap/tidb/issues/52595) @[RidRisR](https://github.com/RidRisR) + - 修复测试用例 `TestStoreRemoved` 不稳定的问题 [#52791](https://github.com/pingcap/tidb/issues/52791) @[YuJuncen](https://github.com/YuJuncen) + - 修复 PITR 恢复过程中 TiFlash 崩溃的问题 [#52628](https://github.com/pingcap/tidb/issues/52628) @[RidRisR](https://github.com/RidRisR) + - 修复增量备份过程中 DDL 扫描作业的效率较低的问题 [#54139](https://github.com/pingcap/tidb/issues/54139) @[3pointer](https://github.com/3pointer) + - 修复断点备份过程中查找 Region leader 中断导致备份性能受影响问题 [#17168](https://github.com/tikv/tikv/issues/17168) @[Leavrth](https://github.com/Leavrth) + TiCDC From ea5f1be095e0f8c04aeae365c50ff176a1f06ec0 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 1 Jul 2024 16:14:43 +0800 Subject: [PATCH 100/140] refine descriptions for BR improvements and bug fixes --- releases/release-8.2.0.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 9bbf9700811e..ef76bbe9d938 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -261,10 +261,10 @@ TiDB 版本:8.2.0 - 优化备份功能,提升在大量表备份过程中遇到节点重启、扩容或网络抖动时的备份性能和稳定性 [#52534](https://github.com/pingcap/tidb/issues/52534) @[3pointer](https://github.com/3pointer) **tw@qiancai** - 优化恢复过程中对 TiCDC Changefeed 的细粒度检查,如果 Changefeed 的 [CheckpointTS](/ticdc/ticdc-architecture.md#checkpointts) 晚于数据的备份时间,则不会影响恢复操作,从而减少不必要的等待时间,提升用户体验 [#53131](https://github.com/pingcap/tidb/issues/53131) @[YuJuncen](https://github.com/YuJuncen) **tw@qiancai** - 为 [`BACKUP`](/sql-statements/sql-statement-backup.md) 语句和 [`RESTORE`](sql-statements/sql-statement-restore.md) 语句添加了多个常用参数选项,例如 `CHECKSUM_CONCURRENCY` [#53040](https://github.com/pingcap/tidb/issues/53040) @[RidRisR](https://github.com/RidRisR) **tw@qiancai** - - 去掉在 `br log` 命令 除了 `br log restore` 之外子命令对 tidb `domain` 数据结构的载入, 降低内存消耗 [#52088](https://github.com/pingcap/tidb/issues/52088) @[Leavrth](https://github.com/Leavrth) - - 对日志备份过程中临时落盘的文件做加密支持 [#15083](https://github.com/tikv/tikv/issues/15083) @[YuJuncen](https://github.com/YuJuncen) - - 在 grafana 面板增加了 `tikv_log_backup_pending_initial_scan` [#16656](https://github.com/tikv/tikv/issues/16656) @[3pointer](https://github.com/3pointer) - - 优化 pitr 日志输出的格式, 并添加了 `RestoreTS` 字段 [#53645](https://github.com/pingcap/tidb/issues/53645) @[dveeden](https://github.com/dveeden) + - 去掉除了 `br log restore` 子命令之外其它 `br log` 子命令对 TiDB `domain` 数据结构的载入,降低内存消耗 [#52088](https://github.com/pingcap/tidb/issues/52088) @[Leavrth](https://github.com/Leavrth) + - 支持对日志备份过程中生成的临时文件进行加密 [#15083](https://github.com/tikv/tikv/issues/15083) @[YuJuncen](https://github.com/YuJuncen) + - 在 Grafana 面板中新增 `tikv_log_backup_pending_initial_scan` 监控指标 [#16656](https://github.com/tikv/tikv/issues/16656) @[3pointer](https://github.com/3pointer) + - 优化 PITR 日志的输出格式,并在日志中新增 `RestoreTS` 字段 [#53645](https://github.com/pingcap/tidb/issues/53645) @[dveeden](https://github.com/dveeden) + TiCDC @@ -359,7 +359,7 @@ TiDB 版本:8.2.0 - 修复获取 TiKV 配置的连接可能未被关闭的问题 [#52595](https://github.com/pingcap/tidb/issues/52595) @[RidRisR](https://github.com/RidRisR) - 修复测试用例 `TestStoreRemoved` 不稳定的问题 [#52791](https://github.com/pingcap/tidb/issues/52791) @[YuJuncen](https://github.com/YuJuncen) - 修复 PITR 恢复过程中 TiFlash 崩溃的问题 [#52628](https://github.com/pingcap/tidb/issues/52628) @[RidRisR](https://github.com/RidRisR) - - 修复增量备份过程中 DDL 扫描作业的效率较低的问题 [#54139](https://github.com/pingcap/tidb/issues/54139) @[3pointer](https://github.com/3pointer) + - 修复增量备份过程中扫描 DDL 作业的效率较低的问题 [#54139](https://github.com/pingcap/tidb/issues/54139) @[3pointer](https://github.com/3pointer) - 修复断点备份过程中查找 Region leader 中断导致备份性能受影响问题 [#17168](https://github.com/tikv/tikv/issues/17168) @[Leavrth](https://github.com/Leavrth) + TiCDC From f9430cbf0c95932c74e13ed544746ee6ff13c5f1 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 1 Jul 2024 16:17:44 +0800 Subject: [PATCH 101/140] refine bug fixes for sql/planner --- releases/release-8.2.0.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index ef76bbe9d938..b3e3ec3f4ce9 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -274,14 +274,14 @@ TiDB 版本:8.2.0 + TiDB - - 修复 SQL 中包含 outer join,且 join 条件包含形如 `false IN (column_name)` 的表达式时,查询结果缺少部分数据的问题。 [#49476](https://github.com/pingcap/tidb/issues/49476) @[ghazalfamilyusa](https://github.com/ghazalfamilyusa) - - 在统计表的 `PREDICATE COLUMNS` 使用情况时,不再收集系统表的信息。 [#53403](https://github.com/pingcap/tidb/issues/53403) @[hi-rustin](https://github.com/hi-rustin) - - 修复 `tidb_persist_analyze_options` 关闭时可能导致 `tidb_enable_column_tracking` 无法工作的问题。 [#53478](https://github.com/pingcap/tidb/issues/53478) @[hi-rustin](https://github.com/hi-rustin) - - 修复 `(*PointGetPlan).StatsInfo()` 可能出现 DATA RACE 的问题。 [#49803](https://github.com/pingcap/tidb/issues/49803) [#43339](https://github.com/pingcap/tidb/issues/43339) @[qw4990](https://github.com/qw4990) - - 修复在已有写入的事务中查询带有虚拟列的表时,查询结果可能错误的问题。 [#53951](https://github.com/pingcap/tidb/issues/53951) @[qw4990](https://github.com/qw4990) - - 修复 `tidb_enable_async_merge_global_stats` 和 `tidb_analyze_partition_concurrency` 在自动分析无法生效的问题。 [#53972](https://github.com/pingcap/tidb/issues/53972) @[hi-rustin](https://github.com/hi-rustin) - - 修复查询 TABLESAMPLE 时可能报错“plan not supported”的问题。 [#54015](https://github.com/pingcap/tidb/issues/54015) @[tangenta](https://github.com/tangenta) - - 修复形如 `SELECT DISTINCT CAST(col AS DECIMAL), CAST(col AS SIGNED) FROM ...` 的 SQL 查询结果出错的问题。 [#53726](https://github.com/pingcap/tidb/issues/53726) @[hawkingrei](https://github.com/hawkingrei) + - 修复当 SQL 语句包含 Outer Join,且 Join 条件包含 `false IN (column_name)` 表达式时,查询结果缺少部分数据的问题 [#49476](https://github.com/pingcap/tidb/issues/49476) @[ghazalfamilyusa](https://github.com/ghazalfamilyusa) + - 在收集表中 `PREDICATE COLUMNS` 的统计信息时,不再收集系统表中列的统计信息 [#53403](https://github.com/pingcap/tidb/issues/53403) @[hi-rustin](https://github.com/hi-rustin) + - 修复系统变量 `tidb_persist_analyze_options` 为 `OFF` 时,系统变量 `tidb_enable_column_tracking` 未生效的问题 [#53478](https://github.com/pingcap/tidb/issues/53478) @[hi-rustin](https://github.com/hi-rustin) + - 修复在 `(*PointGetPlan).StatsInfo()` 执行过程中可能遇到数据竞争的问题 [#49803](https://github.com/pingcap/tidb/issues/49803) [#43339](https://github.com/pingcap/tidb/issues/43339) @[qw4990](https://github.com/qw4990) + - 修复在包含数据修改操作的事务中查询带有虚拟列的表时,查询结果可能错误的问题 [#53951](https://github.com/pingcap/tidb/issues/53951) @[qw4990](https://github.com/qw4990) + - 修复在自动收集统计信息时,系统变量 `tidb_enable_async_merge_global_stats` 和 `tidb_analyze_partition_concurrency` 未生效的问题 [#53972](https://github.com/pingcap/tidb/issues/53972) @[hi-rustin](https://github.com/hi-rustin) + - 修复查询 `TABLESAMPLE` 时可能遇到 `plan not supported` 报错的问题 [#54015](https://github.com/pingcap/tidb/issues/54015) @[tangenta](https://github.com/tangenta) + - 修复执行 `SELECT DISTINCT CAST(col AS DECIMAL), CAST(col AS SIGNED) FROM ...` 查询时结果出错的问题 [#53726](https://github.com/pingcap/tidb/issues/53726) @[hawkingrei](https://github.com/hawkingrei) - 修复在客户端读取数据超时后查询无法被终止的问题 [#44009](https://github.com/pingcap/tidb/issues/44009) @[wshwsh12](https://github.com/wshwsh12) **tw@Oreoxmt** - (dup): release-6.5.10.md > 错误修复> TiDB - 修复 `Longlong` 类型在谓词中溢出的问题 [#45783](https://github.com/pingcap/tidb/issues/45783) @[hawkingrei](https://github.com/hawkingrei) - (dup): release-7.1.5.md > 错误修复> TiDB - 修复窗口函数中有某些子查询时可能会 panic 的问题 [#42734](https://github.com/pingcap/tidb/issues/42734) @[hi-rustin](https://github.com/hi-rustin) @@ -356,7 +356,7 @@ TiDB 版本:8.2.0 - (dup): release-6.5.10.md > 错误修复> Tools> Backup & Restore (BR) - 修复 PD 连接失败导致日志备份 advancer owner 所在的 TiDB 可能崩溃的问题 [#52597](https://github.com/pingcap/tidb/issues/52597) @[YuJuncen](https://github.com/YuJuncen) - (dup): release-6.5.10.md > 错误修复> Tools> Backup & Restore (BR) - 修复日志备份在 advancer owner 发生迁移后可能被暂停的问题 [#53561](https://github.com/pingcap/tidb/issues/53561) @[RidRisR](https://github.com/RidRisR) - (dup): release-6.5.10.md > 错误修复> Tools> Backup & Restore (BR) - 修复在恢复过程中,由于多层重试导致 BR 无法正确识别错误的问题 [#54053](https://github.com/pingcap/tidb/issues/54053) @[RidRisR](https://github.com/RidRisR) - - 修复获取 TiKV 配置的连接可能未被关闭的问题 [#52595](https://github.com/pingcap/tidb/issues/52595) @[RidRisR](https://github.com/RidRisR) + - 修复用于获取 TiKV 配置的连接可能未被关闭的问题 [#52595](https://github.com/pingcap/tidb/issues/52595) @[RidRisR](https://github.com/RidRisR) - 修复测试用例 `TestStoreRemoved` 不稳定的问题 [#52791](https://github.com/pingcap/tidb/issues/52791) @[YuJuncen](https://github.com/YuJuncen) - 修复 PITR 恢复过程中 TiFlash 崩溃的问题 [#52628](https://github.com/pingcap/tidb/issues/52628) @[RidRisR](https://github.com/RidRisR) - 修复增量备份过程中扫描 DDL 作业的效率较低的问题 [#54139](https://github.com/pingcap/tidb/issues/54139) @[3pointer](https://github.com/3pointer) From e053e2d2b6e2254c0fdf181045b504b4f02c7786 Mon Sep 17 00:00:00 2001 From: Lilian Lee Date: Mon, 1 Jul 2024 17:37:10 +0800 Subject: [PATCH 102/140] Refine wording and format --- releases/release-8.2.0.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index b3e3ec3f4ce9..44ec5a29363e 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -231,20 +231,20 @@ TiDB 版本:8.2.0 + TiKV - - 支持 json_merge_patch 函数下推到 TiKV [#16770](https://github.com/tikv/tikv/issues/16770) @[dbsid](https://github.com/dbsid) - - 添加单个 compaction job 涉及的 SST 文件数的 metric [#16837](https://github.com/tikv/tikv/issues/16837) @[zhangjinpeng87](https://github.com/zhangjinpeng87) - - 默认开启 early apply 特性,降低单个 TiKV 抖动对写请求延迟的影响 [#16717](https://github.com/tikv/tikv/issues/16717) @[glorv](https://github.com/glorv) - - 在复制副本前引入 precheck 机制,在确保了目标端 ready 的情况下再发送副本,提高副本复制的有效性 [#15972](https://github.com/tikv/tikv/issues/15972) @[hbisheng](https://github.com/hbisheng) - - 在 raft 日志持久化之前,将 raft 日志保留在缓存中提升 follower 对日志的读取性能 [#16717](https://github.com/tikv/tikv/issues/16717) @[glorv](https://github.com/glorv) - - 增加 drop raft message 事件的可观测性,方便定位写入慢的 root cause [#17093](https://github.com/tikv/tikv/issues/17093) @[Connor1996](https://github.com/Connor1996) - - 增加对 ingest file 的延迟可观测性,方便排查集群的延迟问题 [#17078](https://github.com/tikv/tikv/issues/17078) @[LykxSassinator](https://github.com/LykxSassinator) - - 利用单独的线程来进行副本清理工作,保证 raft 读写关键路径的延迟稳定 [#16001](https://github.com/tikv/tikv/issues/16001) @[hbisheng](https://github.com/hbisheng) + - 支持将 `json_merge_patch` 函数下推到 TiKV [#16770](https://github.com/tikv/tikv/issues/16770) @[dbsid](https://github.com/dbsid) + - 增加指标来呈现单个 compaction job 涉及的 SST 文件数 [#16837](https://github.com/tikv/tikv/issues/16837) @[zhangjinpeng87](https://github.com/zhangjinpeng87) + - 默认开启 early apply 特性,开启后,Raft leader 在多数 peer 完成 Raft log 持久化之后即可进行 apply,不再要求 leader 自身完成 Raft log 的持久化,降低少数 TiKV 抖动对写请求延迟的影响 [#16717](https://github.com/tikv/tikv/issues/16717) @[glorv](https://github.com/glorv) + - 在复制副本前引入 precheck 机制,确保在 follower ready 的情况下再发送副本,提高了副本复制的有效性 [#15972](https://github.com/tikv/tikv/issues/15972) @[hbisheng](https://github.com/hbisheng) + - 在 Raft 日志持久化之前,将 Raft 日志保留在缓存中,以提升 follower 对日志的读取性能 [#16717](https://github.com/tikv/tikv/issues/16717) @[glorv](https://github.com/glorv) + - 增加 Raft dropped messages 事件的可观测性,以便定位写入慢的根本原因 [#17093](https://github.com/tikv/tikv/issues/17093) @[Connor1996](https://github.com/Connor1996) + - 增加对 ingest file 的延迟可观测性,以便排查集群的延迟问题 [#17078](https://github.com/tikv/tikv/issues/17078) @[LykxSassinator](https://github.com/LykxSassinator) + - 利用单独的线程来进行副本清理工作,保证 Raft 读写关键路径的延迟稳定 [#16001](https://github.com/tikv/tikv/issues/16001) @[hbisheng](https://github.com/hbisheng) - 提升正在进行 apply 的副本数的可观测性 [#17078](https://github.com/tikv/tikv/issues/17078) @[hbisheng](https://github.com/hbisheng) + PD - 优化提升 Region 心跳处理的性能 [#7897](https://github.com/tikv/pd/issues/7897) @[nolouch](https://github.com/nolouch) @[rleungx](https://github.com/rleungx) @[JmPotato](https://github.com/JmPotato) - - pd-ctl 支持使用 byte 或 query 维度来进行热点 Region 查询 [#7369](https://github.com/tikv/pd/issues/7369) @[lhy1024](https://github.com/lhy1024) + - pd-ctl 支持通过 byte 或 query 维度来查询热点 Region [#7369](https://github.com/tikv/pd/issues/7369) @[lhy1024](https://github.com/lhy1024) + TiFlash @@ -323,15 +323,15 @@ TiDB 版本:8.2.0 + TiKV - - 修复 json_array_append panic 问题 [#16930](https://github.com/tikv/tikv/issues/16930) @[dbsid](https://github.com/dbsid) - - 修复 leader 不及时清理失败的 snapshot 文件的问题 [#16976](https://github.com/tikv/tikv/issues/16976) @[hbisheng](https://github.com/hbisheng) - - 修复高并发 coprocessor 请求可能导致 TiKV OOM 的问题 [#16653](https://github.com/tikv/tikv/issues/16653) @[overvenus](https://github.com/overvenus) - - 修复在线变更 raftstore.periodic-full-compact-start-time 参数可能会 panic 的问题 [#17066](https://github.com/tikv/tikv/issues/17066) @[SpadeA-Tang](https://github.com/SpadeA-Tang) + - 修复将 `json_array_append panic` 函数下推至 TiKV 导致 TiKV panic 的问题 [#16930](https://github.com/tikv/tikv/issues/16930) @[dbsid](https://github.com/dbsid) + - 修复 leader 未及时清理发送失败的 snapshot 文件的问题 [#16976](https://github.com/tikv/tikv/issues/16976) @[hbisheng](https://github.com/hbisheng) + - 修复高并发的 Coprocessor 请求可能导致 TiKV OOM 的问题 [#16653](https://github.com/tikv/tikv/issues/16653) @[overvenus](https://github.com/overvenus) + - 修复在线变更 `raftstore.periodic-full-compact-start-time` 配置参数可能会导致 TiKV panic 的问题 [#17066](https://github.com/tikv/tikv/issues/17066) @[SpadeA-Tang](https://github.com/SpadeA-Tang) - 修复 `make docker` 和 `make docker_test` 失败的问题 [#17075](https://github.com/tikv/tikv/issues/17075) @[shunki-fujita](https://github.com/shunki-fujita) - - 修复 gRPC source duration 在监控中显示错误的问题 [#17133](https://github.com/tikv/tikv/issues/17133) @[King-Dylan](https://github.com/King-Dylan) - - 修复 gRPC 设置压缩方式对 TiKV 发送到 TiDB 的消息不起作用的问题 [#17176](https://github.com/tikv/tikv/issues/17176) @[ekexium](https://github.com/ekexium) + - 修复 gRPC request sources duration 在监控中显示错误的问题 [#17133](https://github.com/tikv/tikv/issues/17133) @[King-Dylan](https://github.com/King-Dylan) + - 修复设置 gRPC 压缩方式对 TiKV 发送到 TiDB 的消息不起作用的问题 [#17176](https://github.com/tikv/tikv/issues/17176) @[ekexium](https://github.com/ekexium) - (dup): release-7.5.2.md > 错误修复> TiKV - 修复 tikv-ctl 的 `raft region` 命令的输出中未包含 Region 状态信息的问题 [#17037](https://github.com/tikv/tikv/issues/17037) @[glorv](https://github.com/glorv) - - 修复 CDC 和 log-backup 没有用 `advance-ts-interval` 配置限制 `check_leader` 的 timeout 的问题,这在一些情况下可能导致 TiKV 正常重启时 resolved ts lag 过大 [#17107](https://github.com/tikv/tikv/issues/17107) @[MyonKeminta](https://github.com/MyonKeminta) + - 修复 CDC 和 log-backup 没有用 `advance-ts-interval` 配置限制 `check_leader` 的 timeout,导致在某些情况下 TiKV 正常重启时 `resolved_ts` lag 过大的问题 [#17107](https://github.com/tikv/tikv/issues/17107) @[MyonKeminta](https://github.com/MyonKeminta) + PD From e226199a1911564539e31bf455ccf90506af2e18 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Mon, 1 Jul 2024 19:22:56 +0800 Subject: [PATCH 103/140] Apply suggestions from code review --- releases/release-8.2.0.md | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 44ec5a29363e..05b3a2908388 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -213,19 +213,16 @@ TiDB 版本:8.2.0 ## 改进提升 + TiDB - - 支持并行执行[逻辑 DDL 语句 (General DDL) ](ddl-introduction#ddl-语句类型简介),在使用 10 个会话并发提交不同 DDL 语句的场景下,相比 v8.1.0 有 3~6 倍的性能提升[#53246](https://github.com/pingcap/tidb/issues/53246) @[D3Hunter](https://github.com/D3Hunter) - - 改进形如 `((a = 1 and b = 2 and c > 3) or (a = 4 and b = 5 and c > 6)) and d > 3` 的表达式匹配多列索引的逻辑,使其能生成更加精准的 `Range`。 [#41598](https://github.com/pingcap/tidb/issues/41598) @[ghazalfamilyusa](https://github.com/ghazalfamilyusa) - - 支持在 DML 语句的 SELECT 子句中使用查询范围生效的 Optimizer Hints。 [#53834](https://github.com/pingcap/tidb/issues/53834) @[qw4990](https://github.com/qw4990) - - 改进形如 `(a, b) > (1, 2)` 的表达式的处理机制,使其能够生成对应索引上的 `Range`。 [#41598](https://github.com/pingcap/tidb/issues/41598) @[elsa0520](https://github.com/elsa0520) - - 当 SQL 满足特定条件时,支持在内表包含 Aggregation 时使用 Index Join。 [#37068](https://github.com/pingcap/tidb/issues/37068) @[elsa0520](https://github.com/elsa0520) + - 支持并行执行[逻辑 DDL 语句 (General DDL)](/ddl-introduction.md#ddl-语句类型简介)。相比 v8.1.0,在使用 10 个会话并发提交不同 DDL 语句的场景下,性能有 3~6 倍的提升 [#53246](https://github.com/pingcap/tidb/issues/53246) @[D3Hunter](https://github.com/D3Hunter) + - 改进形如 `((a = 1 and b = 2 and c > 3) or (a = 4 and b = 5 and c > 6)) and d > 3` 的表达式匹配多列索引的逻辑,使其能生成更加精准的 `Range` [#41598](https://github.com/pingcap/tidb/issues/41598) @[ghazalfamilyusa](https://github.com/ghazalfamilyusa) - 优化对大数据量的表进行简单查询时获取数据分布信息的性能 [#53850](https://github.com/pingcap/tidb/issues/53850) @[you06](https://github.com/you06) **tw@Oreoxmt** - 聚合的结果集能够作为 IndexJoin 的内表,使更多的复杂查询可以匹配到 IndexJoin,从而可以通过索引提升查询效率 [#37068](https://github.com/pingcap/tidb/issues/37068) @[elsa0520](https://github.com/elsa0520) **tw@hfxsd** - - 通过批量删除 TiFlash placement rule 的方式,提升 truncate、 drop 分区表后数据 GC 的处理速度 [#54068](https://github.com/pingcap/tidb/issues/54068) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) - - 增加了创建用户时对选项 `PASSWORD REQUIRE CURRENT DEFAULT` 的支持 [#53305](https://github.com/pingcap/tidb/issues/53305) @[https://github.com/dveeden](dveeden) - - 升级第三方库 Azure 的版本,增强了安全性 [#53990](https://github.com/pingcap/tidb/issues/53990) @[hawkingrei](https://github.com/hawkingrei) - - 将 `token-limit` 的最大值设置为 1048576, 避免设置过大导致 TiDB-Server OOM [#53312](https://github.com/pingcap/tidb/issues/53312) @[djshow832](https://github.com/djshow832) - - 将 tls 配置项 `InsecureSkipVerify` 设置为 false,打开后客户端将要求服务器证书中的 CN 与客户端期望的主机名匹配 [#53358](https://github.com/pingcap/tidb/pull/53358) @[lance6716](https://github.com/lance6716) - - 改进了对于 MPP 执行计划的列裁剪功能,以提升 TiFlash MPP 的执行性能 [#52133](https://github.com/pingcap/tidb/issues/52133) @[yibin87](https://github.com/yibin87) + - 通过批量删除 TiFlash placement rule 的方式,提升对分区表执行 `TRUNCATE`、`DROP` 后数据 GC 的处理速度 [#54068](https://github.com/pingcap/tidb/issues/54068) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) + - 创建用户的 SQL 语句 `CREATE USER` 支持 `PASSWORD REQUIRE CURRENT DEFAULT` 选项,以和 MySQL 兼容 [#53305](https://github.com/pingcap/tidb/issues/53305) @[https://github.com/dveeden](dveeden) + - 升级第三方库 Azure 的版本,增强安全性 [#53990](https://github.com/pingcap/tidb/issues/53990) @[hawkingrei](https://github.com/hawkingrei) + - 将 `token-limit` 的最大值设置为 `1048576`,避免设置过大导致 TiDB Server OOM [#53312](https://github.com/pingcap/tidb/issues/53312) @[djshow832](https://github.com/djshow832) + - 将 TLS 配置项 `InsecureSkipVerify` 设置为 `false`,打开后客户端将要求服务器证书中的 CN 与客户端期望的主机名匹配 [#53357](https://github.com/pingcap/tidb/issues/53357) @[lance6716](https://github.com/lance6716) + - 改进对于 MPP 执行计划的列裁剪功能,以提升 TiFlash MPP 的执行性能 [#52133](https://github.com/pingcap/tidb/issues/52133) @[yibin87](https://github.com/yibin87) - 优化 `IndexLookUp` 算子在回表数据量较多(大于 1024 行)时的性能开销 [#53871](https://github.com/pingcap/tidb/issues/53871) @[crazycs520](https://github.com/crazycs520) - (dup): release-6.5.10.md > 改进提升> TiDB - 在 MPP 负载均衡时移除不包含任何 Region 的 Store [#52313](https://github.com/pingcap/tidb/issues/52313) @[xzhangxian1008](https://github.com/xzhangxian1008) @@ -249,7 +246,7 @@ TiDB 版本:8.2.0 + TiFlash - 减少数据高并发读取下的锁冲突,优化短查询性能 [#9125](https://github.com/pingcap/tiflash/issues/9125) @[JinheLin](https://github.com/JinheLin) - - 升级默认编译工具链到 llvm 17 [#7193](https://github.com/pingcap/tiflash/issues/7193) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) + - 升级默认编译工具链到 LLVM 17 [#7193](https://github.com/pingcap/tiflash/issues/7193) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) - 消除 `Join` 算子中对于 Join Key 的冗余拷贝 [#9057](https://github.com/pingcap/tiflash/issues/9057) @[gengliqi](https://github.com/gengliqi) - 将 `HashAgg` 算子中转换两级哈希表的过程并行化 [#8956](https://github.com/pingcap/tiflash/issues/8956) @[gengliqi](https://github.com/gengliqi) - 为 `HashAgg` 算子移除冗余的聚合函数以减少计算开销 [#8891](https://github.com/pingcap/tiflash/issues/8891) @[guo-shaoge](https://github.com/guo-shaoge) @@ -320,6 +317,8 @@ TiDB 版本:8.2.0 - 修复 `AUTO_ID_CACHE=1` 时,单条语句插入多行导致 `AUTO_INCREMENT` 列不连续的问题 [#52465](https://github.com/pingcap/tidb/issues/52465) @[tiancaiamao](https://github.com/tiancaiamao) - 修复弃用警告的格式 [#52515](https://github.com/pingcap/tidb/issues/52515) @[dveeden](https://github.com/dveeden) - 修复 `TRACE` 命令在 `copr.buildCopTasks` 中丢失的问题 [#53085](https://github.com/pingcap/tidb/issues/53085) @[time-and-fate](https://github.com/time-and-fate) + - 修复包含 `memory_quota` 的绑定在子查询中可能不生效的问题 [#53834](https://github.com/pingcap/tidb/issues/53834) @[qw4990](https://github.com/qw4990) + - 修复在某些情况下,元数据锁使用不当可能导致使用 plan cache 时写入异常数据的问题 [#53634](https://github.com/pingcap/tidb/issues/53634) @[zimulala](https://github.com/zimulala) + TiKV @@ -346,7 +345,7 @@ TiDB 版本:8.2.0 - (dup): release-7.5.2.md > 错误修复> TiFlash - 修复在含空分区的分区表上执行查询时,可能会超时的问题 [#9024](https://github.com/pingcap/tiflash/issues/9024) @[JinheLin](https://github.com/JinheLin) - (dup): release-7.5.2.md > 错误修复> TiFlash - 修复在存算分离架构下,DDL 新增带有 not null 属性的列后,查询可能返回错误的 null 值的问题 [#9084](https://github.com/pingcap/tiflash/issues/9084) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) - (dup): release-6.5.10.md > 错误修复> TiFlash - 修复函数 `SUBSTRING_INDEX()` 可能导致 TiFlash Crash 的问题 [#9116](https://github.com/pingcap/tiflash/issues/9116) @[wshwsh12](https://github.com/wshwsh12) - - 修复通过 br 或 tidb-lightning 导入数据后, FastScan 模式下可能读到大量重复数据的问题 [#9118](https://github.com/pingcap/tiflash/issues/9118) @[JinheLin](https://github.com/JinheLin) + - 修复通过 br 或 TiDB Lightning 导入数据后,FastScan 模式下可能读到大量重复数据的问题 [#9118](https://github.com/pingcap/tiflash/issues/9118) @[JinheLin](https://github.com/JinheLin) + Tools @@ -364,8 +363,8 @@ TiDB 版本:8.2.0 + TiCDC - - 修复 Grafana 监控中的 **Kafka Outgoing Bytes** 面板显示不准确的问题 [#10777](https://github.com/pingcap/tiflow/issues/10777) @[asddongmen](https://github.com/asddongmen) - - 修复在多节点环境下进行大量 Update 操作时,反复重启 Changefeed 可能导致的数据不一致问题。 [#11219](https://github.com/pingcap/tiflow/issues/11219) @[lidezhu](https://github.com/lidezhu) + - 修复 Grafana 监控中的 **Kafka Outgoing Bytes** 面板显示不准确的问题 [#10777](https://github.com/pingcap/tiflow/issues/10777) @[asddongmen](https://github.com/asddongmen) + - 修复在多节点环境下进行大量 `UPDATE` 操作时,反复重启 Changefeed 可能导致的数据不一致问题 [#11219](https://github.com/pingcap/tiflow/issues/11219) @[lidezhu](https://github.com/lidezhu) + TiDB Data Migration (DM) From 23fe335cde8b33667f6a16d91c1168b5797481f2 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Tue, 2 Jul 2024 09:35:04 +0800 Subject: [PATCH 104/140] Update releases/release-8.2.0.md --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 05b3a2908388..0252bdd061da 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -213,7 +213,7 @@ TiDB 版本:8.2.0 ## 改进提升 + TiDB - - 支持并行执行[逻辑 DDL 语句 (General DDL)](/ddl-introduction.md#ddl-语句类型简介)。相比 v8.1.0,在使用 10 个会话并发提交不同 DDL 语句的场景下,性能有 3~6 倍的提升 [#53246](https://github.com/pingcap/tidb/issues/53246) @[D3Hunter](https://github.com/D3Hunter) + - 支持并行执行[逻辑 DDL 语句 (General DDL)](/ddl-introduction.md#ddl-语句类型简介)。相比 v8.1.0,在使用 10 个会话并发提交不同 DDL 语句的场景下,性能有 3 到 6 倍的提升 [#53246](https://github.com/pingcap/tidb/issues/53246) @[D3Hunter](https://github.com/D3Hunter) - 改进形如 `((a = 1 and b = 2 and c > 3) or (a = 4 and b = 5 and c > 6)) and d > 3` 的表达式匹配多列索引的逻辑,使其能生成更加精准的 `Range` [#41598](https://github.com/pingcap/tidb/issues/41598) @[ghazalfamilyusa](https://github.com/ghazalfamilyusa) - 优化对大数据量的表进行简单查询时获取数据分布信息的性能 [#53850](https://github.com/pingcap/tidb/issues/53850) @[you06](https://github.com/you06) **tw@Oreoxmt** - 聚合的结果集能够作为 IndexJoin 的内表,使更多的复杂查询可以匹配到 IndexJoin,从而可以通过索引提升查询效率 [#37068](https://github.com/pingcap/tidb/issues/37068) @[elsa0520](https://github.com/elsa0520) **tw@hfxsd** From 84903fc5b56661d96dc7edb045aaafec3f749704 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Tue, 2 Jul 2024 09:37:07 +0800 Subject: [PATCH 105/140] Update releases/release-8.2.0.md --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 0252bdd061da..8f15b16f8012 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -219,7 +219,7 @@ TiDB 版本:8.2.0 - 聚合的结果集能够作为 IndexJoin 的内表,使更多的复杂查询可以匹配到 IndexJoin,从而可以通过索引提升查询效率 [#37068](https://github.com/pingcap/tidb/issues/37068) @[elsa0520](https://github.com/elsa0520) **tw@hfxsd** - 通过批量删除 TiFlash placement rule 的方式,提升对分区表执行 `TRUNCATE`、`DROP` 后数据 GC 的处理速度 [#54068](https://github.com/pingcap/tidb/issues/54068) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) - 创建用户的 SQL 语句 `CREATE USER` 支持 `PASSWORD REQUIRE CURRENT DEFAULT` 选项,以和 MySQL 兼容 [#53305](https://github.com/pingcap/tidb/issues/53305) @[https://github.com/dveeden](dveeden) - - 升级第三方库 Azure 的版本,增强安全性 [#53990](https://github.com/pingcap/tidb/issues/53990) @[hawkingrei](https://github.com/hawkingrei) + - 升级 Azure Identity Libraries 和 Microsoft Authentication Library 的版本,增强安全性 [#53990](https://github.com/pingcap/tidb/issues/53990) @[hawkingrei](https://github.com/hawkingrei) - 将 `token-limit` 的最大值设置为 `1048576`,避免设置过大导致 TiDB Server OOM [#53312](https://github.com/pingcap/tidb/issues/53312) @[djshow832](https://github.com/djshow832) - 将 TLS 配置项 `InsecureSkipVerify` 设置为 `false`,打开后客户端将要求服务器证书中的 CN 与客户端期望的主机名匹配 [#53357](https://github.com/pingcap/tidb/issues/53357) @[lance6716](https://github.com/lance6716) - 改进对于 MPP 执行计划的列裁剪功能,以提升 TiFlash MPP 的执行性能 [#52133](https://github.com/pingcap/tidb/issues/52133) @[yibin87](https://github.com/yibin87) From 1ae5901b0e053dfc66b208d75717f1dc8f6a8211 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Tue, 2 Jul 2024 09:51:49 +0800 Subject: [PATCH 106/140] Update releases/release-8.2.0.md --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 8f15b16f8012..f19a60e249c7 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -249,7 +249,7 @@ TiDB 版本:8.2.0 - 升级默认编译工具链到 LLVM 17 [#7193](https://github.com/pingcap/tiflash/issues/7193) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) - 消除 `Join` 算子中对于 Join Key 的冗余拷贝 [#9057](https://github.com/pingcap/tiflash/issues/9057) @[gengliqi](https://github.com/gengliqi) - 将 `HashAgg` 算子中转换两级哈希表的过程并行化 [#8956](https://github.com/pingcap/tiflash/issues/8956) @[gengliqi](https://github.com/gengliqi) - - 为 `HashAgg` 算子移除冗余的聚合函数以减少计算开销 [#8891](https://github.com/pingcap/tiflash/issues/8891) @[guo-shaoge](https://github.com/guo-shaoge) + - 移除 `HashAgg` 算子的冗余的聚合函数以减少计算开销 [#8891](https://github.com/pingcap/tiflash/issues/8891) @[guo-shaoge](https://github.com/guo-shaoge) + Tools From 2ff5e86d758ebffefe0f8c98912730f39259b4c3 Mon Sep 17 00:00:00 2001 From: lance6716 Date: Tue, 2 Jul 2024 10:22:41 +0800 Subject: [PATCH 107/140] Update releases/release-8.2.0.md Co-authored-by: xixirangrang --- releases/release-8.2.0.md | 1 - 1 file changed, 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index f19a60e249c7..fb670e191e5b 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -221,7 +221,6 @@ TiDB 版本:8.2.0 - 创建用户的 SQL 语句 `CREATE USER` 支持 `PASSWORD REQUIRE CURRENT DEFAULT` 选项,以和 MySQL 兼容 [#53305](https://github.com/pingcap/tidb/issues/53305) @[https://github.com/dveeden](dveeden) - 升级 Azure Identity Libraries 和 Microsoft Authentication Library 的版本,增强安全性 [#53990](https://github.com/pingcap/tidb/issues/53990) @[hawkingrei](https://github.com/hawkingrei) - 将 `token-limit` 的最大值设置为 `1048576`,避免设置过大导致 TiDB Server OOM [#53312](https://github.com/pingcap/tidb/issues/53312) @[djshow832](https://github.com/djshow832) - - 将 TLS 配置项 `InsecureSkipVerify` 设置为 `false`,打开后客户端将要求服务器证书中的 CN 与客户端期望的主机名匹配 [#53357](https://github.com/pingcap/tidb/issues/53357) @[lance6716](https://github.com/lance6716) - 改进对于 MPP 执行计划的列裁剪功能,以提升 TiFlash MPP 的执行性能 [#52133](https://github.com/pingcap/tidb/issues/52133) @[yibin87](https://github.com/yibin87) - 优化 `IndexLookUp` 算子在回表数据量较多(大于 1024 行)时的性能开销 [#53871](https://github.com/pingcap/tidb/issues/53871) @[crazycs520](https://github.com/crazycs520) - (dup): release-6.5.10.md > 改进提升> TiDB - 在 MPP 负载均衡时移除不包含任何 Region 的 Store [#52313](https://github.com/pingcap/tidb/issues/52313) @[xzhangxian1008](https://github.com/xzhangxian1008) From df7f23c4ba11d709db4c96da959cd8ceacf8eb0e Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 2 Jul 2024 10:37:27 +0800 Subject: [PATCH 108/140] add a parameter change to server.grpc-compression-type Co-authored-by: ekexium --- releases/release-8.2.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index fb670e191e5b..4584a26e997d 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -182,6 +182,7 @@ TiDB 版本:8.2.0 | TiDB | [`stats-load-concurrency`](/tidb-configuration-file.md#stats-load-concurrency-从-v540-版本开始引入) | 修改 | 默认值从 `5` 修改为 `0`,最小值从 `1` 修改为 `0`。`0` 为自动模式,根据服务器情况,自动调节并发度。 | | TiDB | [`token-limit`](/tidb-configuration-file.md#token-limit) | 修改 | 最大值从 `18446744073709551615` (64 位平台)和 `4294967295`(32 位平台)修改为 `1048576`,代表同时执行请求的 session 个数最多可以设置为 `1048576`。| | TiKV | [`max-apply-unpersisted-log-limit`](/tikv-configuration-file.md#max-apply-unpersisted-log-limit-从-v820-版本开始引入) | 新增 | 允许 apply 已经 `commit` 但尚未持久化的 Raft 日志的最大数量。 默认值为 `1024`。 | +| TiKV | [`server.grpc-compression-type`](/tikv-configuration-file.md#grpc-compression-type) | 修改 | 该配置项现在也会影响 TiKV 向 TiDB 发送的响应消息的压缩算法。开启压缩可能消耗更多 CPU 资源。 | | TiFlash | [`security.redact_info_log`](/tiflash/tiflash-configuration.md#配置文件-tiflashtoml) | 修改 | 可选值新增 `marker` 选项。该选项被启用时,日志中的用户数据会被标记符号 `‹ ›` 包裹。 | ### 系统表 From fd70780b87a4fc6b06be9ccd508c8d07bd6ceaf0 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Tue, 2 Jul 2024 10:44:02 +0800 Subject: [PATCH 109/140] Apply suggestions from code review --- releases/release-8.2.0.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 4584a26e997d..df9da1a24ea5 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -189,6 +189,8 @@ TiDB 版本:8.2.0 ### 其他 + - 升级默认编译工具链到 LLVM 17 [#7193](https://github.com/pingcap/tiflash/issues/7193) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) + ## 离线包变更 ## 废弃功能 @@ -246,7 +248,6 @@ TiDB 版本:8.2.0 + TiFlash - 减少数据高并发读取下的锁冲突,优化短查询性能 [#9125](https://github.com/pingcap/tiflash/issues/9125) @[JinheLin](https://github.com/JinheLin) - - 升级默认编译工具链到 LLVM 17 [#7193](https://github.com/pingcap/tiflash/issues/7193) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) - 消除 `Join` 算子中对于 Join Key 的冗余拷贝 [#9057](https://github.com/pingcap/tiflash/issues/9057) @[gengliqi](https://github.com/gengliqi) - 将 `HashAgg` 算子中转换两级哈希表的过程并行化 [#8956](https://github.com/pingcap/tiflash/issues/8956) @[gengliqi](https://github.com/gengliqi) - 移除 `HashAgg` 算子的冗余的聚合函数以减少计算开销 [#8891](https://github.com/pingcap/tiflash/issues/8891) @[guo-shaoge](https://github.com/guo-shaoge) From 201e054afee7fe169495c13c91b79d32f2e111fa Mon Sep 17 00:00:00 2001 From: Lilian Lee Date: Tue, 2 Jul 2024 10:49:51 +0800 Subject: [PATCH 110/140] Refine wording and add a related link --- releases/release-8.2.0.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index df9da1a24ea5..74fbade35304 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -229,11 +229,9 @@ TiDB 版本:8.2.0 - (dup): release-6.5.10.md > 改进提升> TiDB - 在 MPP 负载均衡时移除不包含任何 Region 的 Store [#52313](https://github.com/pingcap/tidb/issues/52313) @[xzhangxian1008](https://github.com/xzhangxian1008) + TiKV - - - 支持将 `json_merge_patch` 函数下推到 TiKV [#16770](https://github.com/tikv/tikv/issues/16770) @[dbsid](https://github.com/dbsid) - 增加指标来呈现单个 compaction job 涉及的 SST 文件数 [#16837](https://github.com/tikv/tikv/issues/16837) @[zhangjinpeng87](https://github.com/zhangjinpeng87) - - 默认开启 early apply 特性,开启后,Raft leader 在多数 peer 完成 Raft log 持久化之后即可进行 apply,不再要求 leader 自身完成 Raft log 的持久化,降低少数 TiKV 抖动对写请求延迟的影响 [#16717](https://github.com/tikv/tikv/issues/16717) @[glorv](https://github.com/glorv) - - 在复制副本前引入 precheck 机制,确保在 follower ready 的情况下再发送副本,提高了副本复制的有效性 [#15972](https://github.com/tikv/tikv/issues/15972) @[hbisheng](https://github.com/hbisheng) + - 默认开启[提前 apply](/tikv-configuration-file.md#max-apply-unpersisted-log-limit-从-v810-版本开始引入) 特性,开启后,Raft leader 在多数 peer 完成 Raft log 持久化之后即可进行 apply,不再要求 leader 自身完成 Raft log 的持久化,降低少数 TiKV 抖动对写请求延迟的影响 [#16717](https://github.com/tikv/tikv/issues/16717) @[glorv](https://github.com/glorv) + - 在复制快照前引入 precheck 机制,确保在 follower ready 的情况下再发送快照,提高了快照复制的有效性 [#15972](https://github.com/tikv/tikv/issues/15972) @[hbisheng](https://github.com/hbisheng) - 在 Raft 日志持久化之前,将 Raft 日志保留在缓存中,以提升 follower 对日志的读取性能 [#16717](https://github.com/tikv/tikv/issues/16717) @[glorv](https://github.com/glorv) - 增加 Raft dropped messages 事件的可观测性,以便定位写入慢的根本原因 [#17093](https://github.com/tikv/tikv/issues/17093) @[Connor1996](https://github.com/Connor1996) - 增加对 ingest file 的延迟可观测性,以便排查集群的延迟问题 [#17078](https://github.com/tikv/tikv/issues/17078) @[LykxSassinator](https://github.com/LykxSassinator) From dedf94f036bf8ec84dbb9cafe0b44a7046116520 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Tue, 2 Jul 2024 11:06:18 +0800 Subject: [PATCH 111/140] Update releases/release-8.2.0.md --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 74fbade35304..cad7f1d2d2d5 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -189,7 +189,7 @@ TiDB 版本:8.2.0 ### 其他 - - 升级默认编译工具链到 LLVM 17 [#7193](https://github.com/pingcap/tiflash/issues/7193) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) + - 为了提升 TiFlash 的开发体验,编译和构建 TiDB 所需的 LLVM 的最低版本从 13.0 升级到了 17.0。如果你是 TiDB 的开发者,为了能保证顺利编译,请对应升级你的 LLVM 编译器版本。[#7193](https://github.com/pingcap/tiflash/issues/7193) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) ## 离线包变更 From b6ab561501c80538b7ca35b4ff02fcb6a0c32b2b Mon Sep 17 00:00:00 2001 From: Lilian Lee Date: Tue, 2 Jul 2024 13:57:47 +0800 Subject: [PATCH 112/140] Remove precheck before snapshot generation --- releases/release-8.2.0.md | 1 - 1 file changed, 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index cad7f1d2d2d5..f94d19b92963 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -231,7 +231,6 @@ TiDB 版本:8.2.0 + TiKV - 增加指标来呈现单个 compaction job 涉及的 SST 文件数 [#16837](https://github.com/tikv/tikv/issues/16837) @[zhangjinpeng87](https://github.com/zhangjinpeng87) - 默认开启[提前 apply](/tikv-configuration-file.md#max-apply-unpersisted-log-limit-从-v810-版本开始引入) 特性,开启后,Raft leader 在多数 peer 完成 Raft log 持久化之后即可进行 apply,不再要求 leader 自身完成 Raft log 的持久化,降低少数 TiKV 抖动对写请求延迟的影响 [#16717](https://github.com/tikv/tikv/issues/16717) @[glorv](https://github.com/glorv) - - 在复制快照前引入 precheck 机制,确保在 follower ready 的情况下再发送快照,提高了快照复制的有效性 [#15972](https://github.com/tikv/tikv/issues/15972) @[hbisheng](https://github.com/hbisheng) - 在 Raft 日志持久化之前,将 Raft 日志保留在缓存中,以提升 follower 对日志的读取性能 [#16717](https://github.com/tikv/tikv/issues/16717) @[glorv](https://github.com/glorv) - 增加 Raft dropped messages 事件的可观测性,以便定位写入慢的根本原因 [#17093](https://github.com/tikv/tikv/issues/17093) @[Connor1996](https://github.com/Connor1996) - 增加对 ingest file 的延迟可观测性,以便排查集群的延迟问题 [#17078](https://github.com/tikv/tikv/issues/17078) @[LykxSassinator](https://github.com/LykxSassinator) From 99ba0756f94d88bc6e0db989dd71a3480b5e0059 Mon Sep 17 00:00:00 2001 From: Lilian Lee Date: Tue, 2 Jul 2024 14:56:19 +0800 Subject: [PATCH 113/140] Apply suggestions from hfxsd's code review Co-authored-by: xixirangrang --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index f94d19b92963..21249d18f312 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -229,7 +229,7 @@ TiDB 版本:8.2.0 - (dup): release-6.5.10.md > 改进提升> TiDB - 在 MPP 负载均衡时移除不包含任何 Region 的 Store [#52313](https://github.com/pingcap/tidb/issues/52313) @[xzhangxian1008](https://github.com/xzhangxian1008) + TiKV - - 增加指标来呈现单个 compaction job 涉及的 SST 文件数 [#16837](https://github.com/tikv/tikv/issues/16837) @[zhangjinpeng87](https://github.com/zhangjinpeng87) + - 增加 **Compaction Job Size(files)** 指标来呈现单个 compaction job 涉及的 SST 文件数 [#16837](https://github.com/tikv/tikv/issues/16837) @[zhangjinpeng87](https://github.com/zhangjinpeng87) - 默认开启[提前 apply](/tikv-configuration-file.md#max-apply-unpersisted-log-limit-从-v810-版本开始引入) 特性,开启后,Raft leader 在多数 peer 完成 Raft log 持久化之后即可进行 apply,不再要求 leader 自身完成 Raft log 的持久化,降低少数 TiKV 抖动对写请求延迟的影响 [#16717](https://github.com/tikv/tikv/issues/16717) @[glorv](https://github.com/glorv) - 在 Raft 日志持久化之前,将 Raft 日志保留在缓存中,以提升 follower 对日志的读取性能 [#16717](https://github.com/tikv/tikv/issues/16717) @[glorv](https://github.com/glorv) - 增加 Raft dropped messages 事件的可观测性,以便定位写入慢的根本原因 [#17093](https://github.com/tikv/tikv/issues/17093) @[Connor1996](https://github.com/Connor1996) From 3ec20683fc9b4eaea7fbe90d3c35c894f0788907 Mon Sep 17 00:00:00 2001 From: lilin90 Date: Tue, 2 Jul 2024 15:07:21 +0800 Subject: [PATCH 114/140] Update format for consistency --- releases/release-8.2.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 21249d18f312..1970610d8344 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -232,7 +232,7 @@ TiDB 版本:8.2.0 - 增加 **Compaction Job Size(files)** 指标来呈现单个 compaction job 涉及的 SST 文件数 [#16837](https://github.com/tikv/tikv/issues/16837) @[zhangjinpeng87](https://github.com/zhangjinpeng87) - 默认开启[提前 apply](/tikv-configuration-file.md#max-apply-unpersisted-log-limit-从-v810-版本开始引入) 特性,开启后,Raft leader 在多数 peer 完成 Raft log 持久化之后即可进行 apply,不再要求 leader 自身完成 Raft log 的持久化,降低少数 TiKV 抖动对写请求延迟的影响 [#16717](https://github.com/tikv/tikv/issues/16717) @[glorv](https://github.com/glorv) - 在 Raft 日志持久化之前,将 Raft 日志保留在缓存中,以提升 follower 对日志的读取性能 [#16717](https://github.com/tikv/tikv/issues/16717) @[glorv](https://github.com/glorv) - - 增加 Raft dropped messages 事件的可观测性,以便定位写入慢的根本原因 [#17093](https://github.com/tikv/tikv/issues/17093) @[Connor1996](https://github.com/Connor1996) + - 增加 **Raft dropped messages** 事件的可观测性,以便定位写入慢的根本原因 [#17093](https://github.com/tikv/tikv/issues/17093) @[Connor1996](https://github.com/Connor1996) - 增加对 ingest file 的延迟可观测性,以便排查集群的延迟问题 [#17078](https://github.com/tikv/tikv/issues/17078) @[LykxSassinator](https://github.com/LykxSassinator) - 利用单独的线程来进行副本清理工作,保证 Raft 读写关键路径的延迟稳定 [#16001](https://github.com/tikv/tikv/issues/16001) @[hbisheng](https://github.com/hbisheng) - 提升正在进行 apply 的副本数的可观测性 [#17078](https://github.com/tikv/tikv/issues/17078) @[hbisheng](https://github.com/hbisheng) @@ -325,7 +325,7 @@ TiDB 版本:8.2.0 - 修复高并发的 Coprocessor 请求可能导致 TiKV OOM 的问题 [#16653](https://github.com/tikv/tikv/issues/16653) @[overvenus](https://github.com/overvenus) - 修复在线变更 `raftstore.periodic-full-compact-start-time` 配置参数可能会导致 TiKV panic 的问题 [#17066](https://github.com/tikv/tikv/issues/17066) @[SpadeA-Tang](https://github.com/SpadeA-Tang) - 修复 `make docker` 和 `make docker_test` 失败的问题 [#17075](https://github.com/tikv/tikv/issues/17075) @[shunki-fujita](https://github.com/shunki-fujita) - - 修复 gRPC request sources duration 在监控中显示错误的问题 [#17133](https://github.com/tikv/tikv/issues/17133) @[King-Dylan](https://github.com/King-Dylan) + - 修复 **gRPC request sources duration** 在监控中显示错误的问题 [#17133](https://github.com/tikv/tikv/issues/17133) @[King-Dylan](https://github.com/King-Dylan) - 修复设置 gRPC 压缩方式对 TiKV 发送到 TiDB 的消息不起作用的问题 [#17176](https://github.com/tikv/tikv/issues/17176) @[ekexium](https://github.com/ekexium) - (dup): release-7.5.2.md > 错误修复> TiKV - 修复 tikv-ctl 的 `raft region` 命令的输出中未包含 Region 状态信息的问题 [#17037](https://github.com/tikv/tikv/issues/17037) @[glorv](https://github.com/glorv) - 修复 CDC 和 log-backup 没有用 `advance-ts-interval` 配置限制 `check_leader` 的 timeout,导致在某些情况下 TiKV 正常重启时 `resolved_ts` lag 过大的问题 [#17107](https://github.com/tikv/tikv/issues/17107) @[MyonKeminta](https://github.com/MyonKeminta) From 4cc036e4588b448f86f10f5d33336e021447222f Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Tue, 2 Jul 2024 15:32:29 +0800 Subject: [PATCH 115/140] Apply suggestions from code review Co-authored-by: Lilian Lee --- releases/release-8.2.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 1970610d8344..aa5cc391da4d 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -189,7 +189,7 @@ TiDB 版本:8.2.0 ### 其他 - - 为了提升 TiFlash 的开发体验,编译和构建 TiDB 所需的 LLVM 的最低版本从 13.0 升级到了 17.0。如果你是 TiDB 的开发者,为了能保证顺利编译,请对应升级你的 LLVM 编译器版本。[#7193](https://github.com/pingcap/tiflash/issues/7193) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) +为了提升 TiFlash 的开发体验,编译和构建 TiDB 所需的 LLVM 的最低版本从 13.0 升级到了 17.0。如果你是 TiDB 开发者,为了保证顺利编译,请对应升级你的 LLVM 编译器版本。[#7193](https://github.com/pingcap/tiflash/issues/7193) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) ## 离线包变更 @@ -216,7 +216,7 @@ TiDB 版本:8.2.0 ## 改进提升 + TiDB - - 支持并行执行[逻辑 DDL 语句 (General DDL)](/ddl-introduction.md#ddl-语句类型简介)。相比 v8.1.0,在使用 10 个会话并发提交不同 DDL 语句的场景下,性能有 3 到 6 倍的提升 [#53246](https://github.com/pingcap/tidb/issues/53246) @[D3Hunter](https://github.com/D3Hunter) + - 支持并行执行[逻辑 DDL 语句 (General DDL)](/ddl-introduction.md#ddl-语句类型简介)。相比 v8.1.0,在使用 10 个会话并发提交不同 DDL 语句的场景下,性能提升了 3 到 6 倍 [#53246](https://github.com/pingcap/tidb/issues/53246) @[D3Hunter](https://github.com/D3Hunter) - 改进形如 `((a = 1 and b = 2 and c > 3) or (a = 4 and b = 5 and c > 6)) and d > 3` 的表达式匹配多列索引的逻辑,使其能生成更加精准的 `Range` [#41598](https://github.com/pingcap/tidb/issues/41598) @[ghazalfamilyusa](https://github.com/ghazalfamilyusa) - 优化对大数据量的表进行简单查询时获取数据分布信息的性能 [#53850](https://github.com/pingcap/tidb/issues/53850) @[you06](https://github.com/you06) **tw@Oreoxmt** - 聚合的结果集能够作为 IndexJoin 的内表,使更多的复杂查询可以匹配到 IndexJoin,从而可以通过索引提升查询效率 [#37068](https://github.com/pingcap/tidb/issues/37068) @[elsa0520](https://github.com/elsa0520) **tw@hfxsd** @@ -343,7 +343,7 @@ TiDB 版本:8.2.0 - (dup): release-7.5.2.md > 错误修复> TiFlash - 修复在含空分区的分区表上执行查询时,可能会超时的问题 [#9024](https://github.com/pingcap/tiflash/issues/9024) @[JinheLin](https://github.com/JinheLin) - (dup): release-7.5.2.md > 错误修复> TiFlash - 修复在存算分离架构下,DDL 新增带有 not null 属性的列后,查询可能返回错误的 null 值的问题 [#9084](https://github.com/pingcap/tiflash/issues/9084) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) - (dup): release-6.5.10.md > 错误修复> TiFlash - 修复函数 `SUBSTRING_INDEX()` 可能导致 TiFlash Crash 的问题 [#9116](https://github.com/pingcap/tiflash/issues/9116) @[wshwsh12](https://github.com/wshwsh12) - - 修复通过 br 或 TiDB Lightning 导入数据后,FastScan 模式下可能读到大量重复数据的问题 [#9118](https://github.com/pingcap/tiflash/issues/9118) @[JinheLin](https://github.com/JinheLin) + - 修复通过 BR 或 TiDB Lightning 导入数据后,FastScan 模式下可能读到大量重复数据的问题 [#9118](https://github.com/pingcap/tiflash/issues/9118) @[JinheLin](https://github.com/JinheLin) + Tools From e4ac4b155a499dbe543e24e940b1566046eb42f8 Mon Sep 17 00:00:00 2001 From: Lilian Lee Date: Tue, 2 Jul 2024 15:55:12 +0800 Subject: [PATCH 116/140] Apply suggestions from code review Co-authored-by: xixirangrang --- releases/release-8.2.0.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index aa5cc391da4d..c2b4f1022edc 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -320,15 +320,15 @@ TiDB 版本:8.2.0 + TiKV - - 修复将 `json_array_append panic` 函数下推至 TiKV 导致 TiKV panic 的问题 [#16930](https://github.com/tikv/tikv/issues/16930) @[dbsid](https://github.com/dbsid) + - 修复将 `JSON_ARRAY_APPEND()` 函数下推至 TiKV 导致 TiKV panic 的问题 [#16930](https://github.com/tikv/tikv/issues/16930) @[dbsid](https://github.com/dbsid) - 修复 leader 未及时清理发送失败的 snapshot 文件的问题 [#16976](https://github.com/tikv/tikv/issues/16976) @[hbisheng](https://github.com/hbisheng) - 修复高并发的 Coprocessor 请求可能导致 TiKV OOM 的问题 [#16653](https://github.com/tikv/tikv/issues/16653) @[overvenus](https://github.com/overvenus) - - 修复在线变更 `raftstore.periodic-full-compact-start-time` 配置参数可能会导致 TiKV panic 的问题 [#17066](https://github.com/tikv/tikv/issues/17066) @[SpadeA-Tang](https://github.com/SpadeA-Tang) + - 修复在线变更 `raftstore.periodic-full-compact-start-times` 配置项可能会导致 TiKV panic 的问题 [#17066](https://github.com/tikv/tikv/issues/17066) @[SpadeA-Tang](https://github.com/SpadeA-Tang) - 修复 `make docker` 和 `make docker_test` 失败的问题 [#17075](https://github.com/tikv/tikv/issues/17075) @[shunki-fujita](https://github.com/shunki-fujita) - 修复 **gRPC request sources duration** 在监控中显示错误的问题 [#17133](https://github.com/tikv/tikv/issues/17133) @[King-Dylan](https://github.com/King-Dylan) - - 修复设置 gRPC 压缩方式对 TiKV 发送到 TiDB 的消息不起作用的问题 [#17176](https://github.com/tikv/tikv/issues/17176) @[ekexium](https://github.com/ekexium) + - 修复设置 gRPC 消息的压缩算法 (`grpc-compression-type`) 对 TiKV 发送到 TiDB 的消息不起作用的问题 [#17176](https://github.com/tikv/tikv/issues/17176) @[ekexium](https://github.com/ekexium) - (dup): release-7.5.2.md > 错误修复> TiKV - 修复 tikv-ctl 的 `raft region` 命令的输出中未包含 Region 状态信息的问题 [#17037](https://github.com/tikv/tikv/issues/17037) @[glorv](https://github.com/glorv) - - 修复 CDC 和 log-backup 没有用 `advance-ts-interval` 配置限制 `check_leader` 的 timeout,导致在某些情况下 TiKV 正常重启时 `resolved_ts` lag 过大的问题 [#17107](https://github.com/tikv/tikv/issues/17107) @[MyonKeminta](https://github.com/MyonKeminta) + - 修复 `advance-ts-interval` 配置未被用于限制 CDC 和 log-backup 模块中 `check_leader` 操作的 timeout,导致在某些情况下 TiKV 正常重启时 `resolved_ts` lag 过大的问题 [#17107](https://github.com/tikv/tikv/issues/17107) @[MyonKeminta](https://github.com/MyonKeminta) + PD From 9f9e489c77b53a9adcfa9aa340257bafd970dfd0 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 2 Jul 2024 16:29:27 +0800 Subject: [PATCH 117/140] Update releases/release-8.2.0.md Co-authored-by: Aolin --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index c2b4f1022edc..d6f3ce30f881 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -255,7 +255,7 @@ TiDB 版本:8.2.0 - 优化备份功能,提升在大量表备份过程中遇到节点重启、扩容或网络抖动时的备份性能和稳定性 [#52534](https://github.com/pingcap/tidb/issues/52534) @[3pointer](https://github.com/3pointer) **tw@qiancai** - 优化恢复过程中对 TiCDC Changefeed 的细粒度检查,如果 Changefeed 的 [CheckpointTS](/ticdc/ticdc-architecture.md#checkpointts) 晚于数据的备份时间,则不会影响恢复操作,从而减少不必要的等待时间,提升用户体验 [#53131](https://github.com/pingcap/tidb/issues/53131) @[YuJuncen](https://github.com/YuJuncen) **tw@qiancai** - - 为 [`BACKUP`](/sql-statements/sql-statement-backup.md) 语句和 [`RESTORE`](sql-statements/sql-statement-restore.md) 语句添加了多个常用参数选项,例如 `CHECKSUM_CONCURRENCY` [#53040](https://github.com/pingcap/tidb/issues/53040) @[RidRisR](https://github.com/RidRisR) **tw@qiancai** + - 为 [`BACKUP`](/sql-statements/sql-statement-backup.md) 语句和 [`RESTORE`](/sql-statements/sql-statement-restore.md) 语句添加了多个常用参数选项,例如 `CHECKSUM_CONCURRENCY` [#53040](https://github.com/pingcap/tidb/issues/53040) @[RidRisR](https://github.com/RidRisR) **tw@qiancai** - 去掉除了 `br log restore` 子命令之外其它 `br log` 子命令对 TiDB `domain` 数据结构的载入,降低内存消耗 [#52088](https://github.com/pingcap/tidb/issues/52088) @[Leavrth](https://github.com/Leavrth) - 支持对日志备份过程中生成的临时文件进行加密 [#15083](https://github.com/tikv/tikv/issues/15083) @[YuJuncen](https://github.com/YuJuncen) - 在 Grafana 面板中新增 `tikv_log_backup_pending_initial_scan` 监控指标 [#16656](https://github.com/tikv/tikv/issues/16656) @[3pointer](https://github.com/3pointer) From be8f7ec0903e30836580d1afe1557b48248dec6d Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 2 Jul 2024 23:13:58 +0800 Subject: [PATCH 118/140] move #53305 to MySQL compatibility --- releases/release-8.2.0.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index d6f3ce30f881..f117c672d8b2 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -161,8 +161,7 @@ TiDB 版本:8.2.0 ### MySQL 兼容性 -* 兼容性 1 -* 兼容性 2 +* 在 v8.1.0 之前,执行带有 `PASSWORD REQUIRE CURRENT DEFAULT` 选项的 [`CREATE USER`](/sql-statements/sql-statement-create-user.md) 语句会返回错误,因为 TiDB 不支持且无法解析该选项。从 v8.1.0 开始,TiDB 支持解析并忽略该选项,以便与 MySQL 兼容 [#53305](https://github.com/pingcap/tidb/issues/53305) @[https://github.com/dveeden](dveeden) ### 系统变量 @@ -221,7 +220,6 @@ TiDB 版本:8.2.0 - 优化对大数据量的表进行简单查询时获取数据分布信息的性能 [#53850](https://github.com/pingcap/tidb/issues/53850) @[you06](https://github.com/you06) **tw@Oreoxmt** - 聚合的结果集能够作为 IndexJoin 的内表,使更多的复杂查询可以匹配到 IndexJoin,从而可以通过索引提升查询效率 [#37068](https://github.com/pingcap/tidb/issues/37068) @[elsa0520](https://github.com/elsa0520) **tw@hfxsd** - 通过批量删除 TiFlash placement rule 的方式,提升对分区表执行 `TRUNCATE`、`DROP` 后数据 GC 的处理速度 [#54068](https://github.com/pingcap/tidb/issues/54068) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) - - 创建用户的 SQL 语句 `CREATE USER` 支持 `PASSWORD REQUIRE CURRENT DEFAULT` 选项,以和 MySQL 兼容 [#53305](https://github.com/pingcap/tidb/issues/53305) @[https://github.com/dveeden](dveeden) - 升级 Azure Identity Libraries 和 Microsoft Authentication Library 的版本,增强安全性 [#53990](https://github.com/pingcap/tidb/issues/53990) @[hawkingrei](https://github.com/hawkingrei) - 将 `token-limit` 的最大值设置为 `1048576`,避免设置过大导致 TiDB Server OOM [#53312](https://github.com/pingcap/tidb/issues/53312) @[djshow832](https://github.com/djshow832) - 改进对于 MPP 执行计划的列裁剪功能,以提升 TiFlash MPP 的执行性能 [#52133](https://github.com/pingcap/tidb/issues/52133) @[yibin87](https://github.com/yibin87) From cee741d92ea4c192b835c55715591b812ca6c205 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Tue, 2 Jul 2024 23:36:00 +0800 Subject: [PATCH 119/140] format updates --- releases/release-8.2.0.md | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index f117c672d8b2..3bd9379d2d63 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -25,7 +25,7 @@ TiDB 版本:8.2.0 稳定性与高可用 TiProxy 支持多种负载均衡策略 - 在 TiDB v8.2.0 中,TiProxy 支持从多个维度(包括状态、连接数、健康度、内存、CPU 和地理位置)对 TiDB 节点进行评估和排序,同时支持通过 policy 配置项配置这些负载均衡策略的优先级。TiProxy 将根据 policy 动态选择最优 TiDB 节点执行数据库操作,从而优化 TiDB 节点的整体资源使用率,提升集群性能和吞吐。 + 在 TiDB v8.2.0 中,TiProxy 支持从多个维度(包括状态、连接数、健康度、内存、CPU 和地理位置)对 TiDB 节点进行评估和排序,并支持通过 policy 配置项配置这些负载均衡策略的优先级。TiProxy 将根据 policy 动态选择最优 TiDB 节点执行数据库操作,从而优化 TiDB 节点的整体资源使用率,提升集群性能和吞吐。 并行 HashAgg 算法支持数据落盘成为正式功能 (GA) @@ -157,11 +157,11 @@ TiDB 版本:8.2.0 * 使用 `IMPORT INTO` 导入 CSV 文件时,如果指定 `SPLIT_FILE` 参数将一个大 CSV 文件切分为多个小 CSV 文件来提升并发和导入性能,需显式指定行结束符 `LINES_TERMINATED_BY`,参数的取值为 `\r`、`\n` 或 `\r\n`。如果没有指定行结束符,可能导致 CSV 文件数据解析异常。[#37338](https://github.com/pingcap/tidb/issues/37338) @[lance6716](https://github.com/lance6716) -* 在 BR v8.2.0 之前的版本中,当集群存在 TiCDC 同步任务时,BR 不支持进行[数据恢复](/br/backup-and-restore-overview.md)。从 BR 8.2.0 起,BR 数据恢复对 TiCDC 的限制被放宽:如果所恢复数据的 BackupTS(即备份时间)早于 Changefeed 的 [CheckpointTS](/ticdc/ticdc-architecture.md#checkpointts)(即记录当前同步进度的时间戳),BR 数据恢复可以正常进行。考虑到 BackupTS 的时间通常较早,此时可以认为绝大部分场景下,当集群存在 TiCDC 同步任务时,BR 都可以进行数据恢复。 **tw@qiancai** +* 在 BR v8.2.0 之前的版本中,当集群存在 TiCDC 同步任务时,BR 不支持进行[数据恢复](/br/backup-and-restore-overview.md)。从 BR 8.2.0 起,BR 数据恢复对 TiCDC 的限制被放宽:如果所恢复数据的 BackupTS(即备份时间)早于 Changefeed 的 [CheckpointTS](/ticdc/ticdc-architecture.md#checkpointts)(即记录当前同步进度的时间戳),BR 数据恢复可以正常进行。考虑到 BackupTS 的时间通常较早,此时可以认为绝大部分场景下,当集群存在 TiCDC 同步任务时,BR 都可以进行数据恢复。[#53131](https://github.com/pingcap/tidb/issues/53131) @[YuJuncen](https://github.com/YuJuncen) **tw@qiancai** ### MySQL 兼容性 -* 在 v8.1.0 之前,执行带有 `PASSWORD REQUIRE CURRENT DEFAULT` 选项的 [`CREATE USER`](/sql-statements/sql-statement-create-user.md) 语句会返回错误,因为 TiDB 不支持且无法解析该选项。从 v8.1.0 开始,TiDB 支持解析并忽略该选项,以便与 MySQL 兼容 [#53305](https://github.com/pingcap/tidb/issues/53305) @[https://github.com/dveeden](dveeden) +* 在 v8.1.0 之前,执行带有 `PASSWORD REQUIRE CURRENT DEFAULT` 选项的 [`CREATE USER`](/sql-statements/sql-statement-create-user.md) 语句会返回错误,因为 TiDB 不支持且无法解析该选项。从 v8.1.0 开始,TiDB 支持解析并忽略该选项,以便与 MySQL 兼容 [#53305](https://github.com/pingcap/tidb/issues/53305) @[dveeden](https://github.com/dveeden) ### 系统变量 @@ -180,17 +180,13 @@ TiDB 版本:8.2.0 |----------------|--------------------|------|------------------------------------| | TiDB | [`stats-load-concurrency`](/tidb-configuration-file.md#stats-load-concurrency-从-v540-版本开始引入) | 修改 | 默认值从 `5` 修改为 `0`,最小值从 `1` 修改为 `0`。`0` 为自动模式,根据服务器情况,自动调节并发度。 | | TiDB | [`token-limit`](/tidb-configuration-file.md#token-limit) | 修改 | 最大值从 `18446744073709551615` (64 位平台)和 `4294967295`(32 位平台)修改为 `1048576`,代表同时执行请求的 session 个数最多可以设置为 `1048576`。| -| TiKV | [`max-apply-unpersisted-log-limit`](/tikv-configuration-file.md#max-apply-unpersisted-log-limit-从-v820-版本开始引入) | 新增 | 允许 apply 已经 `commit` 但尚未持久化的 Raft 日志的最大数量。 默认值为 `1024`。 | | TiKV | [`server.grpc-compression-type`](/tikv-configuration-file.md#grpc-compression-type) | 修改 | 该配置项现在也会影响 TiKV 向 TiDB 发送的响应消息的压缩算法。开启压缩可能消耗更多 CPU 资源。 | +| TiKV | [`max-apply-unpersisted-log-limit`](/tikv-configuration-file.md#max-apply-unpersisted-log-limit-从-v820-版本开始引入) | 新增 | 允许 apply 已经 `commit` 但尚未持久化的 Raft 日志的最大数量。 默认值为 `1024`。 | | TiFlash | [`security.redact_info_log`](/tiflash/tiflash-configuration.md#配置文件-tiflashtoml) | 修改 | 可选值新增 `marker` 选项。该选项被启用时,日志中的用户数据会被标记符号 `‹ ›` 包裹。 | -### 系统表 - -### 其他 - -为了提升 TiFlash 的开发体验,编译和构建 TiDB 所需的 LLVM 的最低版本从 13.0 升级到了 17.0。如果你是 TiDB 开发者,为了保证顺利编译,请对应升级你的 LLVM 编译器版本。[#7193](https://github.com/pingcap/tiflash/issues/7193) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) +### 编译器版本 -## 离线包变更 +* 为了提升 TiFlash 的开发体验,编译和构建 TiDB 所需的 LLVM 的最低版本从 13.0 升级到了 17.0。如果你是 TiDB 开发者,为了保证顺利编译,请对应升级你的 LLVM 编译器版本。[#7193](https://github.com/pingcap/tiflash/issues/7193) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) ## 废弃功能 From c3bebcbaeeb43fba30f0b32f04ecfcac528ad97d Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 3 Jul 2024 10:01:26 +0800 Subject: [PATCH 120/140] Update releases/release-8.2.0.md --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 3bd9379d2d63..6e7683d32495 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -161,7 +161,7 @@ TiDB 版本:8.2.0 ### MySQL 兼容性 -* 在 v8.1.0 之前,执行带有 `PASSWORD REQUIRE CURRENT DEFAULT` 选项的 [`CREATE USER`](/sql-statements/sql-statement-create-user.md) 语句会返回错误,因为 TiDB 不支持且无法解析该选项。从 v8.1.0 开始,TiDB 支持解析并忽略该选项,以便与 MySQL 兼容 [#53305](https://github.com/pingcap/tidb/issues/53305) @[dveeden](https://github.com/dveeden) +* 在 v8.2.0 之前,执行带有 `PASSWORD REQUIRE CURRENT DEFAULT` 选项的 [`CREATE USER`](/sql-statements/sql-statement-create-user.md) 语句会返回错误,因为 TiDB 不支持且无法解析该选项。从 v8.2.0 开始,TiDB 支持解析并忽略该选项,以便与 MySQL 兼容 [#53305](https://github.com/pingcap/tidb/issues/53305) @[dveeden](https://github.com/dveeden) ### 系统变量 From a8d6637261ff392b727f60db24e05bce8c4eab79 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 3 Jul 2024 10:16:19 +0800 Subject: [PATCH 121/140] remove tw info from highlights --- releases/release-8.2.0.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 6e7683d32495..834ae3661016 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -24,20 +24,20 @@ TiDB 版本:8.2.0 稳定性与高可用 - TiProxy 支持多种负载均衡策略 + TiProxy 支持多种负载均衡策略 在 TiDB v8.2.0 中,TiProxy 支持从多个维度(包括状态、连接数、健康度、内存、CPU 和地理位置)对 TiDB 节点进行评估和排序,并支持通过 policy 配置项配置这些负载均衡策略的优先级。TiProxy 将根据 policy 动态选择最优 TiDB 节点执行数据库操作,从而优化 TiDB 节点的整体资源使用率,提升集群性能和吞吐。 - 并行 HashAgg 算法支持数据落盘成为正式功能 (GA) + 并行 HashAgg 算法支持数据落盘成为正式功能 (GA) HashAgg 是 TiDB 中常用的聚合算子,用于快速聚合具有相同字段值的行。TiDB v8.0.0 引入并行 HashAgg 作为实验特性,以进一步提升处理速度。当内存资源不足时,并行 HashAgg 可以将临时排序数据落盘,避免因内存使用过度而导致的 OOM 风险,从而提升查询性能和节点稳定性。该功能在 v8.2.0 成为正式功能,并默认开启,用户可以通过 tidb_executor_concurrency 安全地设置并行 HashAgg 的并发度。 - 统计信息加载效率提升 10 倍 + 统计信息加载效率提升 10 倍 对于拥有大量表和分区的集群,比如 SaaS 或 PaaS 服务,统计信息加载效率的提升能够解决 TiDB 实例启动缓慢的问题,从而减少由于统计信息加载失败造成的性能回退,提升集群的稳定性。 数据库管理与可观测性 - 为切换资源组引入权限控制 + 为切换资源组引入权限控制 随着资源管控功能被广泛应用,对资源组切换操作的权限控制能够避免数据库用户对资源的滥用,强化管理员对整体资源使用的保护,从而提升集群的稳定性。 @@ -393,4 +393,4 @@ TiDB 版本:8.2.0 - [shunki-fujita](https://github.com/shunki-fujita)(首次贡献者) - [tonyxuqqi](https://github.com/tonyxuqqi) - [wwu](https://github.com/wwu)(首次贡献者) -- [yzhan1](https://github.com/yzhan1) \ No newline at end of file +- [yzhan1](https://github.com/yzhan1) From 41076cbabec2cc3c28e11b982f3589b6e2492615 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 3 Jul 2024 10:18:51 +0800 Subject: [PATCH 122/140] fix links --- releases/release-8.2.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 834ae3661016..b7e97d08c65d 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -24,11 +24,11 @@ TiDB 版本:8.2.0 稳定性与高可用 - TiProxy 支持多种负载均衡策略 + TiProxy 支持多种负载均衡策略 在 TiDB v8.2.0 中,TiProxy 支持从多个维度(包括状态、连接数、健康度、内存、CPU 和地理位置)对 TiDB 节点进行评估和排序,并支持通过 policy 配置项配置这些负载均衡策略的优先级。TiProxy 将根据 policy 动态选择最优 TiDB 节点执行数据库操作,从而优化 TiDB 节点的整体资源使用率,提升集群性能和吞吐。 - 并行 HashAgg 算法支持数据落盘成为正式功能 (GA) + 并行 HashAgg 算法支持数据落盘成为正式功能 (GA) HashAgg 是 TiDB 中常用的聚合算子,用于快速聚合具有相同字段值的行。TiDB v8.0.0 引入并行 HashAgg 作为实验特性,以进一步提升处理速度。当内存资源不足时,并行 HashAgg 可以将临时排序数据落盘,避免因内存使用过度而导致的 OOM 风险,从而提升查询性能和节点稳定性。该功能在 v8.2.0 成为正式功能,并默认开启,用户可以通过 tidb_executor_concurrency 安全地设置并行 HashAgg 的并发度。 From 1e061fba2adb764a73b6562d8139f34d5485e224 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 3 Jul 2024 11:04:50 +0800 Subject: [PATCH 123/140] update descriptions of max-apply-unpersisted-log-limit --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index b7e97d08c65d..9d363bc22490 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -180,8 +180,8 @@ TiDB 版本:8.2.0 |----------------|--------------------|------|------------------------------------| | TiDB | [`stats-load-concurrency`](/tidb-configuration-file.md#stats-load-concurrency-从-v540-版本开始引入) | 修改 | 默认值从 `5` 修改为 `0`,最小值从 `1` 修改为 `0`。`0` 为自动模式,根据服务器情况,自动调节并发度。 | | TiDB | [`token-limit`](/tidb-configuration-file.md#token-limit) | 修改 | 最大值从 `18446744073709551615` (64 位平台)和 `4294967295`(32 位平台)修改为 `1048576`,代表同时执行请求的 session 个数最多可以设置为 `1048576`。| +| TiKV | [`max-apply-unpersisted-log-limit`](/tikv-configuration-file.md#max-apply-unpersisted-log-limit-从-v820-版本开始引入) | 修改 | 默认值从 ` 0` 修改为 `1024`,代表允许 apply 已经 `commit` 但尚未持久化的 Raft 日志的最大数量为 1024,用于降低 TiKV 节点上因 IO 抖动导致的长尾延迟。 | | TiKV | [`server.grpc-compression-type`](/tikv-configuration-file.md#grpc-compression-type) | 修改 | 该配置项现在也会影响 TiKV 向 TiDB 发送的响应消息的压缩算法。开启压缩可能消耗更多 CPU 资源。 | -| TiKV | [`max-apply-unpersisted-log-limit`](/tikv-configuration-file.md#max-apply-unpersisted-log-limit-从-v820-版本开始引入) | 新增 | 允许 apply 已经 `commit` 但尚未持久化的 Raft 日志的最大数量。 默认值为 `1024`。 | | TiFlash | [`security.redact_info_log`](/tiflash/tiflash-configuration.md#配置文件-tiflashtoml) | 修改 | 可选值新增 `marker` 选项。该选项被启用时,日志中的用户数据会被标记符号 `‹ ›` 包裹。 | ### 编译器版本 From 6331d583f4950686f1527160232a1ab1b5ea517a Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 3 Jul 2024 11:11:50 +0800 Subject: [PATCH 124/140] update descriptions of `token-limit` --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 9d363bc22490..40277f61fb3c 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -179,7 +179,7 @@ TiDB 版本:8.2.0 | 配置文件 | 配置项 | 修改类型 | 描述 | |----------------|--------------------|------|------------------------------------| | TiDB | [`stats-load-concurrency`](/tidb-configuration-file.md#stats-load-concurrency-从-v540-版本开始引入) | 修改 | 默认值从 `5` 修改为 `0`,最小值从 `1` 修改为 `0`。`0` 为自动模式,根据服务器情况,自动调节并发度。 | -| TiDB | [`token-limit`](/tidb-configuration-file.md#token-limit) | 修改 | 最大值从 `18446744073709551615` (64 位平台)和 `4294967295`(32 位平台)修改为 `1048576`,代表同时执行请求的 session 个数最多可以设置为 `1048576`。| +| TiDB | [`token-limit`](/tidb-configuration-file.md#token-limit) | 修改 | 最大值从 `18446744073709551615` (64 位平台)和 `4294967295`(32 位平台)修改为 `1048576`,代表同时执行请求的 session 个数最多可以设置为 `1048576`,避免设置过大导致 TiDB Server OOM。| | TiKV | [`max-apply-unpersisted-log-limit`](/tikv-configuration-file.md#max-apply-unpersisted-log-limit-从-v820-版本开始引入) | 修改 | 默认值从 ` 0` 修改为 `1024`,代表允许 apply 已经 `commit` 但尚未持久化的 Raft 日志的最大数量为 1024,用于降低 TiKV 节点上因 IO 抖动导致的长尾延迟。 | | TiKV | [`server.grpc-compression-type`](/tikv-configuration-file.md#grpc-compression-type) | 修改 | 该配置项现在也会影响 TiKV 向 TiDB 发送的响应消息的压缩算法。开启压缩可能消耗更多 CPU 资源。 | | TiFlash | [`security.redact_info_log`](/tiflash/tiflash-configuration.md#配置文件-tiflashtoml) | 修改 | 可选值新增 `marker` 选项。该选项被启用时,日志中的用户数据会被标记符号 `‹ ›` 包裹。 | From a59c6739a0668f93bfc06d0730f2924868af3a4d Mon Sep 17 00:00:00 2001 From: Aolin Date: Wed, 3 Jul 2024 14:01:00 +0800 Subject: [PATCH 125/140] Apply suggestions from code review Co-authored-by: Grace Cai --- releases/release-8.2.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 40277f61fb3c..dd65a5a6fb2a 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -306,10 +306,10 @@ TiDB 版本:8.2.0 - 修复使用 `CURRENT_DATE()` 作为列默认值时查询结果错误的问题 [#53746](https://github.com/pingcap/tidb/issues/53746) @[tangenta](https://github.com/tangenta) - 修复 `ALTER DATABASE ... SET TIFLASH REPLICA` 语句错误地给 `SEQUENCE` 表添加 TiFlash 副本的问题 [#51990](https://github.com/pingcap/tidb/issues/51990) @[jiyfhust](https://github.com/jiyfhust) - 修复 `INFORMATION_SCHEMA.KEY_COLUMN_USAGE` 表中 `REFERENCED_TABLE_SCHEMA` 字段显示不正确的问题 [#52350](https://github.com/pingcap/tidb/issues/52350) @[wd0517](https://github.com/wd0517) - - 修复 `AUTO_ID_CACHE=1` 时,单条语句插入多行导致 `AUTO_INCREMENT` 列不连续的问题 [#52465](https://github.com/pingcap/tidb/issues/52465) @[tiancaiamao](https://github.com/tiancaiamao) - - 修复弃用警告的格式 [#52515](https://github.com/pingcap/tidb/issues/52515) @[dveeden](https://github.com/dveeden) + - 修复 `AUTO_ID_CACHE=1` 时,单条语句插入多行数据导致 `AUTO_INCREMENT` 列不连续的问题 [#52465](https://github.com/pingcap/tidb/issues/52465) @[tiancaiamao](https://github.com/tiancaiamao) + - 修复弃用警告的格式问题 [#52515](https://github.com/pingcap/tidb/issues/52515) @[dveeden](https://github.com/dveeden) - 修复 `TRACE` 命令在 `copr.buildCopTasks` 中丢失的问题 [#53085](https://github.com/pingcap/tidb/issues/53085) @[time-and-fate](https://github.com/time-and-fate) - - 修复包含 `memory_quota` 的绑定在子查询中可能不生效的问题 [#53834](https://github.com/pingcap/tidb/issues/53834) @[qw4990](https://github.com/qw4990) + - 修复 `memory_quota` Hint 在子查询中可能不生效的问题 [#53834](https://github.com/pingcap/tidb/issues/53834) @[qw4990](https://github.com/qw4990) - 修复在某些情况下,元数据锁使用不当可能导致使用 plan cache 时写入异常数据的问题 [#53634](https://github.com/pingcap/tidb/issues/53634) @[zimulala](https://github.com/zimulala) + TiKV From c5b41f9f07472366e027e4dbb77c953824a30f25 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 3 Jul 2024 14:45:34 +0800 Subject: [PATCH 126/140] Implement comments of system variable changes Co-authored-by: Aolin --- releases/release-8.2.0.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index dd65a5a6fb2a..bfbfbde15016 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -167,11 +167,11 @@ TiDB 版本:8.2.0 | 变量名 | 修改类型(包括新增/修改/删除) | 描述 | |--------|------------------------------|------| -| [`tidb_analyze_distsql_scan_concurrency`](/system-variables.md#tidb_analyze_distsql_scan_concurrency-从-v760-版本开始引入) | 修改 | 最小值从 `1` 改为 `0`。当设置为 `0` 时,TiDB 会根据集群规模自适应调整并发度。**tw@hfxsd** | -| [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) | 修改 | 从 v8.2.0 开始,默认设置下,TiDB 不会收集类型为 `mediumtext` 和 `longtext` 的列,避免潜在的 OOM 风险。**tw@hfxsd** | -| [`tidb_enable_historical_stats`](/system-variables.md#tidb_enable_historical_stats) | 修改 | 默认值改为 `OFF`,即关闭历史统计信息,避免潜在的稳定性问题。 **tw@hfxsd** | +| [`tidb_analyze_distsql_scan_concurrency`](/system-variables.md#tidb_analyze_distsql_scan_concurrency-从-v760-版本开始引入) | 修改 | 最小值从 `1` 改为 `0`。当设置为 `0` 时,TiDB 会根据集群规模自适应调整执行 `ANALYZE` 时 `scan` 操作的并发度。**tw@hfxsd** | +| [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) | 修改 | 从 v8.2.0 开始,默认设置下,TiDB 不会收集类型为 `MEDIUMTEXT` 和 `LONGTEXT` 的列,避免潜在的 OOM 风险。**tw@hfxsd** | +| [`tidb_enable_historical_stats`](/system-variables.md#tidb_enable_historical_stats) | 修改 | 默认值从 `ON` 修改为 `OFF`,即默认关闭历史统计信息,避免潜在的稳定性问题。 **tw@hfxsd** | | [`tidb_executor_concurrency`](/system-variables.md#tidb_executor_concurrency-从-v50-版本开始引入) | 修改 | 新增支持对 `sort` 算子的并发度进行设置。 | -| [`tidb_sysproc_scan_concurrency`](/system-variables.md#tidb_sysproc_scan_concurrency-从-v650-版本开始引入) | 修改 | 最小值从 `1` 改为 `0`。当设置为 `0` 时,TiDB 会根据集群规模自适应调整并发度。**tw@hfxsd** | +| [`tidb_sysproc_scan_concurrency`](/system-variables.md#tidb_sysproc_scan_concurrency-从-v650-版本开始引入) | 修改 | 最小值从 `1` 改为 `0`。当设置为 `0` 时,TiDB 会根据集群规模自适应调整执行内部 SQL 语句时 `scan` 操作的并发度。**tw@hfxsd** | | [`tidb_resource_control_strict_mode`](/system-variables.md#tidb_resource_control_strict_mode-从-v820-版本开始引入) | 新增 | [`SET RESOURCE GROUP`](/sql-statements/sql-statement-set-resource-group.md) 和优化器 [`RESOURCE_GROUP()`](/optimizer-hints.md#resource_groupresource_group_name) Hint 权限控制的开关。 **tw@lilin90** | ### 配置文件参数 From 2d0e193b45c3c73ccdf9f56fdf9befafed47080b Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 3 Jul 2024 14:51:24 +0800 Subject: [PATCH 127/140] Apply suggestions from code review Co-authored-by: xixirangrang --- releases/release-8.2.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index bfbfbde15016..36043f7b2d09 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -202,11 +202,11 @@ TiDB 版本:8.2.0 * TiDB 在 v8.0.0 引入了系统变量 [`tidb_enable_parallel_hashagg_spill`](/system-variables.md#tidb_enable_parallel_hashagg_spill-从-v800-版本开始引入),用于控制 TiDB 是否支持并行 HashAgg 进行落盘。在未来版本中,系统变量 [`tidb_enable_parallel_hashagg_spill`](/system-variables.md#tidb_enable_parallel_hashagg_spill-从-v800-版本开始引入) 将被废弃。 * TiDB 在 v7.5.0 引入了系统变量 [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入),用于设置 TiDB 使用异步方式合并分区统计信息,以避免 OOM 问题。在未来版本中,分区统计信息将统一使用异步方式进行合并,系统变量 [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入) 将被废弃。 * 计划在后续版本重新设计[执行计划绑定的自动演进](/sql-plan-management.md#自动演进绑定-baseline-evolution),相关的变量和行为会发生变化。 - * TiDB Lightning 参数 [`conflict.max-record-rows`](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-任务配置) 计划在未来版本中废弃,并在后续版本中删除。该参数将由 `conflict.threshold` 替代,即记录的冲突记录数和单个导入任务允许出现的冲突记录数的上限数保持一致。 + * TiDB Lightning 参数 [`conflict.max-record-rows`](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-任务配置) 计划在未来版本中废弃,并在后续版本中删除。该参数将由 [`conflict.threshold`](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-任务配置) 替代,即记录的冲突记录数和单个导入任务允许出现的冲突记录数的上限数保持一致。 * 以下为计划将在未来版本中移除的功能: - * 从 v8.0.0 开始,TiDB Lightning 废弃了物理导入模式下的[旧版冲突检测](/tidb-lightning/tidb-lightning-physical-import-mode-usage.md#旧版冲突检测从-v800-开始已被废弃)策略,支持通过 [`conflict.strategy`](/tidb-lightning/tidb-lightning-configuration.md) 参数统一控制逻辑导入和物理导入模式的冲突检测策略。旧版冲突检测的参数 [`duplicate-resolution`](/tidb-lightning/tidb-lightning-configuration.md) 将在未来版本中被移除。 + * 从 v8.0.0 开始,TiDB Lightning 废弃了物理导入模式下的[旧版冲突检测](/tidb-lightning/tidb-lightning-physical-import-mode-usage.md#旧版冲突检测从-v800-开始已被废弃)策略,支持通过 [`conflict.strategy`](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-任务配置) 参数统一控制逻辑导入和物理导入模式的冲突检测策略。旧版冲突检测的参数 [`duplicate-resolution`](/tidb-lightning/tidb-lightning-configuration.md) 将在未来版本中被移除。 ## 改进提升 From 36120067e3d0cbd4c7edc7b058d1b385aaff8cd5 Mon Sep 17 00:00:00 2001 From: Lilian Lee Date: Wed, 3 Jul 2024 15:01:54 +0800 Subject: [PATCH 128/140] Update wording --- releases/release-8.2.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 36043f7b2d09..79f793573403 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -180,9 +180,9 @@ TiDB 版本:8.2.0 |----------------|--------------------|------|------------------------------------| | TiDB | [`stats-load-concurrency`](/tidb-configuration-file.md#stats-load-concurrency-从-v540-版本开始引入) | 修改 | 默认值从 `5` 修改为 `0`,最小值从 `1` 修改为 `0`。`0` 为自动模式,根据服务器情况,自动调节并发度。 | | TiDB | [`token-limit`](/tidb-configuration-file.md#token-limit) | 修改 | 最大值从 `18446744073709551615` (64 位平台)和 `4294967295`(32 位平台)修改为 `1048576`,代表同时执行请求的 session 个数最多可以设置为 `1048576`,避免设置过大导致 TiDB Server OOM。| -| TiKV | [`max-apply-unpersisted-log-limit`](/tikv-configuration-file.md#max-apply-unpersisted-log-limit-从-v820-版本开始引入) | 修改 | 默认值从 ` 0` 修改为 `1024`,代表允许 apply 已经 `commit` 但尚未持久化的 Raft 日志的最大数量为 1024,用于降低 TiKV 节点上因 IO 抖动导致的长尾延迟。 | +| TiKV | [`max-apply-unpersisted-log-limit`](/tikv-configuration-file.md#max-apply-unpersisted-log-limit-从-v820-版本开始引入) | 修改 | 默认值从 `0` 修改为 `1024`,代表允许 apply 已经 `commit` 但尚未持久化的 Raft 日志的最大数量为 1024,用于降低 TiKV 节点上因 I/O 抖动导致的长尾延迟。 | | TiKV | [`server.grpc-compression-type`](/tikv-configuration-file.md#grpc-compression-type) | 修改 | 该配置项现在也会影响 TiKV 向 TiDB 发送的响应消息的压缩算法。开启压缩可能消耗更多 CPU 资源。 | -| TiFlash | [`security.redact_info_log`](/tiflash/tiflash-configuration.md#配置文件-tiflashtoml) | 修改 | 可选值新增 `marker` 选项。该选项被启用时,日志中的用户数据会被标记符号 `‹ ›` 包裹。 | +| TiFlash | [`security.redact_info_log`](/tiflash/tiflash-configuration.md#配置文件-tiflashtoml) | 修改 | 可选值新增 `marker` 选项。当配置项的值设置为 `marker` 时,日志中的用户数据会被标记符号 `‹ ›` 包裹。 | ### 编译器版本 From 122ea4c91591f87ac42cda51c041726b6c58d725 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Wed, 3 Jul 2024 15:17:18 +0800 Subject: [PATCH 129/140] Update releases/release-8.2.0.md --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 79f793573403..c8b651459a09 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -99,7 +99,7 @@ TiDB 版本:8.2.0 * TiDB 支持 JSON Schema Validation 函数 [#52779](https://github.com/pingcap/tidb/issues/52779) @[dveeden](https://github.com/dveeden) **tw@hfxsd** - 在 v8.2.0 之前,你需要依赖外部工具或自定义验证逻辑进行 JSON 数据验证,开发和维护比较复杂,开发效率低。从 v8.2.0 版本开始,引入了 `JSON_SCHEMA_VALID()` 函数,你可以在 TiDB 中直接验证 JSON 数据的有效性,提高数据的完整性和一致性,提升了开发效率。 + 在 v8.2.0 之前,你需要依赖外部工具或自定义验证逻辑进行 JSON 数据验证,开发和维护比较复杂,开发效率低。从 v8.2.0 版本开始,引入了 `JSON_SCHEMA_VALID()` 函数。通过在 `CHECK` 约束中使用 `JSON_SCHEMA_VALID()`,可以避免插入不符合要求的数据,而不是事后检查数据。你可以在 TiDB 中直接验证 JSON 数据的有效性,提高数据的完整性和一致性,提升了开发效率。 更多信息,请参考[用户文档](/functions-and-operators/json-functions.md#验证函数)。 From 4566dae78c461786768d6878865c27611f48c83f Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 3 Jul 2024 15:43:32 +0800 Subject: [PATCH 130/140] minor format updates --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index c8b651459a09..039ea5eff0d3 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -165,7 +165,7 @@ TiDB 版本:8.2.0 ### 系统变量 -| 变量名 | 修改类型(包括新增/修改/删除) | 描述 | +| 变量名 | 修改类型 | 描述 | |--------|------------------------------|------| | [`tidb_analyze_distsql_scan_concurrency`](/system-variables.md#tidb_analyze_distsql_scan_concurrency-从-v760-版本开始引入) | 修改 | 最小值从 `1` 改为 `0`。当设置为 `0` 时,TiDB 会根据集群规模自适应调整执行 `ANALYZE` 时 `scan` 操作的并发度。**tw@hfxsd** | | [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) | 修改 | 从 v8.2.0 开始,默认设置下,TiDB 不会收集类型为 `MEDIUMTEXT` 和 `LONGTEXT` 的列,避免潜在的 OOM 风险。**tw@hfxsd** | From bf2bfbcd7c4cb2f1966379f3d1a3d67d2b9f1e2a Mon Sep 17 00:00:00 2001 From: Lilian Lee Date: Wed, 3 Jul 2024 15:44:18 +0800 Subject: [PATCH 131/140] Update format --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 039ea5eff0d3..5839dc9498df 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -179,7 +179,7 @@ TiDB 版本:8.2.0 | 配置文件 | 配置项 | 修改类型 | 描述 | |----------------|--------------------|------|------------------------------------| | TiDB | [`stats-load-concurrency`](/tidb-configuration-file.md#stats-load-concurrency-从-v540-版本开始引入) | 修改 | 默认值从 `5` 修改为 `0`,最小值从 `1` 修改为 `0`。`0` 为自动模式,根据服务器情况,自动调节并发度。 | -| TiDB | [`token-limit`](/tidb-configuration-file.md#token-limit) | 修改 | 最大值从 `18446744073709551615` (64 位平台)和 `4294967295`(32 位平台)修改为 `1048576`,代表同时执行请求的 session 个数最多可以设置为 `1048576`,避免设置过大导致 TiDB Server OOM。| +| TiDB | [`token-limit`](/tidb-configuration-file.md#token-limit) | 修改 | 最大值从 `18446744073709551615`(64 位平台)和 `4294967295`(32 位平台)修改为 `1048576`,代表同时执行请求的 session 个数最多可以设置为 `1048576`,避免设置过大导致 TiDB Server OOM。| | TiKV | [`max-apply-unpersisted-log-limit`](/tikv-configuration-file.md#max-apply-unpersisted-log-limit-从-v820-版本开始引入) | 修改 | 默认值从 `0` 修改为 `1024`,代表允许 apply 已经 `commit` 但尚未持久化的 Raft 日志的最大数量为 1024,用于降低 TiKV 节点上因 I/O 抖动导致的长尾延迟。 | | TiKV | [`server.grpc-compression-type`](/tikv-configuration-file.md#grpc-compression-type) | 修改 | 该配置项现在也会影响 TiKV 向 TiDB 发送的响应消息的压缩算法。开启压缩可能消耗更多 CPU 资源。 | | TiFlash | [`security.redact_info_log`](/tiflash/tiflash-configuration.md#配置文件-tiflashtoml) | 修改 | 可选值新增 `marker` 选项。当配置项的值设置为 `marker` 时,日志中的用户数据会被标记符号 `‹ ›` 包裹。 | From 288e6e0e277bff733bec2c62e9658a434c425c3c Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Wed, 3 Jul 2024 16:24:27 +0800 Subject: [PATCH 132/140] Update releases/release-8.2.0.md --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 5839dc9498df..60637a133188 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -337,7 +337,7 @@ TiDB 版本:8.2.0 - (dup): release-7.5.2.md > 错误修复> TiFlash - 修复在含空分区的分区表上执行查询时,可能会超时的问题 [#9024](https://github.com/pingcap/tiflash/issues/9024) @[JinheLin](https://github.com/JinheLin) - (dup): release-7.5.2.md > 错误修复> TiFlash - 修复在存算分离架构下,DDL 新增带有 not null 属性的列后,查询可能返回错误的 null 值的问题 [#9084](https://github.com/pingcap/tiflash/issues/9084) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) - (dup): release-6.5.10.md > 错误修复> TiFlash - 修复函数 `SUBSTRING_INDEX()` 可能导致 TiFlash Crash 的问题 [#9116](https://github.com/pingcap/tiflash/issues/9116) @[wshwsh12](https://github.com/wshwsh12) - - 修复通过 BR 或 TiDB Lightning 导入数据后,FastScan 模式下可能读到大量重复数据的问题 [#9118](https://github.com/pingcap/tiflash/issues/9118) @[JinheLin](https://github.com/JinheLin) + - 修复通过 BR 或 TiDB Lightning 导入数据后,FastScan 模式下可能读到大量重复行数据的问题 [#9118](https://github.com/pingcap/tiflash/issues/9118) @[JinheLin](https://github.com/JinheLin) + Tools From bcf7c4294eb17c2f0c50369c45ea3aecd42d4221 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Wed, 3 Jul 2024 16:24:52 +0800 Subject: [PATCH 133/140] Apply suggestions from code review Co-authored-by: Grace Cai --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 60637a133188..5fa49e45fb99 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -155,7 +155,7 @@ TiDB 版本:8.2.0 * 使用 TiDB Lightning 导入 CSV 文件时,如果设置了严格格式 `strict-format = true` 将一个大 CSV 文件切分为多个小 CSV 文件来提升并发和导入性能,需要显式指定行结束符 `terminator`,参数的取值为 `\r`、`\n` 或 `\r\n`。如果没有指定行结束符,可能导致 CSV 文件数据解析异常。[#37338](https://github.com/pingcap/tidb/issues/37338) @[lance6716](https://github.com/lance6716) -* 使用 `IMPORT INTO` 导入 CSV 文件时,如果指定 `SPLIT_FILE` 参数将一个大 CSV 文件切分为多个小 CSV 文件来提升并发和导入性能,需显式指定行结束符 `LINES_TERMINATED_BY`,参数的取值为 `\r`、`\n` 或 `\r\n`。如果没有指定行结束符,可能导致 CSV 文件数据解析异常。[#37338](https://github.com/pingcap/tidb/issues/37338) @[lance6716](https://github.com/lance6716) +* 使用 [`IMPORT INTO`](/sql-statements/sql-statement-import-into.md) 导入 CSV 文件时,如果指定 `SPLIT_FILE` 参数将一个大 CSV 文件切分为多个小 CSV 文件来提升并发和导入性能,需显式指定行结束符 `LINES_TERMINATED_BY`,参数的取值为 `\r`、`\n` 或 `\r\n`。如果没有指定行结束符,可能导致 CSV 文件数据解析异常。[#37338](https://github.com/pingcap/tidb/issues/37338) @[lance6716](https://github.com/lance6716) * 在 BR v8.2.0 之前的版本中,当集群存在 TiCDC 同步任务时,BR 不支持进行[数据恢复](/br/backup-and-restore-overview.md)。从 BR 8.2.0 起,BR 数据恢复对 TiCDC 的限制被放宽:如果所恢复数据的 BackupTS(即备份时间)早于 Changefeed 的 [CheckpointTS](/ticdc/ticdc-architecture.md#checkpointts)(即记录当前同步进度的时间戳),BR 数据恢复可以正常进行。考虑到 BackupTS 的时间通常较早,此时可以认为绝大部分场景下,当集群存在 TiCDC 同步任务时,BR 都可以进行数据恢复。[#53131](https://github.com/pingcap/tidb/issues/53131) @[YuJuncen](https://github.com/YuJuncen) **tw@qiancai** From 50a374c87588804dfca0421bf474da8920faa23c Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 3 Jul 2024 16:39:43 +0800 Subject: [PATCH 134/140] format udpates --- releases/release-8.2.0.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 5fa49e45fb99..177f82d0a7d6 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -193,7 +193,7 @@ TiDB 版本:8.2.0 * 以下为从 v8.2.0 开始已废弃的功能: * 从 v8.2.0 开始,TiDB 的配置项 `enable-replica-selector-v2` 被废弃。向 TiKV 发送 RPC 请求时,默认使用新版本的 Region 副本选择器。 - * 从 v8.2.0 开始,BR 快照恢复参数 `--concurrency` 被废弃。作为替代,你可以通过 [`--tikv-max-restore-concurrency`](/use-br-command-line-tool#常用选项) 配置快照恢复阶段单个 TiKV 节点的任务最大并发数。 **tw@qiancai** + * 从 v8.2.0 开始,BR 快照恢复参数 `--concurrency` 被废弃。作为替代,你可以通过 [`--tikv-max-restore-concurrency`](/br/use-br-command-line-tool.md#常用选项) 配置快照恢复阶段单个 TiKV 节点的任务最大并发数。 **tw@qiancai** * 从 v8.2.0 开始,BR 快照恢复参数 `--granularity` 被废弃,[粗粒度打散 Region 算法](/br/br-snapshot-guide.md#恢复快照备份数据)默认启用。**tw@qiancai** * 以下为计划将在未来版本中废弃的功能: @@ -211,6 +211,7 @@ TiDB 版本:8.2.0 ## 改进提升 + TiDB + - 支持并行执行[逻辑 DDL 语句 (General DDL)](/ddl-introduction.md#ddl-语句类型简介)。相比 v8.1.0,在使用 10 个会话并发提交不同 DDL 语句的场景下,性能提升了 3 到 6 倍 [#53246](https://github.com/pingcap/tidb/issues/53246) @[D3Hunter](https://github.com/D3Hunter) - 改进形如 `((a = 1 and b = 2 and c > 3) or (a = 4 and b = 5 and c > 6)) and d > 3` 的表达式匹配多列索引的逻辑,使其能生成更加精准的 `Range` [#41598](https://github.com/pingcap/tidb/issues/41598) @[ghazalfamilyusa](https://github.com/ghazalfamilyusa) - 优化对大数据量的表进行简单查询时获取数据分布信息的性能 [#53850](https://github.com/pingcap/tidb/issues/53850) @[you06](https://github.com/you06) **tw@Oreoxmt** @@ -223,6 +224,7 @@ TiDB 版本:8.2.0 - (dup): release-6.5.10.md > 改进提升> TiDB - 在 MPP 负载均衡时移除不包含任何 Region 的 Store [#52313](https://github.com/pingcap/tidb/issues/52313) @[xzhangxian1008](https://github.com/xzhangxian1008) + TiKV + - 增加 **Compaction Job Size(files)** 指标来呈现单个 compaction job 涉及的 SST 文件数 [#16837](https://github.com/tikv/tikv/issues/16837) @[zhangjinpeng87](https://github.com/zhangjinpeng87) - 默认开启[提前 apply](/tikv-configuration-file.md#max-apply-unpersisted-log-limit-从-v810-版本开始引入) 特性,开启后,Raft leader 在多数 peer 完成 Raft log 持久化之后即可进行 apply,不再要求 leader 自身完成 Raft log 的持久化,降低少数 TiKV 抖动对写请求延迟的影响 [#16717](https://github.com/tikv/tikv/issues/16717) @[glorv](https://github.com/glorv) - 在 Raft 日志持久化之前,将 Raft 日志保留在缓存中,以提升 follower 对日志的读取性能 [#16717](https://github.com/tikv/tikv/issues/16717) @[glorv](https://github.com/glorv) From 10ed759d85a7ef8c6e165b90dcf4ad9f247e0ea8 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 3 Jul 2024 16:45:35 +0800 Subject: [PATCH 135/140] fix a broken link --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 177f82d0a7d6..6a034257cfdc 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -180,7 +180,7 @@ TiDB 版本:8.2.0 |----------------|--------------------|------|------------------------------------| | TiDB | [`stats-load-concurrency`](/tidb-configuration-file.md#stats-load-concurrency-从-v540-版本开始引入) | 修改 | 默认值从 `5` 修改为 `0`,最小值从 `1` 修改为 `0`。`0` 为自动模式,根据服务器情况,自动调节并发度。 | | TiDB | [`token-limit`](/tidb-configuration-file.md#token-limit) | 修改 | 最大值从 `18446744073709551615`(64 位平台)和 `4294967295`(32 位平台)修改为 `1048576`,代表同时执行请求的 session 个数最多可以设置为 `1048576`,避免设置过大导致 TiDB Server OOM。| -| TiKV | [`max-apply-unpersisted-log-limit`](/tikv-configuration-file.md#max-apply-unpersisted-log-limit-从-v820-版本开始引入) | 修改 | 默认值从 `0` 修改为 `1024`,代表允许 apply 已经 `commit` 但尚未持久化的 Raft 日志的最大数量为 1024,用于降低 TiKV 节点上因 I/O 抖动导致的长尾延迟。 | +| TiKV | [`max-apply-unpersisted-log-limit`](/tikv-configuration-file.md#max-apply-unpersisted-log-limit-从-v810-版本开始引入) | 修改 | 默认值从 `0` 修改为 `1024`,代表允许 apply 已经 `commit` 但尚未持久化的 Raft 日志的最大数量为 1024,用于降低 TiKV 节点上因 I/O 抖动导致的长尾延迟。 | | TiKV | [`server.grpc-compression-type`](/tikv-configuration-file.md#grpc-compression-type) | 修改 | 该配置项现在也会影响 TiKV 向 TiDB 发送的响应消息的压缩算法。开启压缩可能消耗更多 CPU 资源。 | | TiFlash | [`security.redact_info_log`](/tiflash/tiflash-configuration.md#配置文件-tiflashtoml) | 修改 | 可选值新增 `marker` 选项。当配置项的值设置为 `marker` 时,日志中的用户数据会被标记符号 `‹ ›` 包裹。 | From 50590ac0942b68fdf7bbf9c1831c53ef59595b9e Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Wed, 3 Jul 2024 16:56:02 +0800 Subject: [PATCH 136/140] Update releases/release-8.2.0.md --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 6a034257cfdc..0123aca9e6b2 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -125,7 +125,7 @@ TiDB 版本:8.2.0 * 记录执行计划没有被缓存的原因 [#50618](https://github.com/pingcap/tidb/issues/50618) @[qw4990](https://github.com/qw4990) **tw@hfxsd** - 在一些场景下,用户希望多数执行计划能够被缓存,以节省执行开销,并降低延迟。目前执行计划缓存对 SQL 有一定限制,部分形态 SQL 的执行计划无法被缓存,但是用户很难识别出无法被缓存的 SQL 以及对应的原因。因此,从 v8.2.0 开始,为系统表 [`STATEMENTS_SUMMARY`](/statement-summary-tables.md) 增加了新的列 `PLAN_CACHE_UNQUALIFIED` 和 `PLAN_CACHE_UNQUALIFIED_LAST_REASON`,来解释计划无法被缓存的原因,协助用户做性能调优。 + 在一些场景下,用户希望多数执行计划能够被缓存,以节省执行开销,并降低延迟。目前执行计划缓存对 SQL 有一定限制,部分形态 SQL 的执行计划无法被缓存,但是用户很难识别出无法被缓存的 SQL 以及对应的原因。因此,从 v8.2.0 开始,为系统表 [`STATEMENTS_SUMMARY`](/statement-summary-tables.md) 增加了新的列 `PLAN_CACHE_UNQUALIFIED` 和 `PLAN_CACHE_UNQUALIFIED_LAST_REASON`,来解释计划无法被缓存的原因,协助用户进行性能调优。 更多信息,请参考[用户文档](/statement-summary-tables.md#表的字段介绍)。 From ec59fc7ec2687964151fdfd9e8d6a426694d4bf1 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Wed, 3 Jul 2024 17:22:43 +0800 Subject: [PATCH 137/140] Update releases/release-8.2.0.md --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 0123aca9e6b2..9f2d2fd6baa3 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -320,7 +320,7 @@ TiDB 版本:8.2.0 - 修复 leader 未及时清理发送失败的 snapshot 文件的问题 [#16976](https://github.com/tikv/tikv/issues/16976) @[hbisheng](https://github.com/hbisheng) - 修复高并发的 Coprocessor 请求可能导致 TiKV OOM 的问题 [#16653](https://github.com/tikv/tikv/issues/16653) @[overvenus](https://github.com/overvenus) - 修复在线变更 `raftstore.periodic-full-compact-start-times` 配置项可能会导致 TiKV panic 的问题 [#17066](https://github.com/tikv/tikv/issues/17066) @[SpadeA-Tang](https://github.com/SpadeA-Tang) - - 修复 `make docker` 和 `make docker_test` 失败的问题 [#17075](https://github.com/tikv/tikv/issues/17075) @[shunki-fujita](https://github.com/shunki-fujita) + - 修复执行 `make docker` 和 `make docker_test` 失败的问题 [#17075](https://github.com/tikv/tikv/issues/17075) @[shunki-fujita](https://github.com/shunki-fujita) - 修复 **gRPC request sources duration** 在监控中显示错误的问题 [#17133](https://github.com/tikv/tikv/issues/17133) @[King-Dylan](https://github.com/King-Dylan) - 修复设置 gRPC 消息的压缩算法 (`grpc-compression-type`) 对 TiKV 发送到 TiDB 的消息不起作用的问题 [#17176](https://github.com/tikv/tikv/issues/17176) @[ekexium](https://github.com/ekexium) - (dup): release-7.5.2.md > 错误修复> TiKV - 修复 tikv-ctl 的 `raft region` 命令的输出中未包含 Region 状态信息的问题 [#17037](https://github.com/tikv/tikv/issues/17037) @[glorv](https://github.com/glorv) From f65b874775f880eb42e714e2d5fa0e3f8cb1a8a9 Mon Sep 17 00:00:00 2001 From: Lilian Lee Date: Wed, 3 Jul 2024 18:01:43 +0800 Subject: [PATCH 138/140] Apply suggestions from code review Co-authored-by: Bisheng Huang --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 9f2d2fd6baa3..75004504f9a0 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -231,7 +231,7 @@ TiDB 版本:8.2.0 - 增加 **Raft dropped messages** 事件的可观测性,以便定位写入慢的根本原因 [#17093](https://github.com/tikv/tikv/issues/17093) @[Connor1996](https://github.com/Connor1996) - 增加对 ingest file 的延迟可观测性,以便排查集群的延迟问题 [#17078](https://github.com/tikv/tikv/issues/17078) @[LykxSassinator](https://github.com/LykxSassinator) - 利用单独的线程来进行副本清理工作,保证 Raft 读写关键路径的延迟稳定 [#16001](https://github.com/tikv/tikv/issues/16001) @[hbisheng](https://github.com/hbisheng) - - 提升正在进行 apply 的副本数的可观测性 [#17078](https://github.com/tikv/tikv/issues/17078) @[hbisheng](https://github.com/hbisheng) + - 提升正在进行 apply 的 Raft 快照数量的可观测性 [#17078](https://github.com/tikv/tikv/issues/17078) @[hbisheng](https://github.com/hbisheng) + PD From c9a62dfbee7d9dacb796a5ef48d53808fd70690d Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Tue, 9 Jul 2024 20:52:10 +0800 Subject: [PATCH 139/140] Update releases/release-8.2.0.md Co-authored-by: Roger Song --- releases/release-8.2.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 75004504f9a0..1e2ecc03f2a0 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -33,7 +33,7 @@ TiDB 版本:8.2.0 统计信息加载效率提升 10 倍 - 对于拥有大量表和分区的集群,比如 SaaS 或 PaaS 服务,统计信息加载效率的提升能够解决 TiDB 实例启动缓慢的问题,从而减少由于统计信息加载失败造成的性能回退,提升集群的稳定性。 + 对于拥有大量表和分区的集群,比如 SaaS 或 PaaS 服务,统计信息加载效率的提升能够解决 TiDB 实例启动缓慢的问题,同时也能提升统计信息动态加载的成功率,从而减少由于统计信息加载失败造成的性能回退,提升集群的稳定性。 数据库管理与可观测性 From 5135c50e14d7bbde1797ac6711c72f5a890bb300 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Wed, 10 Jul 2024 14:12:59 +0800 Subject: [PATCH 140/140] add TOC changes and clean up markers --- TOC.md | 4 +- releases/release-8.2.0.md | 150 +++++++++++++++++------------------ releases/release-notes.md | 4 + releases/release-timeline.md | 1 + 4 files changed, 83 insertions(+), 76 deletions(-) diff --git a/TOC.md b/TOC.md index 9c57c4d3708a..0d2b885594f3 100644 --- a/TOC.md +++ b/TOC.md @@ -4,7 +4,7 @@ - [文档中心](https://docs.pingcap.com/zh) - 关于 TiDB - [TiDB 简介](/overview.md) - - [TiDB 8.1 Release Notes](/releases/release-8.1.0.md) + - [TiDB 8.2 Release Notes](/releases/release-8.2.0.md) - [功能概览](/basic-features.md) - [与 MySQL 的兼容性](/mysql-compatibility.md) - [使用限制](/tidb-limitations.md) @@ -1063,6 +1063,8 @@ - [版本发布时间线](/releases/release-timeline.md) - [TiDB 版本规则](/releases/versioning.md) - [TiDB 离线包](/binary-package.md) + - v8.2 + - [8.2.0-DMR](/releases/release-8.2.0.md) - v8.1 - [8.1.0](/releases/release-8.1.0.md) - v8.0 diff --git a/releases/release-8.2.0.md b/releases/release-8.2.0.md index 1e2ecc03f2a0..b2248850fcf8 100644 --- a/releases/release-8.2.0.md +++ b/releases/release-8.2.0.md @@ -5,7 +5,7 @@ summary: 了解 TiDB 8.2.0 版本的新功能、兼容性变更、改进提升 # TiDB 8.2.0 Release Notes -发版日期:2024 年 x 月 x 日 +发版日期:2024 年 7 月 11 日 TiDB 版本:8.2.0 @@ -47,7 +47,7 @@ TiDB 版本:8.2.0 ### 性能 -* 支持下推以下字符串函数到 TiKV [#50601](https://github.com/pingcap/tidb/issues/50601) @[dbsid](https://github.com/dbsid) **tw@Oreoxmt** +* 支持下推以下字符串函数到 TiKV [#50601](https://github.com/pingcap/tidb/issues/50601) @[dbsid](https://github.com/dbsid) * `JSON_ARRAY_APPEND()` * `JSON_MERGE_PATCH()` @@ -55,7 +55,7 @@ TiDB 版本:8.2.0 更多信息,请参考[用户文档](/functions-and-operators/expressions-pushed-down.md)。 -* TiDB 支持并行排序 [#49217](https://github.com/pingcap/tidb/issues/49217) [#50746](https://github.com/pingcap/tidb/issues/50746) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@Oreoxmt** +* TiDB 支持并行排序 [#49217](https://github.com/pingcap/tidb/issues/49217) [#50746](https://github.com/pingcap/tidb/issues/50746) @[xzhangxian1008](https://github.com/xzhangxian1008) 在 v8.2.0 之前,TiDB 只能以非并行的方式执行排序计算,当需要对大量数据进行排序时,查询性能会受到影响。 @@ -63,7 +63,7 @@ TiDB 版本:8.2.0 更多信息,请参考[用户文档](/system-variables.md#tidb_executor_concurrency-从-v50-版本开始引入)。 -* TiDB 的并行 HashAgg 算法支持数据落盘成为正式功能 (GA) [#35637](https://github.com/pingcap/tidb/issues/35637) @[xzhangxian1008](https://github.com/xzhangxian1008) **tw@Oreoxmt** +* TiDB 的并行 HashAgg 算法支持数据落盘成为正式功能 (GA) [#35637](https://github.com/pingcap/tidb/issues/35637) @[xzhangxian1008](https://github.com/xzhangxian1008) TiDB v8.0.0 以实验特性引入了并行 HashAgg 算法支持数据落盘功能。在 v8.2.0 中,该功能成为正式功能 (GA)。TiDB 在使用并行 HashAgg 算法时,将根据内存使用情况自动触发数据落盘,从而兼顾查询性能和数据处理量。该功能默认开启,控制该功能的变量 `tidb_enable_parallel_hashagg_spill` 将在未来版本中废弃。 @@ -71,7 +71,7 @@ TiDB 版本:8.2.0 ### 稳定性 -* 统计信息加载效率提升 10 倍 [#52831](https://github.com/pingcap/tidb/issues/52831) @[hawkingrei](https://github.com/hawkingrei) **tw@hfxsd** +* 统计信息加载效率提升 10 倍 [#52831](https://github.com/pingcap/tidb/issues/52831) @[hawkingrei](https://github.com/hawkingrei) SaaS 或 PaaS 类业务应用中可能存在大量的数据表,这些表不但会拖慢初始统计信息的加载速度,也会增加高负载情况下同步负载的失败率。TiDB 的启动时间以及执行计划的准确性都会受到影响。在 v8.2.0 中,TiDB 从并发模型、内存分配方式等多个角度优化了统计信息的加载过程,降低延迟,提升吞吐,避免由于统计信息加载速度过慢,影响业务扩容。 @@ -81,7 +81,7 @@ TiDB 版本:8.2.0 ### 高可用 -* TiProxy 支持多种负载均衡策略 [#465](https://github.com/pingcap/tiproxy/issues/465) @[djshow832](https://github.com/djshow832) @[xhebox](https://github.com/xhebox) **tw@Oreoxmt** +* TiProxy 支持多种负载均衡策略 [#465](https://github.com/pingcap/tiproxy/issues/465) @[djshow832](https://github.com/djshow832) @[xhebox](https://github.com/xhebox) TiProxy 是 TiDB 的官方代理组件,位于客户端和 TiDB server 之间,为 TiDB 集群提供负载均衡和连接保持功能。在 v8.2.0 之前,TiProxy 默认使用 v1.0.0 版本,仅支持基于 TiDB server 状态和连接数的负载均衡策略。 @@ -97,7 +97,7 @@ TiDB 版本:8.2.0 ### SQL 功能 -* TiDB 支持 JSON Schema Validation 函数 [#52779](https://github.com/pingcap/tidb/issues/52779) @[dveeden](https://github.com/dveeden) **tw@hfxsd** +* TiDB 支持 JSON Schema Validation 函数 [#52779](https://github.com/pingcap/tidb/issues/52779) @[dveeden](https://github.com/dveeden) 在 v8.2.0 之前,你需要依赖外部工具或自定义验证逻辑进行 JSON 数据验证,开发和维护比较复杂,开发效率低。从 v8.2.0 版本开始,引入了 `JSON_SCHEMA_VALID()` 函数。通过在 `CHECK` 约束中使用 `JSON_SCHEMA_VALID()`,可以避免插入不符合要求的数据,而不是事后检查数据。你可以在 TiDB 中直接验证 JSON 数据的有效性,提高数据的完整性和一致性,提升了开发效率。 @@ -105,7 +105,7 @@ TiDB 版本:8.2.0 ### 数据库管理 -* TiUP 支持部署 PD 微服务 [#5766](https://github.com/tikv/pd/issues/5766) @[rleungx](https://github.com/rleungx) **tw@qiancai** +* TiUP 支持部署 PD 微服务 [#5766](https://github.com/tikv/pd/issues/5766) @[rleungx](https://github.com/rleungx) PD 从 v8.0.0 开始支持微服务模式。该模式通过将 PD 的时间戳分配和集群调度功能拆分为独立的服务进行部署和管理,可以更好地控制资源的使用和隔离,减少不同服务之间的相互影响。但是,在 v8.2.0 之前的版本中,PD 微服务仅支持通过 TiDB Operator 进行部署。 @@ -113,7 +113,7 @@ TiDB 版本:8.2.0 更多信息,请参考[用户文档](/pd-microservices.md)。 -* 为切换资源组的操作增加权限控制 [#53440](https://github.com/pingcap/tidb/issues/53440) @[glorv](https://github.com/glorv) **tw@lilin90** +* 为切换资源组的操作增加权限控制 [#53440](https://github.com/pingcap/tidb/issues/53440) @[glorv](https://github.com/glorv) TiDB 允许用户使用命令 [`SET RESOURCE GROUP`](/sql-statements/sql-statement-set-resource-group.md) 或 Hint [`RESOURCE_GROUP()`](/optimizer-hints.md#resource_groupresource_group_name) 切换到其他资源组,这可能会造成部分数据库用户对资源组的滥用。TiDB v8.2.0 增加了对资源组切换行为的管控,只有被授予动态权限 `RESOURCE_GROUP_ADMIN` 或者 `RESOURCE_GROUP_USER` 的数据库用户,才能切换到其他资源组,以加强对系统资源的保护。 @@ -123,7 +123,7 @@ TiDB 版本:8.2.0 ### 可观测性 -* 记录执行计划没有被缓存的原因 [#50618](https://github.com/pingcap/tidb/issues/50618) @[qw4990](https://github.com/qw4990) **tw@hfxsd** +* 记录执行计划没有被缓存的原因 [#50618](https://github.com/pingcap/tidb/issues/50618) @[qw4990](https://github.com/qw4990) 在一些场景下,用户希望多数执行计划能够被缓存,以节省执行开销,并降低延迟。目前执行计划缓存对 SQL 有一定限制,部分形态 SQL 的执行计划无法被缓存,但是用户很难识别出无法被缓存的 SQL 以及对应的原因。因此,从 v8.2.0 开始,为系统表 [`STATEMENTS_SUMMARY`](/statement-summary-tables.md) 增加了新的列 `PLAN_CACHE_UNQUALIFIED` 和 `PLAN_CACHE_UNQUALIFIED_LAST_REASON`,来解释计划无法被缓存的原因,协助用户进行性能调优。 @@ -131,7 +131,7 @@ TiDB 版本:8.2.0 ### 安全 -* 增强 TiFlash 日志脱敏 [#8977](https://github.com/pingcap/tiflash/issues/8977) @[JaySon-Huang](https://github.com/JaySon-Huang) **tw@Oreoxmt** +* 增强 TiFlash 日志脱敏 [#8977](https://github.com/pingcap/tiflash/issues/8977) @[JaySon-Huang](https://github.com/JaySon-Huang) TiDB v8.0.0 增强了日志脱敏功能,支持控制是否使用标记符号 `‹ ›` 包裹 TiDB 日志中的用户数据。基于标记后的日志,你可以在展示日志时决定是否对被标记信息进行脱敏处理,从而提升日志脱敏功能的灵活性。在 v8.2.0 中,TiFlash 进行了类似的日志脱敏功能增强。要使用该功能,可以将 TiFlash 配置项 `security.redact_info_log` 的值设置为 `marker`。 @@ -139,7 +139,7 @@ TiDB 版本:8.2.0 ### 数据迁移 -* 对齐不同 changefeed 的 Syncpoint [#11212](https://github.com/pingcap/tiflow/issues/11212) @[hongyunyan](https://github.com/hongyunyan) **tw@lilin90** +* 对齐不同 changefeed 的 Syncpoint [#11212](https://github.com/pingcap/tiflow/issues/11212) @[hongyunyan](https://github.com/hongyunyan) 在 v8.2.0 之前,对齐多个 changefeed 的 Syncpoint 很有挑战性。在创建 changefeed 时,必须谨慎选择 changefeed 的 `startTs`,以便与其他 changefeed 的 Syncpoint 对齐。从 v8.2.0 开始,为 changefeed 创建的 Syncpoint 是 changefeed 的 `sync-point-interval` 配置的倍数。这个调整可以让你对齐具有相同 `sync-point-interval` 配置的多个 changefeed 的 Syncpoint,简化和提高了对齐多个下游集群的能力。 @@ -157,7 +157,7 @@ TiDB 版本:8.2.0 * 使用 [`IMPORT INTO`](/sql-statements/sql-statement-import-into.md) 导入 CSV 文件时,如果指定 `SPLIT_FILE` 参数将一个大 CSV 文件切分为多个小 CSV 文件来提升并发和导入性能,需显式指定行结束符 `LINES_TERMINATED_BY`,参数的取值为 `\r`、`\n` 或 `\r\n`。如果没有指定行结束符,可能导致 CSV 文件数据解析异常。[#37338](https://github.com/pingcap/tidb/issues/37338) @[lance6716](https://github.com/lance6716) -* 在 BR v8.2.0 之前的版本中,当集群存在 TiCDC 同步任务时,BR 不支持进行[数据恢复](/br/backup-and-restore-overview.md)。从 BR 8.2.0 起,BR 数据恢复对 TiCDC 的限制被放宽:如果所恢复数据的 BackupTS(即备份时间)早于 Changefeed 的 [CheckpointTS](/ticdc/ticdc-architecture.md#checkpointts)(即记录当前同步进度的时间戳),BR 数据恢复可以正常进行。考虑到 BackupTS 的时间通常较早,此时可以认为绝大部分场景下,当集群存在 TiCDC 同步任务时,BR 都可以进行数据恢复。[#53131](https://github.com/pingcap/tidb/issues/53131) @[YuJuncen](https://github.com/YuJuncen) **tw@qiancai** +* 在 BR v8.2.0 之前的版本中,当集群存在 TiCDC 同步任务时,BR 不支持进行[数据恢复](/br/backup-and-restore-overview.md)。从 BR 8.2.0 起,BR 数据恢复对 TiCDC 的限制被放宽:如果所恢复数据的 BackupTS(即备份时间)早于 Changefeed 的 [CheckpointTS](/ticdc/ticdc-architecture.md#checkpointts)(即记录当前同步进度的时间戳),BR 数据恢复可以正常进行。考虑到 BackupTS 的时间通常较早,此时可以认为绝大部分场景下,当集群存在 TiCDC 同步任务时,BR 都可以进行数据恢复。[#53131](https://github.com/pingcap/tidb/issues/53131) @[YuJuncen](https://github.com/YuJuncen) ### MySQL 兼容性 @@ -167,12 +167,12 @@ TiDB 版本:8.2.0 | 变量名 | 修改类型 | 描述 | |--------|------------------------------|------| -| [`tidb_analyze_distsql_scan_concurrency`](/system-variables.md#tidb_analyze_distsql_scan_concurrency-从-v760-版本开始引入) | 修改 | 最小值从 `1` 改为 `0`。当设置为 `0` 时,TiDB 会根据集群规模自适应调整执行 `ANALYZE` 时 `scan` 操作的并发度。**tw@hfxsd** | -| [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) | 修改 | 从 v8.2.0 开始,默认设置下,TiDB 不会收集类型为 `MEDIUMTEXT` 和 `LONGTEXT` 的列,避免潜在的 OOM 风险。**tw@hfxsd** | -| [`tidb_enable_historical_stats`](/system-variables.md#tidb_enable_historical_stats) | 修改 | 默认值从 `ON` 修改为 `OFF`,即默认关闭历史统计信息,避免潜在的稳定性问题。 **tw@hfxsd** | +| [`tidb_analyze_distsql_scan_concurrency`](/system-variables.md#tidb_analyze_distsql_scan_concurrency-从-v760-版本开始引入) | 修改 | 最小值从 `1` 改为 `0`。当设置为 `0` 时,TiDB 会根据集群规模自适应调整执行 `ANALYZE` 时 `scan` 操作的并发度。| +| [`tidb_analyze_skip_column_types`](/system-variables.md#tidb_analyze_skip_column_types-从-v720-版本开始引入) | 修改 | 从 v8.2.0 开始,默认设置下,TiDB 不会收集类型为 `MEDIUMTEXT` 和 `LONGTEXT` 的列,避免潜在的 OOM 风险。| +| [`tidb_enable_historical_stats`](/system-variables.md#tidb_enable_historical_stats) | 修改 | 默认值从 `ON` 修改为 `OFF`,即默认关闭历史统计信息,避免潜在的稳定性问题。| | [`tidb_executor_concurrency`](/system-variables.md#tidb_executor_concurrency-从-v50-版本开始引入) | 修改 | 新增支持对 `sort` 算子的并发度进行设置。 | -| [`tidb_sysproc_scan_concurrency`](/system-variables.md#tidb_sysproc_scan_concurrency-从-v650-版本开始引入) | 修改 | 最小值从 `1` 改为 `0`。当设置为 `0` 时,TiDB 会根据集群规模自适应调整执行内部 SQL 语句时 `scan` 操作的并发度。**tw@hfxsd** | -| [`tidb_resource_control_strict_mode`](/system-variables.md#tidb_resource_control_strict_mode-从-v820-版本开始引入) | 新增 | [`SET RESOURCE GROUP`](/sql-statements/sql-statement-set-resource-group.md) 和优化器 [`RESOURCE_GROUP()`](/optimizer-hints.md#resource_groupresource_group_name) Hint 权限控制的开关。 **tw@lilin90** | +| [`tidb_sysproc_scan_concurrency`](/system-variables.md#tidb_sysproc_scan_concurrency-从-v650-版本开始引入) | 修改 | 最小值从 `1` 改为 `0`。当设置为 `0` 时,TiDB 会根据集群规模自适应调整执行内部 SQL 语句时 `scan` 操作的并发度。| +| [`tidb_resource_control_strict_mode`](/system-variables.md#tidb_resource_control_strict_mode-从-v820-版本开始引入) | 新增 | [`SET RESOURCE GROUP`](/sql-statements/sql-statement-set-resource-group.md) 和优化器 [`RESOURCE_GROUP()`](/optimizer-hints.md#resource_groupresource_group_name) Hint 权限控制的开关。| ### 配置文件参数 @@ -193,8 +193,8 @@ TiDB 版本:8.2.0 * 以下为从 v8.2.0 开始已废弃的功能: * 从 v8.2.0 开始,TiDB 的配置项 `enable-replica-selector-v2` 被废弃。向 TiKV 发送 RPC 请求时,默认使用新版本的 Region 副本选择器。 - * 从 v8.2.0 开始,BR 快照恢复参数 `--concurrency` 被废弃。作为替代,你可以通过 [`--tikv-max-restore-concurrency`](/br/use-br-command-line-tool.md#常用选项) 配置快照恢复阶段单个 TiKV 节点的任务最大并发数。 **tw@qiancai** - * 从 v8.2.0 开始,BR 快照恢复参数 `--granularity` 被废弃,[粗粒度打散 Region 算法](/br/br-snapshot-guide.md#恢复快照备份数据)默认启用。**tw@qiancai** + * 从 v8.2.0 开始,BR 快照恢复参数 `--concurrency` 被废弃。作为替代,你可以通过 [`--tikv-max-restore-concurrency`](/br/use-br-command-line-tool.md#常用选项) 配置快照恢复阶段单个 TiKV 节点的任务最大并发数。 + * 从 v8.2.0 开始,BR 快照恢复参数 `--granularity` 被废弃,[粗粒度打散 Region 算法](/br/br-snapshot-guide.md#恢复快照备份数据)默认启用。 * 以下为计划将在未来版本中废弃的功能: @@ -210,20 +210,20 @@ TiDB 版本:8.2.0 ## 改进提升 -+ TiDB ++ TiDB - 支持并行执行[逻辑 DDL 语句 (General DDL)](/ddl-introduction.md#ddl-语句类型简介)。相比 v8.1.0,在使用 10 个会话并发提交不同 DDL 语句的场景下,性能提升了 3 到 6 倍 [#53246](https://github.com/pingcap/tidb/issues/53246) @[D3Hunter](https://github.com/D3Hunter) - 改进形如 `((a = 1 and b = 2 and c > 3) or (a = 4 and b = 5 and c > 6)) and d > 3` 的表达式匹配多列索引的逻辑,使其能生成更加精准的 `Range` [#41598](https://github.com/pingcap/tidb/issues/41598) @[ghazalfamilyusa](https://github.com/ghazalfamilyusa) - - 优化对大数据量的表进行简单查询时获取数据分布信息的性能 [#53850](https://github.com/pingcap/tidb/issues/53850) @[you06](https://github.com/you06) **tw@Oreoxmt** - - 聚合的结果集能够作为 IndexJoin 的内表,使更多的复杂查询可以匹配到 IndexJoin,从而可以通过索引提升查询效率 [#37068](https://github.com/pingcap/tidb/issues/37068) @[elsa0520](https://github.com/elsa0520) **tw@hfxsd** + - 优化对大数据量的表进行简单查询时获取数据分布信息的性能 [#53850](https://github.com/pingcap/tidb/issues/53850) @[you06](https://github.com/you06) + - 聚合的结果集能够作为 IndexJoin 的内表,使更多的复杂查询可以匹配到 IndexJoin,从而可以通过索引提升查询效率 [#37068](https://github.com/pingcap/tidb/issues/37068) @[elsa0520](https://github.com/elsa0520) - 通过批量删除 TiFlash placement rule 的方式,提升对分区表执行 `TRUNCATE`、`DROP` 后数据 GC 的处理速度 [#54068](https://github.com/pingcap/tidb/issues/54068) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) - 升级 Azure Identity Libraries 和 Microsoft Authentication Library 的版本,增强安全性 [#53990](https://github.com/pingcap/tidb/issues/53990) @[hawkingrei](https://github.com/hawkingrei) - 将 `token-limit` 的最大值设置为 `1048576`,避免设置过大导致 TiDB Server OOM [#53312](https://github.com/pingcap/tidb/issues/53312) @[djshow832](https://github.com/djshow832) - 改进对于 MPP 执行计划的列裁剪功能,以提升 TiFlash MPP 的执行性能 [#52133](https://github.com/pingcap/tidb/issues/52133) @[yibin87](https://github.com/yibin87) - 优化 `IndexLookUp` 算子在回表数据量较多(大于 1024 行)时的性能开销 [#53871](https://github.com/pingcap/tidb/issues/53871) @[crazycs520](https://github.com/crazycs520) - - (dup): release-6.5.10.md > 改进提升> TiDB - 在 MPP 负载均衡时移除不包含任何 Region 的 Store [#52313](https://github.com/pingcap/tidb/issues/52313) @[xzhangxian1008](https://github.com/xzhangxian1008) + - 在 MPP 负载均衡时移除不包含任何 Region 的 Store [#52313](https://github.com/pingcap/tidb/issues/52313) @[xzhangxian1008](https://github.com/xzhangxian1008) -+ TiKV ++ TiKV - 增加 **Compaction Job Size(files)** 指标来呈现单个 compaction job 涉及的 SST 文件数 [#16837](https://github.com/tikv/tikv/issues/16837) @[zhangjinpeng87](https://github.com/zhangjinpeng87) - 默认开启[提前 apply](/tikv-configuration-file.md#max-apply-unpersisted-log-limit-从-v810-版本开始引入) 特性,开启后,Raft leader 在多数 peer 完成 Raft log 持久化之后即可进行 apply,不再要求 leader 自身完成 Raft log 的持久化,降低少数 TiKV 抖动对写请求延迟的影响 [#16717](https://github.com/tikv/tikv/issues/16717) @[glorv](https://github.com/glorv) @@ -233,12 +233,12 @@ TiDB 版本:8.2.0 - 利用单独的线程来进行副本清理工作,保证 Raft 读写关键路径的延迟稳定 [#16001](https://github.com/tikv/tikv/issues/16001) @[hbisheng](https://github.com/hbisheng) - 提升正在进行 apply 的 Raft 快照数量的可观测性 [#17078](https://github.com/tikv/tikv/issues/17078) @[hbisheng](https://github.com/hbisheng) -+ PD ++ PD - 优化提升 Region 心跳处理的性能 [#7897](https://github.com/tikv/pd/issues/7897) @[nolouch](https://github.com/nolouch) @[rleungx](https://github.com/rleungx) @[JmPotato](https://github.com/JmPotato) - pd-ctl 支持通过 byte 或 query 维度来查询热点 Region [#7369](https://github.com/tikv/pd/issues/7369) @[lhy1024](https://github.com/lhy1024) -+ TiFlash ++ TiFlash - 减少数据高并发读取下的锁冲突,优化短查询性能 [#9125](https://github.com/pingcap/tiflash/issues/9125) @[JinheLin](https://github.com/JinheLin) - 消除 `Join` 算子中对于 Join Key 的冗余拷贝 [#9057](https://github.com/pingcap/tiflash/issues/9057) @[gengliqi](https://github.com/gengliqi) @@ -247,11 +247,11 @@ TiDB 版本:8.2.0 + Tools - + Backup & Restore (BR) + + Backup & Restore (BR) - - 优化备份功能,提升在大量表备份过程中遇到节点重启、扩容或网络抖动时的备份性能和稳定性 [#52534](https://github.com/pingcap/tidb/issues/52534) @[3pointer](https://github.com/3pointer) **tw@qiancai** - - 优化恢复过程中对 TiCDC Changefeed 的细粒度检查,如果 Changefeed 的 [CheckpointTS](/ticdc/ticdc-architecture.md#checkpointts) 晚于数据的备份时间,则不会影响恢复操作,从而减少不必要的等待时间,提升用户体验 [#53131](https://github.com/pingcap/tidb/issues/53131) @[YuJuncen](https://github.com/YuJuncen) **tw@qiancai** - - 为 [`BACKUP`](/sql-statements/sql-statement-backup.md) 语句和 [`RESTORE`](/sql-statements/sql-statement-restore.md) 语句添加了多个常用参数选项,例如 `CHECKSUM_CONCURRENCY` [#53040](https://github.com/pingcap/tidb/issues/53040) @[RidRisR](https://github.com/RidRisR) **tw@qiancai** + - 优化备份功能,提升在大量表备份过程中遇到节点重启、扩容或网络抖动时的备份性能和稳定性 [#52534](https://github.com/pingcap/tidb/issues/52534) @[3pointer](https://github.com/3pointer) + - 优化恢复过程中对 TiCDC Changefeed 的细粒度检查,如果 Changefeed 的 [CheckpointTS](/ticdc/ticdc-architecture.md#checkpointts) 晚于数据的备份时间,则不会影响恢复操作,从而减少不必要的等待时间,提升用户体验 [#53131](https://github.com/pingcap/tidb/issues/53131) @[YuJuncen](https://github.com/YuJuncen) + - 为 [`BACKUP`](/sql-statements/sql-statement-backup.md) 语句和 [`RESTORE`](/sql-statements/sql-statement-restore.md) 语句添加了多个常用参数选项,例如 `CHECKSUM_CONCURRENCY` [#53040](https://github.com/pingcap/tidb/issues/53040) @[RidRisR](https://github.com/RidRisR) - 去掉除了 `br log restore` 子命令之外其它 `br log` 子命令对 TiDB `domain` 数据结构的载入,降低内存消耗 [#52088](https://github.com/pingcap/tidb/issues/52088) @[Leavrth](https://github.com/Leavrth) - 支持对日志备份过程中生成的临时文件进行加密 [#15083](https://github.com/tikv/tikv/issues/15083) @[YuJuncen](https://github.com/YuJuncen) - 在 Grafana 面板中新增 `tikv_log_backup_pending_initial_scan` 监控指标 [#16656](https://github.com/tikv/tikv/issues/16656) @[3pointer](https://github.com/3pointer) @@ -259,11 +259,11 @@ TiDB 版本:8.2.0 + TiCDC - - (dup): release-6.5.10.md > 改进提升> Tools> TiCDC - 支持当下游为消息队列 (Message Queue, MQ) 或存储服务时直接输出原始事件 [#11211](https://github.com/pingcap/tiflow/issues/11211) @[CharlesCheung96](https://github.com/CharlesCheung96) + - 支持当下游为消息队列 (Message Queue, MQ) 或存储服务时直接输出原始事件 [#11211](https://github.com/pingcap/tiflow/issues/11211) @[CharlesCheung96](https://github.com/CharlesCheung96) ## 错误修复 -+ TiDB ++ TiDB - 修复当 SQL 语句包含 Outer Join,且 Join 条件包含 `false IN (column_name)` 表达式时,查询结果缺少部分数据的问题 [#49476](https://github.com/pingcap/tidb/issues/49476) @[ghazalfamilyusa](https://github.com/ghazalfamilyusa) - 在收集表中 `PREDICATE COLUMNS` 的统计信息时,不再收集系统表中列的统计信息 [#53403](https://github.com/pingcap/tidb/issues/53403) @[hi-rustin](https://github.com/hi-rustin) @@ -273,26 +273,26 @@ TiDB 版本:8.2.0 - 修复在自动收集统计信息时,系统变量 `tidb_enable_async_merge_global_stats` 和 `tidb_analyze_partition_concurrency` 未生效的问题 [#53972](https://github.com/pingcap/tidb/issues/53972) @[hi-rustin](https://github.com/hi-rustin) - 修复查询 `TABLESAMPLE` 时可能遇到 `plan not supported` 报错的问题 [#54015](https://github.com/pingcap/tidb/issues/54015) @[tangenta](https://github.com/tangenta) - 修复执行 `SELECT DISTINCT CAST(col AS DECIMAL), CAST(col AS SIGNED) FROM ...` 查询时结果出错的问题 [#53726](https://github.com/pingcap/tidb/issues/53726) @[hawkingrei](https://github.com/hawkingrei) - - 修复在客户端读取数据超时后查询无法被终止的问题 [#44009](https://github.com/pingcap/tidb/issues/44009) @[wshwsh12](https://github.com/wshwsh12) **tw@Oreoxmt** - - (dup): release-6.5.10.md > 错误修复> TiDB - 修复 `Longlong` 类型在谓词中溢出的问题 [#45783](https://github.com/pingcap/tidb/issues/45783) @[hawkingrei](https://github.com/hawkingrei) - - (dup): release-7.1.5.md > 错误修复> TiDB - 修复窗口函数中有某些子查询时可能会 panic 的问题 [#42734](https://github.com/pingcap/tidb/issues/42734) @[hi-rustin](https://github.com/hi-rustin) - - (dup): release-6.5.10.md > 错误修复> TiDB - 修复 TopN 算子可能被错误地下推的问题 [#37986](https://github.com/pingcap/tidb/issues/37986) @[qw4990](https://github.com/qw4990) - - (dup): release-7.5.2.md > 错误修复> TiDB - 修复在聚簇索引作为谓词时 `SELECT INTO OUTFILE` 不生效的问题 [#42093](https://github.com/pingcap/tidb/issues/42093) @[qw4990](https://github.com/qw4990) - - (dup): release-6.5.10.md > 错误修复> TiDB - 修复 information schema 缓存未命中导致 stale read 查询延迟上升的问题 [#53428](https://github.com/pingcap/tidb/issues/53428) @[crazycs520](https://github.com/crazycs520) - - (dup): release-6.5.10.md > 错误修复> TiDB - 修复 `YEAR` 类型的列与超出范围的无符号整数进行比较导致错误结果的问题 [#50235](https://github.com/pingcap/tidb/issues/50235) @[qw4990](https://github.com/qw4990) - - (dup): release-6.5.10.md > 错误修复> TiDB - 修复重启 TiDB 后,主键列统计信息中的直方图和 TopN 未被加载的问题 [#37548](https://github.com/pingcap/tidb/issues/37548) @[hawkingrei](https://github.com/hawkingrei) - - (dup): release-7.5.2.md > 错误修复> TiDB - 修复 Massively Parallel Processing (MPP) 中 `final` AggMode 和 `non-final` AggMode 无法共存的问题 [#51362](https://github.com/pingcap/tidb/issues/51362) @[AilinKid](https://github.com/AilinKid) - - (dup): release-6.5.10.md > 错误修复> TiDB - 修复执行谓词总是为 `true` 的 `SHOW ERRORS` 语句导致 TiDB panic 的问题 [#46962](https://github.com/pingcap/tidb/issues/46962) @[elsa0520](https://github.com/elsa0520) - - (dup): release-6.5.10.md > 错误修复> TiDB - 修复在递归 CTE 中无法使用视图的问题 [#49721](https://github.com/pingcap/tidb/issues/49721) @[hawkingrei](https://github.com/hawkingrei) - - (dup): release-7.5.2.md > 错误修复> TiDB - 修复 TiDB 启动加载统计信息时可能因为 GC 推进报错的问题 [#53592](https://github.com/pingcap/tidb/issues/53592) @[you06](https://github.com/you06) - - (dup): release-6.5.10.md > 错误修复> TiDB - 修复使用 `PREPARE`/`EXECUTE` 方式执行带 `CONV` 表达式的语句,且 `CONV` 表达式包含 `?` 参数时,多次执行可能导致查询结果错误的问题 [#53505](https://github.com/pingcap/tidb/issues/53505) @[qw4990](https://github.com/qw4990) - - (dup): release-6.5.10.md > 错误修复> TiDB - 修复将数据从 `FLOAT` 类型转换为 `UNSIGNED` 类型时结果错误的问题 [#41736](https://github.com/pingcap/tidb/issues/41736) @[guo-shaoge](https://github.com/guo-shaoge) - - (dup): release-6.5.10.md > 错误修复> TiDB - 修复创建带有外键的表时,TiDB 未创建对应的统计信息元信息 (`stats_meta`) 的问题 [#53652](https://github.com/pingcap/tidb/issues/53652) @[hawkingrei](https://github.com/hawkingrei) - - (dup): release-6.5.10.md > 错误修复> TiDB - 修复查询中的某些过滤条件可能导致 planner 模块发生 `invalid memory address or nil pointer dereference` 报错的问题 [#53582](https://github.com/pingcap/tidb/issues/53582) [#53580](https://github.com/pingcap/tidb/issues/53580) [#53594](https://github.com/pingcap/tidb/issues/53594) [#53603](https://github.com/pingcap/tidb/issues/53603) @[YangKeao](https://github.com/YangKeao) - - (dup): release-6.5.10.md > 错误修复> TiDB - 修复并发执行 `CREATE OR REPLACE VIEW` 可能报错 `table doesn't exist` 的问题 [#53673](https://github.com/pingcap/tidb/issues/53673) @[tangenta](https://github.com/tangenta) - - (dup): release-6.5.10.md > 错误修复> TiDB - 修复 `INFORMATION_SCHEMA.TIDB_TRX` 表中 `STATE` 字段的 `size` 未定义导致 `STATE` 显示为空的问题 [#53026](https://github.com/pingcap/tidb/issues/53026) @[cfzjywxk](https://github.com/cfzjywxk) - - (dup): release-6.5.10.md > 错误修复> TiDB - 修复关闭 `tidb_enable_async_merge_global_stats` 时,GlobalStats 中的 `Distinct_count` 信息可能错误的问题 [#53752](https://github.com/pingcap/tidb/issues/53752) @[hawkingrei](https://github.com/hawkingrei) - - (dup): release-6.5.10.md > 错误修复> TiDB - 修复使用 Optimizer Hints 时,可能输出错误的 WARNINGS 信息的问题 [#53767](https://github.com/pingcap/tidb/issues/53767) @[hawkingrei](https://github.com/hawkingrei) + - 修复在客户端读取数据超时后查询无法被终止的问题 [#44009](https://github.com/pingcap/tidb/issues/44009) @[wshwsh12](https://github.com/wshwsh12) + - 修复 `Longlong` 类型在谓词中溢出的问题 [#45783](https://github.com/pingcap/tidb/issues/45783) @[hawkingrei](https://github.com/hawkingrei) + - 修复窗口函数中有某些子查询时可能会 panic 的问题 [#42734](https://github.com/pingcap/tidb/issues/42734) @[hi-rustin](https://github.com/hi-rustin) + - 修复 TopN 算子可能被错误地下推的问题 [#37986](https://github.com/pingcap/tidb/issues/37986) @[qw4990](https://github.com/qw4990) + - 修复在聚簇索引作为谓词时 `SELECT INTO OUTFILE` 不生效的问题 [#42093](https://github.com/pingcap/tidb/issues/42093) @[qw4990](https://github.com/qw4990) + - 修复 information schema 缓存未命中导致 stale read 查询延迟上升的问题 [#53428](https://github.com/pingcap/tidb/issues/53428) @[crazycs520](https://github.com/crazycs520) + - 修复 `YEAR` 类型的列与超出范围的无符号整数进行比较导致错误结果的问题 [#50235](https://github.com/pingcap/tidb/issues/50235) @[qw4990](https://github.com/qw4990) + - 修复重启 TiDB 后,主键列统计信息中的直方图和 TopN 未被加载的问题 [#37548](https://github.com/pingcap/tidb/issues/37548) @[hawkingrei](https://github.com/hawkingrei) + - 修复 Massively Parallel Processing (MPP) 中 `final` AggMode 和 `non-final` AggMode 无法共存的问题 [#51362](https://github.com/pingcap/tidb/issues/51362) @[AilinKid](https://github.com/AilinKid) + - 修复执行谓词总是为 `true` 的 `SHOW ERRORS` 语句导致 TiDB panic 的问题 [#46962](https://github.com/pingcap/tidb/issues/46962) @[elsa0520](https://github.com/elsa0520) + - 修复在递归 CTE 中无法使用视图的问题 [#49721](https://github.com/pingcap/tidb/issues/49721) @[hawkingrei](https://github.com/hawkingrei) + - 修复 TiDB 启动加载统计信息时可能因为 GC 推进报错的问题 [#53592](https://github.com/pingcap/tidb/issues/53592) @[you06](https://github.com/you06) + - 修复使用 `PREPARE`/`EXECUTE` 方式执行带 `CONV` 表达式的语句,且 `CONV` 表达式包含 `?` 参数时,多次执行可能导致查询结果错误的问题 [#53505](https://github.com/pingcap/tidb/issues/53505) @[qw4990](https://github.com/qw4990) + - 修复将数据从 `FLOAT` 类型转换为 `UNSIGNED` 类型时结果错误的问题 [#41736](https://github.com/pingcap/tidb/issues/41736) @[guo-shaoge](https://github.com/guo-shaoge) + - 修复创建带有外键的表时,TiDB 未创建对应的统计信息元信息 (`stats_meta`) 的问题 [#53652](https://github.com/pingcap/tidb/issues/53652) @[hawkingrei](https://github.com/hawkingrei) + - 修复查询中的某些过滤条件可能导致 planner 模块发生 `invalid memory address or nil pointer dereference` 报错的问题 [#53582](https://github.com/pingcap/tidb/issues/53582) [#53580](https://github.com/pingcap/tidb/issues/53580) [#53594](https://github.com/pingcap/tidb/issues/53594) [#53603](https://github.com/pingcap/tidb/issues/53603) @[YangKeao](https://github.com/YangKeao) + - 修复并发执行 `CREATE OR REPLACE VIEW` 可能报错 `table doesn't exist` 的问题 [#53673](https://github.com/pingcap/tidb/issues/53673) @[tangenta](https://github.com/tangenta) + - 修复 `INFORMATION_SCHEMA.TIDB_TRX` 表中 `STATE` 字段的 `size` 未定义导致 `STATE` 显示为空的问题 [#53026](https://github.com/pingcap/tidb/issues/53026) @[cfzjywxk](https://github.com/cfzjywxk) + - 修复关闭 `tidb_enable_async_merge_global_stats` 时,GlobalStats 中的 `Distinct_count` 信息可能错误的问题 [#53752](https://github.com/pingcap/tidb/issues/53752) @[hawkingrei](https://github.com/hawkingrei) + - 修复使用 Optimizer Hints 时,可能输出错误的 WARNINGS 信息的问题 [#53767](https://github.com/pingcap/tidb/issues/53767) @[hawkingrei](https://github.com/hawkingrei) - 修复对时间类型执行取负操作结果不正确的问题 [#52262](https://github.com/pingcap/tidb/issues/52262) @[solotzg](https://github.com/solotzg) - 修复 `REGEXP()` 函数对空模式参数未显式报错的问题 [#53221](https://github.com/pingcap/tidb/issues/53221) @[yibin87](https://github.com/yibin87) - 修复将 JSON 转换为时间格式在某些情况下可能会丢失精度的问题 [#53352](https://github.com/pingcap/tidb/issues/53352) @[YangKeao](https://github.com/YangKeao) @@ -314,7 +314,7 @@ TiDB 版本:8.2.0 - 修复 `memory_quota` Hint 在子查询中可能不生效的问题 [#53834](https://github.com/pingcap/tidb/issues/53834) @[qw4990](https://github.com/qw4990) - 修复在某些情况下,元数据锁使用不当可能导致使用 plan cache 时写入异常数据的问题 [#53634](https://github.com/pingcap/tidb/issues/53634) @[zimulala](https://github.com/zimulala) -+ TiKV ++ TiKV - 修复将 `JSON_ARRAY_APPEND()` 函数下推至 TiKV 导致 TiKV panic 的问题 [#16930](https://github.com/tikv/tikv/issues/16930) @[dbsid](https://github.com/dbsid) - 修复 leader 未及时清理发送失败的 snapshot 文件的问题 [#16976](https://github.com/tikv/tikv/issues/16976) @[hbisheng](https://github.com/hbisheng) @@ -323,59 +323,59 @@ TiDB 版本:8.2.0 - 修复执行 `make docker` 和 `make docker_test` 失败的问题 [#17075](https://github.com/tikv/tikv/issues/17075) @[shunki-fujita](https://github.com/shunki-fujita) - 修复 **gRPC request sources duration** 在监控中显示错误的问题 [#17133](https://github.com/tikv/tikv/issues/17133) @[King-Dylan](https://github.com/King-Dylan) - 修复设置 gRPC 消息的压缩算法 (`grpc-compression-type`) 对 TiKV 发送到 TiDB 的消息不起作用的问题 [#17176](https://github.com/tikv/tikv/issues/17176) @[ekexium](https://github.com/ekexium) - - (dup): release-7.5.2.md > 错误修复> TiKV - 修复 tikv-ctl 的 `raft region` 命令的输出中未包含 Region 状态信息的问题 [#17037](https://github.com/tikv/tikv/issues/17037) @[glorv](https://github.com/glorv) + - 修复 tikv-ctl 的 `raft region` 命令的输出中未包含 Region 状态信息的问题 [#17037](https://github.com/tikv/tikv/issues/17037) @[glorv](https://github.com/glorv) - 修复 `advance-ts-interval` 配置未被用于限制 CDC 和 log-backup 模块中 `check_leader` 操作的 timeout,导致在某些情况下 TiKV 正常重启时 `resolved_ts` lag 过大的问题 [#17107](https://github.com/tikv/tikv/issues/17107) @[MyonKeminta](https://github.com/MyonKeminta) + PD - - (dup): release-7.5.2.md > 错误修复> PD - 修复 `ALTER PLACEMENT POLICY` 无法修改 placement policy 的问题 [#52257](https://github.com/pingcap/tidb/issues/52257) [#51712](https://github.com/pingcap/tidb/issues/51712) @[jiyfhust](https://github.com/jiyfhust) - - (dup): release-7.1.5.md > 错误修复> PD - 修复写热点调度可能会违反放置策略 (placement policy) 约束的问题 [#7848](https://github.com/tikv/pd/issues/7848) @[lhy1024](https://github.com/lhy1024) - - (dup): release-6.5.10.md > 错误修复> PD - 修复使用 Placement Rules 的情况下,down peer 可能无法恢复的问题 [#7808](https://github.com/tikv/pd/issues/7808) @[rleungx](https://github.com/rleungx) - - (dup): release-7.5.2.md > 错误修复> PD - 修复取消资源组查询导致大量重试的问题 [#8217](https://github.com/tikv/pd/issues/8217) @[nolouch](https://github.com/nolouch) - - (dup): release-7.5.2.md > 错误修复> PD - 修复手动切换 PD leader 可能失败的问题 [#8225](https://github.com/tikv/pd/issues/8225) @[HuSharp](https://github.com/HuSharp) + - 修复 `ALTER PLACEMENT POLICY` 无法修改 placement policy 的问题 [#52257](https://github.com/pingcap/tidb/issues/52257) [#51712](https://github.com/pingcap/tidb/issues/51712) @[jiyfhust](https://github.com/jiyfhust) + - 修复写热点调度可能会违反放置策略 (placement policy) 约束的问题 [#7848](https://github.com/tikv/pd/issues/7848) @[lhy1024](https://github.com/lhy1024) + - 修复使用 Placement Rules 的情况下,down peer 可能无法恢复的问题 [#7808](https://github.com/tikv/pd/issues/7808) @[rleungx](https://github.com/rleungx) + - 修复取消资源组查询导致大量重试的问题 [#8217](https://github.com/tikv/pd/issues/8217) @[nolouch](https://github.com/nolouch) + - 修复手动切换 PD leader 可能失败的问题 [#8225](https://github.com/tikv/pd/issues/8225) @[HuSharp](https://github.com/HuSharp) -+ TiFlash ++ TiFlash - - (dup): release-7.5.2.md > 错误修复> TiFlash - 修复在含空分区的分区表上执行查询时,可能会超时的问题 [#9024](https://github.com/pingcap/tiflash/issues/9024) @[JinheLin](https://github.com/JinheLin) - - (dup): release-7.5.2.md > 错误修复> TiFlash - 修复在存算分离架构下,DDL 新增带有 not null 属性的列后,查询可能返回错误的 null 值的问题 [#9084](https://github.com/pingcap/tiflash/issues/9084) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) - - (dup): release-6.5.10.md > 错误修复> TiFlash - 修复函数 `SUBSTRING_INDEX()` 可能导致 TiFlash Crash 的问题 [#9116](https://github.com/pingcap/tiflash/issues/9116) @[wshwsh12](https://github.com/wshwsh12) + - 修复在含空分区的分区表上执行查询时,可能会超时的问题 [#9024](https://github.com/pingcap/tiflash/issues/9024) @[JinheLin](https://github.com/JinheLin) + - 修复在存算分离架构下,DDL 新增带有 not null 属性的列后,查询可能返回错误的 null 值的问题 [#9084](https://github.com/pingcap/tiflash/issues/9084) @[Lloyd-Pottiger](https://github.com/Lloyd-Pottiger) + - 修复函数 `SUBSTRING_INDEX()` 可能导致 TiFlash Crash 的问题 [#9116](https://github.com/pingcap/tiflash/issues/9116) @[wshwsh12](https://github.com/wshwsh12) - 修复通过 BR 或 TiDB Lightning 导入数据后,FastScan 模式下可能读到大量重复行数据的问题 [#9118](https://github.com/pingcap/tiflash/issues/9118) @[JinheLin](https://github.com/JinheLin) + Tools - + Backup & Restore (BR) + + Backup & Restore (BR) - - (dup): release-7.5.2.md > 错误修复> Tools> Backup & Restore (BR) - 修复由于 `EndKey` 为空导致恢复事务 KV 集群失败的问题 [#52574](https://github.com/pingcap/tidb/issues/52574) @[3pointer](https://github.com/3pointer) - - (dup): release-6.5.10.md > 错误修复> Tools> Backup & Restore (BR) - 修复 PD 连接失败导致日志备份 advancer owner 所在的 TiDB 可能崩溃的问题 [#52597](https://github.com/pingcap/tidb/issues/52597) @[YuJuncen](https://github.com/YuJuncen) - - (dup): release-6.5.10.md > 错误修复> Tools> Backup & Restore (BR) - 修复日志备份在 advancer owner 发生迁移后可能被暂停的问题 [#53561](https://github.com/pingcap/tidb/issues/53561) @[RidRisR](https://github.com/RidRisR) - - (dup): release-6.5.10.md > 错误修复> Tools> Backup & Restore (BR) - 修复在恢复过程中,由于多层重试导致 BR 无法正确识别错误的问题 [#54053](https://github.com/pingcap/tidb/issues/54053) @[RidRisR](https://github.com/RidRisR) + - 修复由于 `EndKey` 为空导致恢复事务 KV 集群失败的问题 [#52574](https://github.com/pingcap/tidb/issues/52574) @[3pointer](https://github.com/3pointer) + - 修复 PD 连接失败导致日志备份 advancer owner 所在的 TiDB 可能崩溃的问题 [#52597](https://github.com/pingcap/tidb/issues/52597) @[YuJuncen](https://github.com/YuJuncen) + - 修复日志备份在 advancer owner 发生迁移后可能被暂停的问题 [#53561](https://github.com/pingcap/tidb/issues/53561) @[RidRisR](https://github.com/RidRisR) + - 修复在恢复过程中,由于多层重试导致 BR 无法正确识别错误的问题 [#54053](https://github.com/pingcap/tidb/issues/54053) @[RidRisR](https://github.com/RidRisR) - 修复用于获取 TiKV 配置的连接可能未被关闭的问题 [#52595](https://github.com/pingcap/tidb/issues/52595) @[RidRisR](https://github.com/RidRisR) - 修复测试用例 `TestStoreRemoved` 不稳定的问题 [#52791](https://github.com/pingcap/tidb/issues/52791) @[YuJuncen](https://github.com/YuJuncen) - 修复 PITR 恢复过程中 TiFlash 崩溃的问题 [#52628](https://github.com/pingcap/tidb/issues/52628) @[RidRisR](https://github.com/RidRisR) - 修复增量备份过程中扫描 DDL 作业的效率较低的问题 [#54139](https://github.com/pingcap/tidb/issues/54139) @[3pointer](https://github.com/3pointer) - 修复断点备份过程中查找 Region leader 中断导致备份性能受影响问题 [#17168](https://github.com/tikv/tikv/issues/17168) @[Leavrth](https://github.com/Leavrth) - + TiCDC + + TiCDC - 修复 Grafana 监控中的 **Kafka Outgoing Bytes** 面板显示不准确的问题 [#10777](https://github.com/pingcap/tiflow/issues/10777) @[asddongmen](https://github.com/asddongmen) - 修复在多节点环境下进行大量 `UPDATE` 操作时,反复重启 Changefeed 可能导致的数据不一致问题 [#11219](https://github.com/pingcap/tiflow/issues/11219) @[lidezhu](https://github.com/lidezhu) - + TiDB Data Migration (DM) + + TiDB Data Migration (DM) - - (dup): release-7.5.2.md > 错误修复> Tools> TiDB Data Migration (DM) - 升级 `go-mysql` 以修复连接阻塞的问题 [#11041](https://github.com/pingcap/tiflow/issues/11041) @[D3Hunter](https://github.com/D3Hunter) + - 升级 `go-mysql` 以修复连接阻塞的问题 [#11041](https://github.com/pingcap/tiflow/issues/11041) @[D3Hunter](https://github.com/D3Hunter) - 修复同步 MariaDB 数据时 `SET` 语句导致 DM panic 的问题 [#10206](https://github.com/pingcap/tiflow/issues/10206) @[dveeden](https://github.com/dveeden) - + TiDB Lightning + + TiDB Lightning - 修复 TiDB Lightning 导入 zstd 压缩文件时可能报错的问题 [#53587](https://github.com/pingcap/tidb/issues/53587) @[lance6716](https://github.com/lance6716) + Dumpling - - (dup): release-6.5.10.md > 错误修复> Tools> Dumpling - 修复 Dumpling 在同时导出表和视图时报错的问题 [#53682](https://github.com/pingcap/tidb/issues/53682) @[tangenta](https://github.com/tangenta) + - 修复 Dumpling 在同时导出表和视图时报错的问题 [#53682](https://github.com/pingcap/tidb/issues/53682) @[tangenta](https://github.com/tangenta) + TiDB Binlog - - (dup): release-6.5.10.md > 错误修复> Tools> TiDB Binlog - 修复开启 TiDB Binlog 后,在 `ADD COLUMN` 执行过程中删除行可能报错 `data and columnID count not match` 的问题 [#53133](https://github.com/pingcap/tidb/issues/53133) @[tangenta](https://github.com/tangenta) + - 修复开启 TiDB Binlog 后,在 `ADD COLUMN` 执行过程中删除行可能报错 `data and columnID count not match` 的问题 [#53133](https://github.com/pingcap/tidb/issues/53133) @[tangenta](https://github.com/tangenta) ## 贡献者 diff --git a/releases/release-notes.md b/releases/release-notes.md index 1a1ba41afef7..45691a65dd8b 100644 --- a/releases/release-notes.md +++ b/releases/release-notes.md @@ -10,6 +10,10 @@ summary: 介绍 TiDB 版本发布历史。 TiDB 历史版本发布声明如下: +## 8.2 + +- [8.2.0-DMR](/releases/release-8.2.0.md): 2024-07-11 + ## 8.1 - [8.1.0](/releases/release-8.1.0.md): 2024-05-24 diff --git a/releases/release-timeline.md b/releases/release-timeline.md index b8f4c8656dfc..0fae877f4e96 100644 --- a/releases/release-timeline.md +++ b/releases/release-timeline.md @@ -11,6 +11,7 @@ summary: 了解 TiDB 的版本发布时间线。 | 版本 | 发布日期 | | :--- | :--- | +| [8.2.0-DMR](/releases/release-8.2.0.md) | 2024-07-11 | | [6.5.10](/releases/release-6.5.10.md) | 2024-06-20 | | [7.5.2](/releases/release-7.5.2.md) | 2024-06-13 | | [8.1.0](/releases/release-8.1.0.md) | 2024-05-24 |