From d0b19424bc37fbe079475dc9d06f53c8bf10a150 Mon Sep 17 00:00:00 2001 From: Aolin Date: Fri, 20 Oct 2023 13:35:18 +0800 Subject: [PATCH 01/93] add release notes for v7.5.0 Signed-off-by: Aolin --- releases/release-7.5.0.md | 248 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 248 insertions(+) create mode 100644 releases/release-7.5.0.md diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md new file mode 100644 index 000000000000..5a61154d0687 --- /dev/null +++ b/releases/release-7.5.0.md @@ -0,0 +1,248 @@ +--- +title: TiDB 7.5.0 Release Notes +summary: 了解 TiDB 7.5.0 版本的新功能、兼容性变更、改进提升,以及错误修复。 +--- + +# TiDB 7.5.0 Release Notes + +发版日期:2023 年 x 月 x 日 + +TiDB 版本:7.5.0 + +试用链接:[快速体验](https://docs.pingcap.com/zh/tidb/v7.5/quick-start-with-tidb) | [生产部署](https://docs.pingcap.com/zh/tidb/v7.5/production-deployment-using-tiup) | [下载离线包](https://cn.pingcap.com/product-community/?version=v7.5.0#version-list) + +TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + +相比于前一个 LTS(即 7.1.0 版本),7.5.0 版本包含 [7.2.0-DMR](/releases/release-7.2.0.md)、[7.3.0-DMR](/releases/release-7.3.0.md) 和 [7.4.0-DMR](/releases/release-7.4.0.md) 中已发布的新功能、提升改进和错误修复,并引入了以下关键特性: + +## 功能详情 + +### 可扩展性 + +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +### 性能 + +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +### 稳定性 + +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +### 高可用 + +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +### SQL 功能 + +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +### 数据库管理 + +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +### 可观测性 + +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +### 安全 + +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +### 数据迁移 + +* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) + + 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + + 更多信息,请参考[用户文档](链接)。 + +## 兼容性变更 + +> **注意:** +> +> 以下为从 v7.4.0 升级至当前版本 (v7.5.0) 所需兼容性变更信息。如果从 v7.3.0 或之前版本升级到当前版本,可能也需要考虑和查看中间版本 Release Notes 中提到的兼容性变更信息。 + +### 行为变更 + +* 行为变更 1 + +* 行为变更 2 + +### MySQL 兼容性 + +* 兼容性 1 + +* 兼容性 2 + +### 系统变量 + +| 变量名 | 修改类型(包括新增/修改/删除) | 描述 | +|--------|------------------------------|------| +| | | | +| | | | +| | | | +| | | | + +### 配置文件参数 + +| 配置文件 | 配置项 | 修改类型 | 描述 | +| -------- | -------- | -------- | -------- | +| | | | | +| | | | | +| | | | | +| | | | | + +### 其他 + +## 离线包变更 + +## 废弃功能 + +* 废弃功能 1 + +* 废弃功能 2 + +* 废弃功能 3 + +* 废弃功能 4 + +## 改进提升 + ++ 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 v7.5.0 的性能表现,你可以参考 TiDB Dedicated 集群的 [TPC-C 性能测试报告](https://docs.pingcap.com/tidbcloud/v7.5.0-performance-benchmarking-with-tpcc)和 [Sysbench 性能测试报告](https://docs.pingcap.com/tidbcloud/v7.5.0-performance-benchmarking-with-sysbench)(英文版)。 + +## 贡献者 + +感谢来自 TiDB 社区的贡献者们: + +- [贡献者 GitHub ID]() \ No newline at end of file From c7ffcf7ac0a9073d564d743bb525d9c4a135d0ce Mon Sep 17 00:00:00 2001 From: Roger Song Date: Fri, 27 Oct 2023 16:10:36 +0800 Subject: [PATCH 02/93] deprecated optimizer features --- releases/release-7.5.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 5a61154d0687..99981bb69ff9 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -131,9 +131,9 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ## 废弃功能 -* 废弃功能 1 +* 统计信息的[快速分析](https://docs.pingcap.com/zh/tidb/v7.3/system-variables#tidb_enable_fast_analyze)(实验特性)在 v7.5.0 中废弃。 -* 废弃功能 2 +* 统计信息的[增量收集](https://docs.pingcap.com/zh/tidb/v7.3/statistics#增量收集)(实验特性)在 v7.5.0 中废弃。 * 废弃功能 3 From edeaa4eed22a21e91d6ab5b8b6449e46110137d5 Mon Sep 17 00:00:00 2001 From: Aolin Date: Mon, 30 Oct 2023 14:42:52 +0800 Subject: [PATCH 03/93] add "BR supports backup/restore statistics" and "Deprecation of Binlog as a Data Synchronization Tool" Co-authored-by: Cathy <24819510+benmaoer@users.noreply.github.com> --- releases/release-7.5.0.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 99981bb69ff9..fe5359700436 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -65,6 +65,11 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 更多信息,请参考[用户文档](链接)。 +* BR 支持备份和恢复表统计信息 [#issue号](链接) @[Leavrth](https://github.com/Leavrth) **tw@hfxsd** + + BR 备份工具 从 v7.5.0 开始支持备份和恢复数据库统计信息,包括列、索引和表级别的统计信息。通过支持该功能,从备份中恢复的 TiDB 数据库不再需要手动运行统计信息收集任务或等待自动收集任务的完成,简化了数据库维护并提升高了恢复库的查询性能。可以通过 [--新参数](待添加链接) 启用该功能。 + + 更多信息,请参考[用户文档](链接)。 ### 可观测性 * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) @@ -135,7 +140,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 * 统计信息的[增量收集](https://docs.pingcap.com/zh/tidb/v7.3/statistics#增量收集)(实验特性)在 v7.5.0 中废弃。 -* 废弃功能 3 +* [TiDB Binlog](/tidb-binlog/tidb-binlog-overview.md) 在 v7.5.0 废弃数据同步功能,强烈建议使用 [TiCDC](/ticdc/ticdc-overview.md) 来实现高效稳定的数据同步。尽管 TiDB Binlog 在 v7.5.0 仍支持 Point-in-Time Recovery (PITR) 场景,但是该组件在未来 LTS 版本中将被完全废弃,推荐使用 [PITR](/br/br-pitr-guide.md) 替代。**tw@Oreoxmt** * 废弃功能 4 From 2a11b1b60554fdfbb371e2e1032038786282121e Mon Sep 17 00:00:00 2001 From: Aolin Date: Mon, 30 Oct 2023 14:43:37 +0800 Subject: [PATCH 04/93] make ci happy --- releases/release-7.5.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index fe5359700436..e874b0b08feb 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -70,6 +70,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 BR 备份工具 从 v7.5.0 开始支持备份和恢复数据库统计信息,包括列、索引和表级别的统计信息。通过支持该功能,从备份中恢复的 TiDB 数据库不再需要手动运行统计信息收集任务或等待自动收集任务的完成,简化了数据库维护并提升高了恢复库的查询性能。可以通过 [--新参数](待添加链接) 启用该功能。 更多信息,请参考[用户文档](链接)。 + ### 可观测性 * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) From f820c4d22115085881ccd1273b59cf3a3dc9229f Mon Sep 17 00:00:00 2001 From: Aolin Date: Tue, 31 Oct 2023 14:55:45 +0800 Subject: [PATCH 05/93] update parameter and document for br supports statistics Co-authored-by: Cathy <24819510+benmaoer@users.noreply.github.com> --- releases/release-7.5.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index e874b0b08feb..375832f79916 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -67,9 +67,9 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 * BR 支持备份和恢复表统计信息 [#issue号](链接) @[Leavrth](https://github.com/Leavrth) **tw@hfxsd** - BR 备份工具 从 v7.5.0 开始支持备份和恢复数据库统计信息,包括列、索引和表级别的统计信息。通过支持该功能,从备份中恢复的 TiDB 数据库不再需要手动运行统计信息收集任务或等待自动收集任务的完成,简化了数据库维护并提升高了恢复库的查询性能。可以通过 [--新参数](待添加链接) 启用该功能。 + BR 备份工具 从 v7.5.0 开始支持备份和恢复数据库统计信息,包括列、索引和表级别的统计信息。通过支持该功能,从备份中恢复的 TiDB 数据库不再需要手动运行统计信息收集任务或等待自动收集任务的完成,简化了数据库维护并提升高了恢复库的查询性能。可以通过 [`--ignore-stats=false`](/br/br-snapshot-manual.md#备份统计信息) 启用该功能。 - 更多信息,请参考[用户文档](链接)。 + 更多信息,请参考[用户文档](/br/br-snapshot-manual.md#备份统计信息)。 ### 可观测性 From f29a243022e80608f843dbb32cc40086693a6318 Mon Sep 17 00:00:00 2001 From: Aolin Date: Tue, 31 Oct 2023 15:40:48 +0800 Subject: [PATCH 06/93] Add new features: - DM supports intercepting incompatible DDL changes during Synchronization - Real-time Checkpoint Update upon Completion of Incremental Data Validation Add TiDB-community-toolkit changes Add deprecated features: Mydumper, TiDB Binlog, TiKV-importer, fast analyze, incremental collection Signed-off-by: Aolin --- releases/release-7.5.0.md | 37 ++++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 375832f79916..10569a58f380 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -59,13 +59,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ### 数据库管理 -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 - -* BR 支持备份和恢复表统计信息 [#issue号](链接) @[Leavrth](https://github.com/Leavrth) **tw@hfxsd** +* BR 支持备份和恢复表统计信息 [#issue号](链接) @[Leavrth](https://github.com/Leavrth) BR 备份工具 从 v7.5.0 开始支持备份和恢复数据库统计信息,包括列、索引和表级别的统计信息。通过支持该功能,从备份中恢复的 TiDB 数据库不再需要手动运行统计信息收集任务或等待自动收集任务的完成,简化了数据库维护并提升高了恢复库的查询性能。可以通过 [`--ignore-stats=false`](/br/br-snapshot-manual.md#备份统计信息) 启用该功能。 @@ -89,9 +83,19 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ### 数据迁移 -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) +* Data Migration (DM) 支持拦截不兼容(破坏数据一致性)的 DDL 变更 [#9692](https://github.com/pingcap/tiflow/issues/9692) @[GMHDBJD](https://github.com/GMHDBJD) - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) + 在 v7.5.0 之前,使用 DM 的 Binlog Filter 功能只能迁移或过滤指定的 event,且颗粒度比较粗,例如只能过滤 ALTER 这种大颗粒度的 DDL Event,这种方式在某些业务场景会受限,如业务允许 Add Column,但是不允许 Drop Column,但之前的版本都会被 Alter 这个 Event 过滤。 + + 因此,在 v7.5.0 在原先基础上细化了支持的 DDL event,如新增 Modify Column(修改列数据类型),Drop column 等会导致数据丢失、数据被截断、精度损失等问题的细粒度 DDL event,用户可以按需配置,同时还支持拦截这些 DDL,并报错提示用户,用户可以及时介入手工处理,避免对下游的业务数据产生影响。 + + 更多信息,请参考[用户文档](https://github.com/pingcap/docs-cn/pull/15309)。 + +* 支持实时更新增量数据校验的 checkpoint [issue号](链接) @[lichunzhu](https://github.com/lichunzhu) + + 在 v7.5.0 之前,你可以使用[增量数据校验功能](/dm/dm-continuous-data-validation.md)来判断 DM 同步到下游的数据是否与上游一致,并以此作为业务流量从上游数据库割接到 TiDB 的依据。然而,由于增量校验 checkpoint 受到较多限制,如同步延迟、不一致的数据等待重新校验等因素,需要每隔几分钟刷新一次校验后的 checkpoint。对于某些只有几十秒割接时间的业务场景来说,这是无法接受的。 + + v7.5.0 引入实时更新增量数据校验的 checkpoint 后,你可以传入上游数据库填写的 binlog 位置。一旦增量校验程序在内存里校验到该 binlog 位置,会立即刷新 checkpoint,而不是每隔几分钟刷新 checkpoint。因此,你可以根据该立即返回的 checkpoint 快速进行割接操作。 更多信息,请参考[用户文档](链接)。 @@ -135,15 +139,22 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ## 离线包变更 +从 v7.5.0 开始,`TiDB-community-toolkit` 二进制软件包中移除了以下内容: + +- `tikv-importer-{version}-linux-{arch}.tar.gz` +- `mydumper` + ## 废弃功能 -* 统计信息的[快速分析](https://docs.pingcap.com/zh/tidb/v7.3/system-variables#tidb_enable_fast_analyze)(实验特性)在 v7.5.0 中废弃。 +* [Mydumper](https://docs.pingcap.com/zh/tidb/v4.0/mydumper-overview) 在 v7.5.0 中废弃,其绝大部分功能已经被 [Dumpling](/dumpling-overview.md) 取代,强烈建议切换到 Dumpling。 + +* TiKV-importer 组件在 v7.5.0 中废弃,建议使用 [TiDB Lightning 物理导入模式](/tidb-lightning/tidb-lightning-physical-import-mode.md)作为替代方案。 -* 统计信息的[增量收集](https://docs.pingcap.com/zh/tidb/v7.3/statistics#增量收集)(实验特性)在 v7.5.0 中废弃。 +* [TiDB Binlog](/tidb-binlog/tidb-binlog-overview.md) 在 v7.5.0 废弃数据同步功能,强烈建议使用 [TiCDC](/ticdc/ticdc-overview.md) 来实现高效稳定的数据同步。尽管 TiDB Binlog 在 v7.5.0 仍支持 Point-in-Time Recovery (PITR) 场景,但是该组件在未来 LTS 版本中将被完全废弃,推荐使用 [PITR](/br/br-pitr-guide.md) 替代。 -* [TiDB Binlog](/tidb-binlog/tidb-binlog-overview.md) 在 v7.5.0 废弃数据同步功能,强烈建议使用 [TiCDC](/ticdc/ticdc-overview.md) 来实现高效稳定的数据同步。尽管 TiDB Binlog 在 v7.5.0 仍支持 Point-in-Time Recovery (PITR) 场景,但是该组件在未来 LTS 版本中将被完全废弃,推荐使用 [PITR](/br/br-pitr-guide.md) 替代。**tw@Oreoxmt** +* 统计信息的[快速分析](https://docs.pingcap.com/zh/tidb/v7.4/system-variables#tidb_enable_fast_analyze)(实验特性)在 v7.5.0 中废弃。 -* 废弃功能 4 +* 统计信息的[增量收集](https://docs.pingcap.com/zh/tidb/v7.4/statistics#增量收集)(实验特性)在 v7.5.0 中废弃。 ## 改进提升 From 5fa5321851a2ae1365a832150d04590b3c3d9e52 Mon Sep 17 00:00:00 2001 From: Aolin Date: Tue, 31 Oct 2023 15:55:55 +0800 Subject: [PATCH 07/93] add improvement: Global Stats Co-authored-by: Weizhen Wang --- releases/release-7.5.0.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 10569a58f380..948d22149586 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -160,7 +160,13 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + TiDB - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 改进 merge global stats 并发模型 [#47219](https://github.com/pingcap/tidb/issues/47219) @[hawkingrei](https://github.com/hawkingrei) + + v7.5.0 引入了 tidb_enable_async_merge_global_stats(默认打开,升级集群默认关闭),可以同时 load stats 并 merge,加速 partition table 下的 merge global stats 过程。优化了 merge global stats 的内存使用,避免 OOM,减少 memory allocation。 + + - 优化 Analyze [#47275](https://github.com/pingcap/tidb/issues/47275) @[hawkingrei](https://github.com/hawkingrei) + + 优化了 Analyze 流程,引入 tidb_build_sampling_stats_concurrency,精细化控制 Analyze 并发,减少资源消耗。同时优化了 Analyze 的内存使用,复用部分中间结果,减少 memory allocation,避免频繁 GC。 - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiKV From 9a3c6cb3bfa1db648d23a983e8127eb6e5efd2b2 Mon Sep 17 00:00:00 2001 From: Aolin Date: Wed, 1 Nov 2023 11:06:43 +0800 Subject: [PATCH 08/93] improvement: add placement policy Co-authored-by: ShuNing --- releases/release-7.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 948d22149586..c9c72ad542bb 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -167,7 +167,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - 优化 Analyze [#47275](https://github.com/pingcap/tidb/issues/47275) @[hawkingrei](https://github.com/hawkingrei) 优化了 Analyze 流程,引入 tidb_build_sampling_stats_concurrency,精细化控制 Analyze 并发,减少资源消耗。同时优化了 Analyze 的内存使用,复用部分中间结果,减少 memory allocation,避免频繁 GC。 - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 改进 Placement Policy 的使用:增加对全局范围的策略配置,完善常用场景的语法支持 [#45384](https://github.com/pingcap/tidb/issues/45384) @[nolouch](https://github.com/nolouch) + TiKV From 6286b7fe8939d581880842248c2db7d15951597f Mon Sep 17 00:00:00 2001 From: Aolin Date: Wed, 1 Nov 2023 13:49:10 +0800 Subject: [PATCH 09/93] improvements: update global stats --- releases/release-7.5.0.md | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index c9c72ad542bb..dc30793bb029 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -160,13 +160,8 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + TiDB - - 改进 merge global stats 并发模型 [#47219](https://github.com/pingcap/tidb/issues/47219) @[hawkingrei](https://github.com/hawkingrei) - - v7.5.0 引入了 tidb_enable_async_merge_global_stats(默认打开,升级集群默认关闭),可以同时 load stats 并 merge,加速 partition table 下的 merge global stats 过程。优化了 merge global stats 的内存使用,避免 OOM,减少 memory allocation。 - - - 优化 Analyze [#47275](https://github.com/pingcap/tidb/issues/47275) @[hawkingrei](https://github.com/hawkingrei) - - 优化了 Analyze 流程,引入 tidb_build_sampling_stats_concurrency,精细化控制 Analyze 并发,减少资源消耗。同时优化了 Analyze 的内存使用,复用部分中间结果,减少 memory allocation,避免频繁 GC。 + - 优化合并 GlobalStats 的并发模型:引入 `tidb_enable_async_merge_global_stats` 实现同时加载统计信息并合并,从而加速分区表场景下的合并 GlobalStats。同时优化合并 GlobalStats 的内存使用,以避免 OOM 并减少内存分配 [#47219](https://github.com/pingcap/tidb/issues/47219) @[hawkingrei](https://github.com/hawkingrei) + - 优化 Analyze 流程:引入 `tidb_build_sampling_stats_concurrency` 精细化控制 Analyze 并发度,减少资源消耗。同时优化 Analyze 的内存使用,通过复用部分中间结果,减少内存分配,避免频繁 GC [#47275](https://github.com/pingcap/tidb/issues/47275) @[hawkingrei](https://github.com/hawkingrei) - 改进 Placement Policy 的使用:增加对全局范围的策略配置,完善常用场景的语法支持 [#45384](https://github.com/pingcap/tidb/issues/45384) @[nolouch](https://github.com/nolouch) + TiKV From 7032b734b5b13988a1bda264e14ec08857174ae1 Mon Sep 17 00:00:00 2001 From: Aolin Date: Wed, 1 Nov 2023 16:02:38 +0800 Subject: [PATCH 10/93] new features: add GA - Support Parallel Multi Schema Change, Label DDL workers to select eligible TiDB instances, Enhanced Features in 'Import Into' SQL Statement: Support for 'S3 Global Sort', leverage global sort area to accelerate data ingestion in distributed framework Co-authored-by: Frank945946 <108602632+Frank945946@users.noreply.github.com> --- releases/release-7.5.0.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index dc30793bb029..0400a9250cfd 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -24,6 +24,11 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) 更多信息,请参考[用户文档](链接)。 +* 支持设置 TiDB 节点的服务范围,用于选择适用的 TiDB 节点来执行并行的 ADD INDEX 或 IMPORT INTO 任务成为正式功能(GA)[#46453](https://github.com/pingcap/tidb/pull/46453 )@[ywqzzy](https://github.com/ywqzzy) + + 在资源密集型集群中,并行执行 ADD INDEX 或 IMPORT INTO 任务可能占用大量 TiDB 节点的资源,从而导致集群性能下降。从 v7.4.0 起, 你可以通过变量 [tidb_service_scope](https://github.com/pingcap/docs-cn/blob/master/system-variables.md#tidb_service_scope-%E4%BB%8E-v740-%E7%89%88%E6%9C%AC%E5%BC%80%E5%A7%8B%E5%BC%95%E5%85%A5) 控制 [TiDB 后端任务分布式框架](https://github.com/pingcap/docs-cn/blob/master/tidb-distributed-execution-framework.md)下各 TiDB 节点的服务范围。你可以从现有 TiDB 节点中选择几个节点,或者对新增 TiDB 节点设置服务范围。所有并行执行的 ADD INDEX 和 IMPORT INTO 的任务只会运行在这些节点,避免对已有业务造成性能影响。 + + 更多信息,请参考[用户文档](/system-variables.md#tidb_service_scope-%E4%BB%8E-v740-%E7%89%88%E6%9C%AC%E5%BC%80%E5%A7%8B%E5%BC%95%E5%85%A5)。 ### 性能 @@ -33,6 +38,20 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 更多信息,请参考[用户文档](链接)。 +* TiDB 后端任务分布式并行执行框架成为正式功能(GA),该框架中基于云存储的全局排序能力成为正式功能(GA),可提升并行执行的 ADD INDEX 或 IMPORT INTO 任务的性能和稳定性 https://github.com/pingcap/tidb/issues/45719 @[wjhuang2016](https://github.com/wjhuang2016) + + 在 v7.4.0 以前,当用户执行分布式并行执行框架的 ADD INDEX 或 IMPORT INTO 任务时,TiDB 节点需要准备一块较大的本地磁盘,对编码后的索引 KV pairs 和表数据 KV pairs 进行排序。由于无法从全局角度进行排序,各个 TiDB 节点间以及节点内部导入的数据可能存在重叠情况。这会导致在将这些 KV pairs 导入到 TiKV 时,TiKV 需要频繁进行数据整理 (compaction),降低了 ADD INDEX 或 IMPORT INTO 的性能和稳定性。 + + v7.4.0 引入全局排序特性后,编码后的数据不再写入本地进行排序,而是写入云存储,并在云存储中进行全局排序。然后,TiDB 将经过全局排序的索引数据和表数据并行导入到 TiKV 中,从而提升了性能和稳定性。 + + 更多信息,请参考[用户文档](/tidb-global-sort.md)。 + +* 1 个 SQL 语句里同时添加多个索引的性能提升 [#41602](https://github.com/pingcap/tidb/issues/41602) @[tangenta](https://github.com/tangenta) + + 在 7.5.0 版本之前,用户在 1 个 SQL 语句里添加多个索引的功能,和用户使用多个 SQL 语句添加多个索引的性能接近,在 7.5.0 版本开始,1 个 SQL 语句里添加多个索引的性能有了显著的变化,提升了 XX (等待最终测试结果数据),可大大缩短业务添加索引所需的时间。 + + 更多信息,请参考[用户文档]()。 + ### 稳定性 * 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) @@ -82,6 +101,11 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 更多信息,请参考[用户文档](链接)。 ### 数据迁移 +* "IMPORT INTO" SQL 语句成为正式功能(GA) [#46704]https://github.com/pingcap/tidb/issues/46704 @[D3Hunter](https://github.com/D3Hunter) + + 从 v7.4.0 起,你可以通过在 IMPORT INTO 的 CLOUD_STORAGE_URI 选项中指定编码后数据的云存储地址,开启[全局排序功能](https://github.com/pingcap/docs-cn/blob/master/tidb-global-sort.md),提升性能和稳定性,该功能在 7.5 版本成为正式功能(GA)。 + + 更多信息,请参考[用户文档](https://github.com/pingcap/docs-cn/blob/master/sql-statements/sql-statement-import-into.md)。 * Data Migration (DM) 支持拦截不兼容(破坏数据一致性)的 DDL 变更 [#9692](https://github.com/pingcap/tiflow/issues/9692) @[GMHDBJD](https://github.com/GMHDBJD) From 786122034c7247e1509f1189fd6a3a87419498b0 Mon Sep 17 00:00:00 2001 From: Aolin Date: Wed, 1 Nov 2023 16:06:53 +0800 Subject: [PATCH 11/93] fix format Signed-off-by: Aolin --- releases/release-7.5.0.md | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 0400a9250cfd..bc8ed35ee3ae 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -19,11 +19,6 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ### 可扩展性 -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 * 支持设置 TiDB 节点的服务范围,用于选择适用的 TiDB 节点来执行并行的 ADD INDEX 或 IMPORT INTO 任务成为正式功能(GA)[#46453](https://github.com/pingcap/tidb/pull/46453 )@[ywqzzy](https://github.com/ywqzzy) 在资源密集型集群中,并行执行 ADD INDEX 或 IMPORT INTO 任务可能占用大量 TiDB 节点的资源,从而导致集群性能下降。从 v7.4.0 起, 你可以通过变量 [tidb_service_scope](https://github.com/pingcap/docs-cn/blob/master/system-variables.md#tidb_service_scope-%E4%BB%8E-v740-%E7%89%88%E6%9C%AC%E5%BC%80%E5%A7%8B%E5%BC%95%E5%85%A5) 控制 [TiDB 后端任务分布式框架](https://github.com/pingcap/docs-cn/blob/master/tidb-distributed-execution-framework.md)下各 TiDB 节点的服务范围。你可以从现有 TiDB 节点中选择几个节点,或者对新增 TiDB 节点设置服务范围。所有并行执行的 ADD INDEX 和 IMPORT INTO 的任务只会运行在这些节点,避免对已有业务造成性能影响。 @@ -32,13 +27,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ### 性能 -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 - -* TiDB 后端任务分布式并行执行框架成为正式功能(GA),该框架中基于云存储的全局排序能力成为正式功能(GA),可提升并行执行的 ADD INDEX 或 IMPORT INTO 任务的性能和稳定性 https://github.com/pingcap/tidb/issues/45719 @[wjhuang2016](https://github.com/wjhuang2016) +* TiDB 后端任务分布式并行执行框架成为正式功能(GA),该框架中基于云存储的全局排序能力成为正式功能(GA),可提升并行执行的 ADD INDEX 或 IMPORT INTO 任务的性能和稳定性 [#45719](https://github.com/pingcap/tidb/issues/45719) @[wjhuang2016](https://github.com/wjhuang2016) 在 v7.4.0 以前,当用户执行分布式并行执行框架的 ADD INDEX 或 IMPORT INTO 任务时,TiDB 节点需要准备一块较大的本地磁盘,对编码后的索引 KV pairs 和表数据 KV pairs 进行排序。由于无法从全局角度进行排序,各个 TiDB 节点间以及节点内部导入的数据可能存在重叠情况。这会导致在将这些 KV pairs 导入到 TiKV 时,TiKV 需要频繁进行数据整理 (compaction),降低了 ADD INDEX 或 IMPORT INTO 的性能和稳定性。 @@ -101,7 +90,8 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 更多信息,请参考[用户文档](链接)。 ### 数据迁移 -* "IMPORT INTO" SQL 语句成为正式功能(GA) [#46704]https://github.com/pingcap/tidb/issues/46704 @[D3Hunter](https://github.com/D3Hunter) + +* "IMPORT INTO" SQL 语句成为正式功能(GA) [#46704](https://github.com/pingcap/tidb/issues/46704) @[D3Hunter](https://github.com/D3Hunter) 从 v7.4.0 起,你可以通过在 IMPORT INTO 的 CLOUD_STORAGE_URI 选项中指定编码后数据的云存储地址,开启[全局排序功能](https://github.com/pingcap/docs-cn/blob/master/tidb-global-sort.md),提升性能和稳定性,该功能在 7.5 版本成为正式功能(GA)。 From d56ad3a75e23a45a1f30acc30a91765a05326972 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Thu, 2 Nov 2023 10:07:16 +0800 Subject: [PATCH 12/93] Apply suggestions from code review --- releases/release-7.5.0.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index bc8ed35ee3ae..e951810ef681 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -19,11 +19,11 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ### 可扩展性 -* 支持设置 TiDB 节点的服务范围,用于选择适用的 TiDB 节点来执行并行的 ADD INDEX 或 IMPORT INTO 任务成为正式功能(GA)[#46453](https://github.com/pingcap/tidb/pull/46453 )@[ywqzzy](https://github.com/ywqzzy) +* 支持设置 TiDB 节点的服务范围,用于选择适用的 TiDB 节点来执行并行的 `ADD INDEX` 或 `IMPORT INTO` 任务 (GA) [#46453](https://github.com/pingcap/tidb/pull/46453 )@[ywqzzy](https://github.com/ywqzzy) - 在资源密集型集群中,并行执行 ADD INDEX 或 IMPORT INTO 任务可能占用大量 TiDB 节点的资源,从而导致集群性能下降。从 v7.4.0 起, 你可以通过变量 [tidb_service_scope](https://github.com/pingcap/docs-cn/blob/master/system-variables.md#tidb_service_scope-%E4%BB%8E-v740-%E7%89%88%E6%9C%AC%E5%BC%80%E5%A7%8B%E5%BC%95%E5%85%A5) 控制 [TiDB 后端任务分布式框架](https://github.com/pingcap/docs-cn/blob/master/tidb-distributed-execution-framework.md)下各 TiDB 节点的服务范围。你可以从现有 TiDB 节点中选择几个节点,或者对新增 TiDB 节点设置服务范围。所有并行执行的 ADD INDEX 和 IMPORT INTO 的任务只会运行在这些节点,避免对已有业务造成性能影响。 + 在资源密集型集群中,并行执行 `ADD INDEX` 或 `IMPORT INTO` 任务可能占用大量 TiDB 节点的资源,从而导致集群性能下降。从 v7.4.0 起,你可以通过变量 [tidb_service_scope](/system-variables.md#tidb_service_scope-从-v740-版本开始引入) 控制 [TiDB 后端任务分布式框架](/tidb-distributed-execution-framework.md)下各 TiDB 节点的服务范围。你可以从现有 TiDB 节点中选择几个节点,或者对新增 TiDB 节点设置服务范围。所有并行执行的 `ADD INDEX` 和 `IMPORT INTO` 的任务只会运行在这些节点,避免对已有业务造成性能影响。在 v7.5.0 中,该功能正式 GA。 - 更多信息,请参考[用户文档](/system-variables.md#tidb_service_scope-%E4%BB%8E-v740-%E7%89%88%E6%9C%AC%E5%BC%80%E5%A7%8B%E5%BC%95%E5%85%A5)。 + 更多信息,请参考[用户文档](/system-variables.md#tidb_service_scope-从-v740-版本开始引入)。 ### 性能 @@ -67,9 +67,9 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ### 数据库管理 -* BR 支持备份和恢复表统计信息 [#issue号](链接) @[Leavrth](https://github.com/Leavrth) +* BR 支持备份和恢复统计信息 [#48008](https://github.com/pingcap/tidb/issues/48008) @[Leavrth](https://github.com/Leavrth) - BR 备份工具 从 v7.5.0 开始支持备份和恢复数据库统计信息,包括列、索引和表级别的统计信息。通过支持该功能,从备份中恢复的 TiDB 数据库不再需要手动运行统计信息收集任务或等待自动收集任务的完成,简化了数据库维护并提升高了恢复库的查询性能。可以通过 [`--ignore-stats=false`](/br/br-snapshot-manual.md#备份统计信息) 启用该功能。 + 从 TiDB v7.5.0 开始,BR 备份工具开始支持备份和恢复数据库统计信息,引入了参数 `--ignore-stats`。当指定该参数值为 `false` 时,BR 备份工具支持备份和恢复数据库的列、索引、和表级别的统计信息,因此从备份中恢复的 TiDB 数据库不再需要手动运行统计信息收集任务,也无需等待自动收集任务的完成,从而简化了数据库维护工作,并提升了查询性能。 更多信息,请参考[用户文档](/br/br-snapshot-manual.md#备份统计信息)。 @@ -135,7 +135,8 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 | 变量名 | 修改类型(包括新增/修改/删除) | 描述 | |--------|------------------------------|------| -| | | | +| [`tidb_build_sampling_stats_concurrency`](/system-variables.md#tidb_build_sampling_stats_concurrency-从-v750-版本开始引入) | 新增 | 该变量用来设置 `ANALYZE` 过程中的采样并发度。 | +| [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入) | 新增 | 该变量用于 TiDB 使用异步方式合并统计信息, 以避免 OOM 问题。 | | | | | | | | | | | | | @@ -144,7 +145,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 | 配置文件 | 配置项 | 修改类型 | 描述 | | -------- | -------- | -------- | -------- | -| | | | | +| BR | [`--ignore-stats`](/br/br-snapshot-manual.md#备份统计信息) | 新增 | 用于备份和恢复数据库统计信息。当指定该参数值为 `false` 时,BR 备份工具支持备份和恢复数据库的列、索引、和表级别的统计信息。 | | | | | | | | | | | | | | | | From 396153bdc6d68b75eb3558b749ed4fb9744aafdb Mon Sep 17 00:00:00 2001 From: Aolin Date: Thu, 2 Nov 2023 10:13:31 +0800 Subject: [PATCH 13/93] Apply suggestions from code review Co-authored-by: tangenta --- releases/release-7.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index e951810ef681..13c733fe28a0 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -35,7 +35,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 更多信息,请参考[用户文档](/tidb-global-sort.md)。 -* 1 个 SQL 语句里同时添加多个索引的性能提升 [#41602](https://github.com/pingcap/tidb/issues/41602) @[tangenta](https://github.com/tangenta) +* 单个 SQL 语句里同时添加多个索引的性能提升 [#41602](https://github.com/pingcap/tidb/issues/41602) @[tangenta](https://github.com/tangenta) 在 7.5.0 版本之前,用户在 1 个 SQL 语句里添加多个索引的功能,和用户使用多个 SQL 语句添加多个索引的性能接近,在 7.5.0 版本开始,1 个 SQL 语句里添加多个索引的性能有了显著的变化,提升了 XX (等待最终测试结果数据),可大大缩短业务添加索引所需的时间。 From 122c40d8f9b4f3cf64f5d3582304ce83f6623530 Mon Sep 17 00:00:00 2001 From: Ran Date: Thu, 2 Nov 2023 14:39:28 +0800 Subject: [PATCH 14/93] Apply suggestions from code review --- releases/release-7.5.0.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 13c733fe28a0..27ff4e776830 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -27,19 +27,17 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ### 性能 -* TiDB 后端任务分布式并行执行框架成为正式功能(GA),该框架中基于云存储的全局排序能力成为正式功能(GA),可提升并行执行的 ADD INDEX 或 IMPORT INTO 任务的性能和稳定性 [#45719](https://github.com/pingcap/tidb/issues/45719) @[wjhuang2016](https://github.com/wjhuang2016) +* TiDB 后端任务分布式并行执行框架成为正式功能(GA),其中基于云存储的全局排序功能也成为正式功能,提升并行执行的 `ADD INDEX` 或 `IMPORT INTO` 任务的性能和稳定性 [#45719](https://github.com/pingcap/tidb/issues/45719) @[wjhuang2016](https://github.com/wjhuang2016) - 在 v7.4.0 以前,当用户执行分布式并行执行框架的 ADD INDEX 或 IMPORT INTO 任务时,TiDB 节点需要准备一块较大的本地磁盘,对编码后的索引 KV pairs 和表数据 KV pairs 进行排序。由于无法从全局角度进行排序,各个 TiDB 节点间以及节点内部导入的数据可能存在重叠情况。这会导致在将这些 KV pairs 导入到 TiKV 时,TiKV 需要频繁进行数据整理 (compaction),降低了 ADD INDEX 或 IMPORT INTO 的性能和稳定性。 + 在 v7.4.0 以前,当用户执行分布式并行执行框架的 `ADD INDEX` 或 `IMPORT INTO` 任务时,TiDB 节点需要准备一块较大的本地磁盘,对编码后的索引 KV pairs 和表数据 KV pairs 进行排序。由于无法从全局角度进行排序,各个 TiDB 节点间以及节点内部导入的数据可能存在重叠情况。这会导致在将这些 KV pairs 导入到 TiKV 时,TiKV 需要频繁进行数据整理 (compaction),降低了 `ADD INDEX` 或 `IMPORT INTO` 的性能和稳定性。 v7.4.0 引入全局排序特性后,编码后的数据不再写入本地进行排序,而是写入云存储,并在云存储中进行全局排序。然后,TiDB 将经过全局排序的索引数据和表数据并行导入到 TiKV 中,从而提升了性能和稳定性。 更多信息,请参考[用户文档](/tidb-global-sort.md)。 -* 单个 SQL 语句里同时添加多个索引的性能提升 [#41602](https://github.com/pingcap/tidb/issues/41602) @[tangenta](https://github.com/tangenta) +* 提升了在一个 SQL 语句中同时添加多个索引的性能 [#41602](https://github.com/pingcap/tidb/issues/41602) @[tangenta](https://github.com/tangenta) - 在 7.5.0 版本之前,用户在 1 个 SQL 语句里添加多个索引的功能,和用户使用多个 SQL 语句添加多个索引的性能接近,在 7.5.0 版本开始,1 个 SQL 语句里添加多个索引的性能有了显著的变化,提升了 XX (等待最终测试结果数据),可大大缩短业务添加索引所需的时间。 - - 更多信息,请参考[用户文档]()。 + 在 v7.5.0 之前,用户在一个 SQL 语句里添加多个索引 (`ADD INDEX`) 时,其性能与使用多个独立的 SQL 语句添加多个索引的性能接近。从 v7.5.0 起,在一个 SQL 语句中添加多个索引的性能有了显著的变化,提升了 XX (等待最终测试结果数据),可大大缩短业务添加索引所需的时间。 ### 稳定性 @@ -111,7 +109,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 v7.5.0 引入实时更新增量数据校验的 checkpoint 后,你可以传入上游数据库填写的 binlog 位置。一旦增量校验程序在内存里校验到该 binlog 位置,会立即刷新 checkpoint,而不是每隔几分钟刷新 checkpoint。因此,你可以根据该立即返回的 checkpoint 快速进行割接操作。 - 更多信息,请参考[用户文档](链接)。 + 更多信息,请参考[用户文档](/dm/dm-continuous-data-validation.md#设置增量校验切换点)。 ## 兼容性变更 From 23402c3cbdb2eb690847bf0d5eff93bff2996fc0 Mon Sep 17 00:00:00 2001 From: Aolin Date: Fri, 3 Nov 2023 09:56:25 +0800 Subject: [PATCH 15/93] new feature: add pause/resume ddl Co-authored-by: Frank945946 <108602632+Frank945946@users.noreply.github.com> --- releases/release-7.5.0.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 27ff4e776830..c0b4c5619803 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -64,7 +64,18 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 更多信息,请参考[用户文档](链接)。 ### 数据库管理 +* DDL 任务支持暂停和恢复操作成为正式功能 (GA) [#issue](issue链接) @[contributor](https://github.com/xxx) + 在 v7.2.0 中引入的 DDL 任务的暂停和恢复功能成为正式功能 (GA)。该功能允许临时暂停资源密集型的 DDL 操作(如创建索引),以节省资源并最小化对在线流量的影响。当资源允许时,你可以无缝恢复 DDL 任务,而无需取消和重新开始。DDL 任务的暂停和恢复功能提高了资源利用率,改善了用户体验,并简化了 schema 变更过程。 + + 你可以通过如下 `ADMIN PAUSE DDL JOBS` 或 `ADMIN RESUME DDL JOBS` 语句暂停或者恢复多个 DDL 任务: + + ```sql + ADMIN PAUSE DDL JOBS 1,2; + ADMIN RESUME DDL JOBS 1,2; + ``` + + 更多信息,请参考[用户文档](/ddl-introduction.md#ddl-相关的命令介绍)。 * BR 支持备份和恢复统计信息 [#48008](https://github.com/pingcap/tidb/issues/48008) @[Leavrth](https://github.com/Leavrth) 从 TiDB v7.5.0 开始,BR 备份工具开始支持备份和恢复数据库统计信息,引入了参数 `--ignore-stats`。当指定该参数值为 `false` 时,BR 备份工具支持备份和恢复数据库的列、索引、和表级别的统计信息,因此从备份中恢复的 TiDB 数据库不再需要手动运行统计信息收集任务,也无需等待自动收集任务的完成,从而简化了数据库维护工作,并提升了查询性能。 From a88ec0c1a1d8f416fa95f2ca7d5ff6d09a3d5eb6 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Fri, 3 Nov 2023 10:05:24 +0800 Subject: [PATCH 16/93] Update releases/release-7.5.0.md --- releases/release-7.5.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index c0b4c5619803..91ae0e50b3aa 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -108,11 +108,11 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 * Data Migration (DM) 支持拦截不兼容(破坏数据一致性)的 DDL 变更 [#9692](https://github.com/pingcap/tiflow/issues/9692) @[GMHDBJD](https://github.com/GMHDBJD) - 在 v7.5.0 之前,使用 DM 的 Binlog Filter 功能只能迁移或过滤指定的 event,且颗粒度比较粗,例如只能过滤 ALTER 这种大颗粒度的 DDL Event,这种方式在某些业务场景会受限,如业务允许 Add Column,但是不允许 Drop Column,但之前的版本都会被 Alter 这个 Event 过滤。 + 在 v7.5.0 之前,使用 DM 的 Binlog Filter 功能只能迁移或过滤指定的 Event,且颗粒度比较粗,例如只能过滤 `ALTER` 这种大颗粒度的 DDL Event,这种方式在某些业务场景会受限,如业务允许 Add Column,但是不允许 Drop Column,但之前的版本都会被 `ALTER` Event 过滤。 - 因此,在 v7.5.0 在原先基础上细化了支持的 DDL event,如新增 Modify Column(修改列数据类型),Drop column 等会导致数据丢失、数据被截断、精度损失等问题的细粒度 DDL event,用户可以按需配置,同时还支持拦截这些 DDL,并报错提示用户,用户可以及时介入手工处理,避免对下游的业务数据产生影响。 + 因此,v7.5.0 细化了支持的 DDL Event,如新增 `MODIFY COLUMN`(修改列数据类型)、`DROP COLUMN` 等会导致数据丢失、数据被截断、精度损失等问题的细粒度 DDL Event。你可以按需配置,同时还支持拦截 DDL,并报错提示,你可以及时介入手工处理,避免对下游的业务数据产生影响。 - 更多信息,请参考[用户文档](https://github.com/pingcap/docs-cn/pull/15309)。 + 更多信息,请参考[用户文档](/dm/dm-binlog-event-filter.md#参数解释)。 * 支持实时更新增量数据校验的 checkpoint [issue号](链接) @[lichunzhu](https://github.com/lichunzhu) From 4791bce6058f5b57778f3490a09b93dbfc9d92ba Mon Sep 17 00:00:00 2001 From: Aolin Date: Fri, 3 Nov 2023 10:26:58 +0800 Subject: [PATCH 17/93] fix format --- releases/release-7.5.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 91ae0e50b3aa..be4f146461eb 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -63,6 +63,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 更多信息,请参考[用户文档](链接)。 + ### 数据库管理 * DDL 任务支持暂停和恢复操作成为正式功能 (GA) [#issue](issue链接) @[contributor](https://github.com/xxx) From c6c15745ba6a625f729917b0e1f0653a34b68b8a Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Mon, 6 Nov 2023 12:06:07 +0800 Subject: [PATCH 18/93] Update release-7.5.0.md --- releases/release-7.5.0.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index be4f146461eb..3a5312397cc9 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -65,6 +65,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ### 数据库管理 + * DDL 任务支持暂停和恢复操作成为正式功能 (GA) [#issue](issue链接) @[contributor](https://github.com/xxx) 在 v7.2.0 中引入的 DDL 任务的暂停和恢复功能成为正式功能 (GA)。该功能允许临时暂停资源密集型的 DDL 操作(如创建索引),以节省资源并最小化对在线流量的影响。当资源允许时,你可以无缝恢复 DDL 任务,而无需取消和重新开始。DDL 任务的暂停和恢复功能提高了资源利用率,改善了用户体验,并简化了 schema 变更过程。 @@ -77,6 +78,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ``` 更多信息,请参考[用户文档](/ddl-introduction.md#ddl-相关的命令介绍)。 + * BR 支持备份和恢复统计信息 [#48008](https://github.com/pingcap/tidb/issues/48008) @[Leavrth](https://github.com/Leavrth) 从 TiDB v7.5.0 开始,BR 备份工具开始支持备份和恢复数据库统计信息,引入了参数 `--ignore-stats`。当指定该参数值为 `false` 时,BR 备份工具支持备份和恢复数据库的列、索引、和表级别的统计信息,因此从备份中恢复的 TiDB 数据库不再需要手动运行统计信息收集任务,也无需等待自动收集任务的完成,从而简化了数据库维护工作,并提升了查询性能。 @@ -111,7 +113,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 在 v7.5.0 之前,使用 DM 的 Binlog Filter 功能只能迁移或过滤指定的 Event,且颗粒度比较粗,例如只能过滤 `ALTER` 这种大颗粒度的 DDL Event,这种方式在某些业务场景会受限,如业务允许 Add Column,但是不允许 Drop Column,但之前的版本都会被 `ALTER` Event 过滤。 - 因此,v7.5.0 细化了支持的 DDL Event,如新增 `MODIFY COLUMN`(修改列数据类型)、`DROP COLUMN` 等会导致数据丢失、数据被截断、精度损失等问题的细粒度 DDL Event。你可以按需配置,同时还支持拦截 DDL,并报错提示,你可以及时介入手工处理,避免对下游的业务数据产生影响。 + 因此,v7.5.0 细化了支持的 DDL Event,如新增 `MODIFY COLUMN`(修改列数据类型)、`DROP COLUMN` 等会导致数据丢失、数据被截断、精度损失等问题的细粒度 DDL Event。你可以按需配置。同时还支持拦截 DDL,并报错提示,你可以及时介入手工处理,避免对下游的业务数据产生影响。 更多信息,请参考[用户文档](/dm/dm-binlog-event-filter.md#参数解释)。 @@ -185,8 +187,8 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + TiDB - - 优化合并 GlobalStats 的并发模型:引入 `tidb_enable_async_merge_global_stats` 实现同时加载统计信息并合并,从而加速分区表场景下的合并 GlobalStats。同时优化合并 GlobalStats 的内存使用,以避免 OOM 并减少内存分配 [#47219](https://github.com/pingcap/tidb/issues/47219) @[hawkingrei](https://github.com/hawkingrei) - - 优化 Analyze 流程:引入 `tidb_build_sampling_stats_concurrency` 精细化控制 Analyze 并发度,减少资源消耗。同时优化 Analyze 的内存使用,通过复用部分中间结果,减少内存分配,避免频繁 GC [#47275](https://github.com/pingcap/tidb/issues/47275) @[hawkingrei](https://github.com/hawkingrei) + - 优化合并 GlobalStats 的并发模型:引入 [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入) 实现同时加载统计信息并合并,从而加速分区表场景下的合并 GlobalStats。同时优化合并 GlobalStats 的内存使用,以避免 OOM 并减少内存分配 [#47219](https://github.com/pingcap/tidb/issues/47219) @[hawkingrei](https://github.com/hawkingrei) + - 优化 Analyze 流程:引入 [`tidb_build_sampling_stats_concurrency`](/system-variables.md#tidb_build_sampling_stats_concurrency-从-v750-版本开始引入) 精细化控制 Analyze 并发度,减少资源消耗。同时优化 Analyze 的内存使用,通过复用部分中间结果,减少内存分配,避免频繁 GC [#47275](https://github.com/pingcap/tidb/issues/47275) @[hawkingrei](https://github.com/hawkingrei) - 改进 Placement Policy 的使用:增加对全局范围的策略配置,完善常用场景的语法支持 [#45384](https://github.com/pingcap/tidb/issues/45384) @[nolouch](https://github.com/nolouch) + TiKV @@ -288,4 +290,4 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 感谢来自 TiDB 社区的贡献者们: -- [贡献者 GitHub ID]() \ No newline at end of file +- [贡献者 GitHub ID]() From a7788b4365eacc4ae89a688b3e4f0a97f2b9cd18 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Mon, 6 Nov 2023 14:42:11 +0800 Subject: [PATCH 19/93] Update releases/release-7.5.0.md --- releases/release-7.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 3a5312397cc9..6fe8291d8337 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -188,7 +188,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + TiDB - 优化合并 GlobalStats 的并发模型:引入 [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入) 实现同时加载统计信息并合并,从而加速分区表场景下的合并 GlobalStats。同时优化合并 GlobalStats 的内存使用,以避免 OOM 并减少内存分配 [#47219](https://github.com/pingcap/tidb/issues/47219) @[hawkingrei](https://github.com/hawkingrei) - - 优化 Analyze 流程:引入 [`tidb_build_sampling_stats_concurrency`](/system-variables.md#tidb_build_sampling_stats_concurrency-从-v750-版本开始引入) 精细化控制 Analyze 并发度,减少资源消耗。同时优化 Analyze 的内存使用,通过复用部分中间结果,减少内存分配,避免频繁 GC [#47275](https://github.com/pingcap/tidb/issues/47275) @[hawkingrei](https://github.com/hawkingrei) + - 优化 `ANALYZE` 流程:引入 [`tidb_build_sampling_stats_concurrency`](/system-variables.md#tidb_build_sampling_stats_concurrency-从-v750-版本开始引入) 精细化控制 `ANALYZE` 并发度,减少资源消耗。同时优化 `ANALYZE` 的内存使用,通过复用部分中间结果,减少内存分配,避免频繁 GC [#47275](https://github.com/pingcap/tidb/issues/47275) @[hawkingrei](https://github.com/hawkingrei) - 改进 Placement Policy 的使用:增加对全局范围的策略配置,完善常用场景的语法支持 [#45384](https://github.com/pingcap/tidb/issues/45384) @[nolouch](https://github.com/nolouch) + TiKV From 1a6025496a2db9e6d484044e7df06b0ee65aebc5 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 6 Nov 2023 17:01:49 +0800 Subject: [PATCH 20/93] Apply suggestions from code review --- releases/release-7.5.0.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 6fe8291d8337..0d741cc205d9 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -103,11 +103,13 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ### 数据迁移 -* "IMPORT INTO" SQL 语句成为正式功能(GA) [#46704](https://github.com/pingcap/tidb/issues/46704) @[D3Hunter](https://github.com/D3Hunter) +* `IMPORT INTO` SQL 语句成为正式功能(GA)[#46704](https://github.com/pingcap/tidb/issues/46704) @[D3Hunter](https://github.com/D3Hunter) - 从 v7.4.0 起,你可以通过在 IMPORT INTO 的 CLOUD_STORAGE_URI 选项中指定编码后数据的云存储地址,开启[全局排序功能](https://github.com/pingcap/docs-cn/blob/master/tidb-global-sort.md),提升性能和稳定性,该功能在 7.5 版本成为正式功能(GA)。 + 在 v7.5.0 中,`IMPORT INTO` SQL 语句正式 GA。`IMPORT INTO` 集成了 TiDB Lightning [物理导入模式](/tidb-lightning/tidb-lightning-physical-import-mode.md)的能力。通过该语句,你可以将 CSV、SQL 和 PARQUET 等格式的数据快速导入到 TiDB 的一张空表中。这种导入方式无需单独部署和管理 TiDB Lightning,在降低了数据导入难度的同时,大幅提升了数据导入效率。 - 更多信息,请参考[用户文档](https://github.com/pingcap/docs-cn/blob/master/sql-statements/sql-statement-import-into.md)。 + 此外,你可以通过在 `IMPORT INTO` 的 `CLOUD_STORAGE_URI` 选项中指定编码后数据的云存储地址,开启[全局排序功能](/tidb-global-sort.md),提升导入的性能和稳定性。 + + 更多信息,请参考[用户文档](/sql-statements/sql-statement-import-into.md)。 * Data Migration (DM) 支持拦截不兼容(破坏数据一致性)的 DDL 变更 [#9692](https://github.com/pingcap/tiflow/issues/9692) @[GMHDBJD](https://github.com/GMHDBJD) From 47017e5a6c59ec17fca1d68c6d313f5310b91cec Mon Sep 17 00:00:00 2001 From: Aolin Date: Mon, 6 Nov 2023 17:20:59 +0800 Subject: [PATCH 21/93] Apply suggestions from code review Co-authored-by: Cathy <24819510+benmaoer@users.noreply.github.com> --- releases/release-7.5.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 0d741cc205d9..9c19081a8197 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -168,7 +168,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ## 离线包变更 -从 v7.5.0 开始,`TiDB-community-toolkit` 二进制软件包中移除了以下内容: +从 v7.5.0 开始,`TiDB-community-toolkit` 二进制软件包中移除了以下内容: - `tikv-importer-{version}-linux-{arch}.tar.gz` - `mydumper` @@ -179,7 +179,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 * TiKV-importer 组件在 v7.5.0 中废弃,建议使用 [TiDB Lightning 物理导入模式](/tidb-lightning/tidb-lightning-physical-import-mode.md)作为替代方案。 -* [TiDB Binlog](/tidb-binlog/tidb-binlog-overview.md) 在 v7.5.0 废弃数据同步功能,强烈建议使用 [TiCDC](/ticdc/ticdc-overview.md) 来实现高效稳定的数据同步。尽管 TiDB Binlog 在 v7.5.0 仍支持 Point-in-Time Recovery (PITR) 场景,但是该组件在未来 LTS 版本中将被完全废弃,推荐使用 [PITR](/br/br-pitr-guide.md) 替代。 +* 从 v7.5.0 开始,不再提供 [TiDB Binlog](/tidb-binlog/tidb-binlog-overview.md) 数据同步功能的技术支持,强烈建议使用 [TiCDC](/ticdc/ticdc-overview.md) 实现高效稳定的数据同步。尽管 TiDB Binlog 在 v7.5.0 仍支持 Point-in-Time Recovery (PITR) 场景,但是该组件在未来 LTS 版本中将被完全废弃,推荐使用 [PITR](/br/br-pitr-guide.md) 替代。 * 统计信息的[快速分析](https://docs.pingcap.com/zh/tidb/v7.4/system-variables#tidb_enable_fast_analyze)(实验特性)在 v7.5.0 中废弃。 From e6eb5e085ead7337e6174f54bf05523b9036e345 Mon Sep 17 00:00:00 2001 From: Aolin Date: Tue, 7 Nov 2023 10:55:17 +0800 Subject: [PATCH 22/93] compatibility changes: add ticdc --- releases/release-7.5.0.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 9c19081a8197..8dd14b4456f3 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -160,7 +160,8 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 | 配置文件 | 配置项 | 修改类型 | 描述 | | -------- | -------- | -------- | -------- | | BR | [`--ignore-stats`](/br/br-snapshot-manual.md#备份统计信息) | 新增 | 用于备份和恢复数据库统计信息。当指定该参数值为 `false` 时,BR 备份工具支持备份和恢复数据库的列、索引、和表级别的统计信息。 | -| | | | | +| TiCDC | [`sink.column-selectors`](/ticdc/ticdc-changefeed-config.md) | 新增 | 控制 TiCDC 将增量数据分发到 Kafka 时,只发送指定的列的数据变更事件。 | +| TiCDC | [`sink.dispatchers.partition`](/ticdc/ticdc-changefeed-config.md) | 修改 | 控制增量数据的 Kafka Partition 分发策略,可选值新增 `columns` 选项,即使用明确指定的列值计算 partition 编号。 | | | | | | | | | | | From 42bc6ad11d56e82c3e89caebe4d47125c1992479 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Tue, 7 Nov 2023 14:05:57 +0800 Subject: [PATCH 23/93] Apply suggestions from code review Co-authored-by: Grace Cai --- releases/release-7.5.0.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 8dd14b4456f3..11e60f53a1ee 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -19,9 +19,9 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ### 可扩展性 -* 支持设置 TiDB 节点的服务范围,用于选择适用的 TiDB 节点来执行并行的 `ADD INDEX` 或 `IMPORT INTO` 任务 (GA) [#46453](https://github.com/pingcap/tidb/pull/46453 )@[ywqzzy](https://github.com/ywqzzy) +* 支持设置 TiDB 节点的服务范围,用于选择适用的 TiDB 节点来执行并行的 `ADD INDEX` 或 `IMPORT INTO` 任务 (GA) [#46258](https://github.com/pingcap/tidb/issues/46258) @[ywqzzy](https://github.com/ywqzzy) - 在资源密集型集群中,并行执行 `ADD INDEX` 或 `IMPORT INTO` 任务可能占用大量 TiDB 节点的资源,从而导致集群性能下降。从 v7.4.0 起,你可以通过变量 [tidb_service_scope](/system-variables.md#tidb_service_scope-从-v740-版本开始引入) 控制 [TiDB 后端任务分布式框架](/tidb-distributed-execution-framework.md)下各 TiDB 节点的服务范围。你可以从现有 TiDB 节点中选择几个节点,或者对新增 TiDB 节点设置服务范围。所有并行执行的 `ADD INDEX` 和 `IMPORT INTO` 的任务只会运行在这些节点,避免对已有业务造成性能影响。在 v7.5.0 中,该功能正式 GA。 + 在资源密集型集群中,并行执行 `ADD INDEX` 或 `IMPORT INTO` 任务可能占用大量 TiDB 节点的资源,从而导致集群性能下降。为了避免对已有业务造成性能影响, v7.4.0 以试验特性引入了变量 [`tidb_service_scope`](/system-variables.md#tidb_service_scope-从-v740-版本开始引入),用于控制 [TiDB 后端任务分布式框架](/tidb-distributed-execution-framework.md)下各 TiDB 节点的服务范围。你可以从现有 TiDB 节点中选择几个节点,或者对新增 TiDB 节点设置服务范围,所有并行执行的 `ADD INDEX` 和 `IMPORT INTO` 的任务只会运行在这些节点。在 v7.5.0 中,该功能正式 GA。 更多信息,请参考[用户文档](/system-variables.md#tidb_service_scope-从-v740-版本开始引入)。 @@ -81,7 +81,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 * BR 支持备份和恢复统计信息 [#48008](https://github.com/pingcap/tidb/issues/48008) @[Leavrth](https://github.com/Leavrth) - 从 TiDB v7.5.0 开始,BR 备份工具开始支持备份和恢复数据库统计信息,引入了参数 `--ignore-stats`。当指定该参数值为 `false` 时,BR 备份工具支持备份和恢复数据库的列、索引、和表级别的统计信息,因此从备份中恢复的 TiDB 数据库不再需要手动运行统计信息收集任务,也无需等待自动收集任务的完成,从而简化了数据库维护工作,并提升了查询性能。 + 从 TiDB v7.5.0 开始,BR 备份工具支持备份和恢复数据库统计信息,引入了参数 `--ignore-stats`。当指定该参数值为 `false` 时,BR 备份工具支持备份和恢复数据库的列、索引、和表级别的统计信息,因此从备份中恢复的 TiDB 数据库不再需要手动运行统计信息收集任务,也无需等待自动收集任务的完成,从而简化了数据库维护工作,并提升了查询性能。 更多信息,请参考[用户文档](/br/br-snapshot-manual.md#备份统计信息)。 @@ -113,9 +113,9 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 * Data Migration (DM) 支持拦截不兼容(破坏数据一致性)的 DDL 变更 [#9692](https://github.com/pingcap/tiflow/issues/9692) @[GMHDBJD](https://github.com/GMHDBJD) - 在 v7.5.0 之前,使用 DM 的 Binlog Filter 功能只能迁移或过滤指定的 Event,且颗粒度比较粗,例如只能过滤 `ALTER` 这种大颗粒度的 DDL Event,这种方式在某些业务场景会受限,如业务允许 Add Column,但是不允许 Drop Column,但之前的版本都会被 `ALTER` Event 过滤。 + 在 v7.5.0 之前,使用 DM 的 Binlog Filter 功能只能迁移或过滤指定的 Event,且颗粒度比较粗,例如只能过滤 `ALTER` 这种大颗粒度的 DDL Event。这种方式在某些业务场景会受限,如业务允许 `ADD COLUMN`,但是不允许 `DROP COLUMN`,但之前的 DM 版本都会被 `ALTER` Event 过滤。 - 因此,v7.5.0 细化了支持的 DDL Event,如新增 `MODIFY COLUMN`(修改列数据类型)、`DROP COLUMN` 等会导致数据丢失、数据被截断、精度损失等问题的细粒度 DDL Event。你可以按需配置。同时还支持拦截 DDL,并报错提示,你可以及时介入手工处理,避免对下游的业务数据产生影响。 + 因此,v7.5.0 细化了 DDL Event 的处理粒度,如支持过滤 `MODIFY COLUMN`(修改列数据类型)、`DROP COLUMN` 等会导致数据丢失、数据被截断、精度损失等问题的细粒度 DDL Event。你可以按需配置。同时还支持拦截不兼容的 DDL 变更,并报错提示,你可以及时介入手工处理,避免对下游的业务数据产生影响。 更多信息,请参考[用户文档](/dm/dm-binlog-event-filter.md#参数解释)。 @@ -190,7 +190,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + TiDB - - 优化合并 GlobalStats 的并发模型:引入 [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入) 实现同时加载统计信息并合并,从而加速分区表场景下的合并 GlobalStats。同时优化合并 GlobalStats 的内存使用,以避免 OOM 并减少内存分配 [#47219](https://github.com/pingcap/tidb/issues/47219) @[hawkingrei](https://github.com/hawkingrei) + - 优化合并 GlobalStats 的并发模型:引入 [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入) 实现同时加载统计信息并进行合并,从而加速分区表场景下 GlobalStats 的生成。同时优化合并 GlobalStats 的内存使用,以避免 OOM 并减少内存分配 [#47219](https://github.com/pingcap/tidb/issues/47219) @[hawkingrei](https://github.com/hawkingrei) - 优化 `ANALYZE` 流程:引入 [`tidb_build_sampling_stats_concurrency`](/system-variables.md#tidb_build_sampling_stats_concurrency-从-v750-版本开始引入) 精细化控制 `ANALYZE` 并发度,减少资源消耗。同时优化 `ANALYZE` 的内存使用,通过复用部分中间结果,减少内存分配,避免频繁 GC [#47275](https://github.com/pingcap/tidb/issues/47275) @[hawkingrei](https://github.com/hawkingrei) - 改进 Placement Policy 的使用:增加对全局范围的策略配置,完善常用场景的语法支持 [#45384](https://github.com/pingcap/tidb/issues/45384) @[nolouch](https://github.com/nolouch) From bf561391adeddb4a0ff7603ac233e319d1aabfee Mon Sep 17 00:00:00 2001 From: Ran Date: Tue, 7 Nov 2023 15:14:53 +0800 Subject: [PATCH 24/93] Update releases/release-7.5.0.md --- releases/release-7.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 11e60f53a1ee..c7f7e928c8cf 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -162,7 +162,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 | BR | [`--ignore-stats`](/br/br-snapshot-manual.md#备份统计信息) | 新增 | 用于备份和恢复数据库统计信息。当指定该参数值为 `false` 时,BR 备份工具支持备份和恢复数据库的列、索引、和表级别的统计信息。 | | TiCDC | [`sink.column-selectors`](/ticdc/ticdc-changefeed-config.md) | 新增 | 控制 TiCDC 将增量数据分发到 Kafka 时,只发送指定的列的数据变更事件。 | | TiCDC | [`sink.dispatchers.partition`](/ticdc/ticdc-changefeed-config.md) | 修改 | 控制增量数据的 Kafka Partition 分发策略,可选值新增 `columns` 选项,即使用明确指定的列值计算 partition 编号。 | -| | | | | +| TiCDC | [`sql-mode`](/ticdc/ticdc-changefeed-config.md) | 新增 | 设置 TiCDC 解析 DDL 时使用的 SQL 模式,默认值和 TiDB 的默认 SQL 模式一致。 | | | | | | ### 其他 From 32d22b4d533b57bb741a1e880675c82cb3d87e55 Mon Sep 17 00:00:00 2001 From: Aolin Date: Wed, 8 Nov 2023 15:39:01 +0800 Subject: [PATCH 25/93] add key features Signed-off-by: Aolin --- releases/release-7.5.0.md | 48 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index c7f7e928c8cf..a4cd5ff2105b 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -15,6 +15,54 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 相比于前一个 LTS(即 7.1.0 版本),7.5.0 版本包含 [7.2.0-DMR](/releases/release-7.2.0.md)、[7.3.0-DMR](/releases/release-7.3.0.md) 和 [7.4.0-DMR](/releases/release-7.4.0.md) 中已发布的新功能、提升改进和错误修复,并引入了以下关键特性: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CategoryFeatureDescription
Scalability and PerformanceSupport for running multiple ADD INDEX statements in parallel {/* tw@ran-huang */}Different from distributed and parallel DDL jobs, this feature allows for concurrent jobs to run where they were otherwise running syncrhonsously. Where running DDL statements x, y at the same time used to take x-time +y-time, they now take significantly less.
Reliability and AvailabilityGlobal sort optimization {/* tw@ran-huang */}Laying the groundwork with the distributed framework in v7.2, TiDB introduces global sorting to eliminate the unnecessary I/O, CPU, and memory spikes caused from temporarily out of order data during data re-organization tasks. The global sorting will take advantage of external shared object storage (S3 in this first iteration) to store intermediary files during the job, adding flexibility and cost savings.Operations like ADD INDEX and IMPORT INTO will be faster, more resilient, more stable, more flexible, and cost less to run.
Resource control for background tasks (experimental) {/* tw@Oreoxmt */}In v7.1.0, the Resource Control feature was introduced to mitigate resource and storage access interference between workloads. TiDB v7.4.0 applies this control to background tasks as well. In v7.4.0, Resource Control now identifies and manages the resources produced by background tasks, such as auto-analyze, Backup & Restore, bulk load with TiDB Lightning, and online DDL. This will eventually apply to all background tasks.
Resource groups support managing runaway queries (experimental) {/* tw@hfxsd */}Resource Control is a framework for resource-isolating workloads by Resource Groups, but it makes no calls on how individual queries affect work inside of each group. TiDB v7.2 introduced "runaway query conrol" to let operators control how TiDB identifies and treats these queries per Resource Group. Depending on need, long running queries may be terminated or throttled, and the queries can be identified by exact SQL text or their plan digests, for better generalization. In v7.4, TiDB allows operators to proactively watch for known bad queries, similar to a SQL blocklist at the database level.
SQLMySQL 8.0 compatibility {/* tw@Oreoxmt */}In MySQL 8.0, the default characterset is utf8mb4, and the default collation of utf8mb4 is utf8mb4_0900_ai_ci. TiDB v7.4.0 adding support for this enhances compatibility with MySQL 8.0 so that migrations and replications from MySQL 8.0 databases with the default collation are now much smoother.
DB Operations and ObservabilityTiDB Lightning's physical import mode integrated into TiDB with IMPORT INTO {/* tw@qiancai */}Prior to v7.2, file system level (backdoor) importing was done with TiDB Lightning. The same functionality is now incorporated into TiDB server nodes and is operated by the SQL interface using the IMPORT INTO command. This feature also uses the new distributed execution framework and global sort feature, which speeds it up and allows for more stability during very large imports (i.e., 100TB tables).
Specify the respective TiDB nodes to execute the IMPORT INTO and ADD INDEX SQL statements (experimental) {/* tw@hfxsd */}You have the flexibility to specify whether to execute IMPORT INTO or ADD INDEX SQL statements on some of the existing TiDB nodes or newly added TiDB nodes. This approach enables resource isolation from the rest of the TiDB nodes, preventing any impact on business operations while ensuring optimal performance for executing the preceding SQL statements.
DDL supports pause and resume operations {/* tw@ran-huang */}Adding indexes can be big resource consumers and can affect online traffic. Even when throttled in a Resource Group or isolated to labeled nodes, there may still be a need to suspend these jobs in emergencies. As of v7.2, TiDB now natively supports suspending any number of these background jobs at once, freeing up needed resources while avoiding have to cancel and restart the jobs.
+ ## 功能详情 ### 可扩展性 From c15ba4435bb09c6ab51fe77f2f17824e4d216442 Mon Sep 17 00:00:00 2001 From: Aolin Date: Wed, 8 Nov 2023 17:24:55 +0800 Subject: [PATCH 26/93] Apply suggestions from code review --- releases/release-7.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index a4cd5ff2105b..a3805b73873f 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -114,7 +114,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ### 数据库管理 -* DDL 任务支持暂停和恢复操作成为正式功能 (GA) [#issue](issue链接) @[contributor](https://github.com/xxx) +* DDL 任务支持暂停和恢复操作成为正式功能 (GA) [#issue](issue链接) @[contributor](https://github.com/xxx) 在 v7.2.0 中引入的 DDL 任务的暂停和恢复功能成为正式功能 (GA)。该功能允许临时暂停资源密集型的 DDL 操作(如创建索引),以节省资源并最小化对在线流量的影响。当资源允许时,你可以无缝恢复 DDL 任务,而无需取消和重新开始。DDL 任务的暂停和恢复功能提高了资源利用率,改善了用户体验,并简化了 schema 变更过程。 From d0594ccf68e4be06cde4b9f30eeb46dcdb4aeed4 Mon Sep 17 00:00:00 2001 From: Aolin Date: Thu, 9 Nov 2023 13:52:14 +0800 Subject: [PATCH 27/93] new feature: add Flashback Co-authored-by: Cathy <24819510+benmaoer@users.noreply.github.com> --- releases/release-7.5.0.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index a3805b73873f..6faaa182b64f 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -126,7 +126,18 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ``` 更多信息,请参考[用户文档](/ddl-introduction.md#ddl-相关的命令介绍)。 +* 闪回功能支持精确 TSO [#48372](https://github.com/pingcap/tidb/issues/48372) @[BornChanger](https://github.com/BornChanger/BornChanger) + TiDB v7.5.0 提供了更加强大和精确的闪回功能,不仅支持回溯到过去指定的时间点,还可以精确的指定 [TSO](https://docs.pingcap.com/tidb/stable/tso) 时间戳,实现更加灵活的数据恢复。例如,此功能可和 TiCDC 联合使用,允许下游 TiDB 集群在暂停数据同步、开启预上线读写测试后,优雅快速地回溯到暂停的 TSO 时间戳并继续通过 TiCDC 同步数据,简化了预上线验证流程和数据管理。 + + 你可以通过 `SELECT ... FROM ... AS OF TIMESTAMP` 语句查询指定的 [TSO](https://docs.pingcap.com/tidb/stable/tso) 时间戳的数据,验证后通过 `FLASHBACK CLUSTER` 语句回到指定 [TSO](https://docs.pingcap.com/tidb/stable/tso) 。 + + ```sql + SELECT * FROM users AS OF TIMESTAMP '445494839813079041'; + FLASHBACK CLUSTER TO TIMESTAMP '445494839813079041'; + ```` + + 更多信息,请参考[用户文档](/sql-statements/sql-statement-flashback-to-timestamp.md)。 * BR 支持备份和恢复统计信息 [#48008](https://github.com/pingcap/tidb/issues/48008) @[Leavrth](https://github.com/Leavrth) 从 TiDB v7.5.0 开始,BR 备份工具支持备份和恢复数据库统计信息,引入了参数 `--ignore-stats`。当指定该参数值为 `false` 时,BR 备份工具支持备份和恢复数据库的列、索引、和表级别的统计信息,因此从备份中恢复的 TiDB 数据库不再需要手动运行统计信息收集任务,也无需等待自动收集任务的完成,从而简化了数据库维护工作,并提升了查询性能。 From 208939820ba9d33eda687a86c479c76cb4d4b30d Mon Sep 17 00:00:00 2001 From: Aolin Date: Thu, 9 Nov 2023 13:53:02 +0800 Subject: [PATCH 28/93] remove spark and tispark from offline packages --- releases/release-7.5.0.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 6faaa182b64f..75ceb6cfa1c3 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -232,6 +232,8 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - `tikv-importer-{version}-linux-{arch}.tar.gz` - `mydumper` +- `spark-{version}-any-any.tar.gz` +- `tispark-{version}-any-any.tar.gz` ## 废弃功能 From ae85135e32bd77b44bd667a528b9fda526ce744a Mon Sep 17 00:00:00 2001 From: Aolin Date: Fri, 10 Nov 2023 09:17:36 +0800 Subject: [PATCH 29/93] Apply suggestions from code review Co-authored-by: Grace Cai Co-authored-by: Ran --- releases/release-7.5.0.md | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 75ceb6cfa1c3..8e851db17434 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -126,16 +126,6 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ``` 更多信息,请参考[用户文档](/ddl-introduction.md#ddl-相关的命令介绍)。 -* 闪回功能支持精确 TSO [#48372](https://github.com/pingcap/tidb/issues/48372) @[BornChanger](https://github.com/BornChanger/BornChanger) - - TiDB v7.5.0 提供了更加强大和精确的闪回功能,不仅支持回溯到过去指定的时间点,还可以精确的指定 [TSO](https://docs.pingcap.com/tidb/stable/tso) 时间戳,实现更加灵活的数据恢复。例如,此功能可和 TiCDC 联合使用,允许下游 TiDB 集群在暂停数据同步、开启预上线读写测试后,优雅快速地回溯到暂停的 TSO 时间戳并继续通过 TiCDC 同步数据,简化了预上线验证流程和数据管理。 - - 你可以通过 `SELECT ... FROM ... AS OF TIMESTAMP` 语句查询指定的 [TSO](https://docs.pingcap.com/tidb/stable/tso) 时间戳的数据,验证后通过 `FLASHBACK CLUSTER` 语句回到指定 [TSO](https://docs.pingcap.com/tidb/stable/tso) 。 - - ```sql - SELECT * FROM users AS OF TIMESTAMP '445494839813079041'; - FLASHBACK CLUSTER TO TIMESTAMP '445494839813079041'; - ```` 更多信息,请参考[用户文档](/sql-statements/sql-statement-flashback-to-timestamp.md)。 * BR 支持备份和恢复统计信息 [#48008](https://github.com/pingcap/tidb/issues/48008) @[Leavrth](https://github.com/Leavrth) @@ -164,7 +154,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 * `IMPORT INTO` SQL 语句成为正式功能(GA)[#46704](https://github.com/pingcap/tidb/issues/46704) @[D3Hunter](https://github.com/D3Hunter) - 在 v7.5.0 中,`IMPORT INTO` SQL 语句正式 GA。`IMPORT INTO` 集成了 TiDB Lightning [物理导入模式](/tidb-lightning/tidb-lightning-physical-import-mode.md)的能力。通过该语句,你可以将 CSV、SQL 和 PARQUET 等格式的数据快速导入到 TiDB 的一张空表中。这种导入方式无需单独部署和管理 TiDB Lightning,在降低了数据导入难度的同时,大幅提升了数据导入效率。 + 在 v7.5.0 中,`IMPORT INTO` SQL 语句正式 GA。该语句集成了 TiDB Lightning [物理导入模式](/tidb-lightning/tidb-lightning-physical-import-mode.md)的能力,可以将 CSV、SQL 和 PARQUET 等格式的数据快速导入到 TiDB 的一张空表中。这种导入方式无需单独部署和管理 TiDB Lightning,在降低了数据导入难度的同时,大幅提升了数据导入效率。 此外,你可以通过在 `IMPORT INTO` 的 `CLOUD_STORAGE_URI` 选项中指定编码后数据的云存储地址,开启[全局排序功能](/tidb-global-sort.md),提升导入的性能和稳定性。 @@ -228,7 +218,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ## 离线包变更 -从 v7.5.0 开始,`TiDB-community-toolkit` 二进制软件包中移除了以下内容: +从 v7.5.0 开始,`TiDB-community-toolkit` [二进制软件包](/binary-package.md)中移除了以下内容: - `tikv-importer-{version}-linux-{arch}.tar.gz` - `mydumper` From 1dd6b53bf1b4f7d333671407fd7e5fa80226ddd0 Mon Sep 17 00:00:00 2001 From: Aolin Date: Fri, 10 Nov 2023 11:18:34 +0800 Subject: [PATCH 30/93] Apply suggestions from code review --- releases/release-7.5.0.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 8e851db17434..69065b13297b 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -126,8 +126,6 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ``` 更多信息,请参考[用户文档](/ddl-introduction.md#ddl-相关的命令介绍)。 - - 更多信息,请参考[用户文档](/sql-statements/sql-statement-flashback-to-timestamp.md)。 * BR 支持备份和恢复统计信息 [#48008](https://github.com/pingcap/tidb/issues/48008) @[Leavrth](https://github.com/Leavrth) 从 TiDB v7.5.0 开始,BR 备份工具支持备份和恢复数据库统计信息,引入了参数 `--ignore-stats`。当指定该参数值为 `false` 时,BR 备份工具支持备份和恢复数据库的列、索引、和表级别的统计信息,因此从备份中恢复的 TiDB 数据库不再需要手动运行统计信息收集任务,也无需等待自动收集任务的完成,从而简化了数据库维护工作,并提升了查询性能。 From ebe5a5df8a6ca8b945b340962ba6d192d6476231 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Fri, 10 Nov 2023 12:01:04 +0800 Subject: [PATCH 31/93] Update releases/release-7.5.0.md Co-authored-by: Grace Cai --- releases/release-7.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 69065b13297b..08ac52ac4856 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -128,7 +128,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 更多信息,请参考[用户文档](/ddl-introduction.md#ddl-相关的命令介绍)。 * BR 支持备份和恢复统计信息 [#48008](https://github.com/pingcap/tidb/issues/48008) @[Leavrth](https://github.com/Leavrth) - 从 TiDB v7.5.0 开始,BR 备份工具支持备份和恢复数据库统计信息,引入了参数 `--ignore-stats`。当指定该参数值为 `false` 时,BR 备份工具支持备份和恢复数据库的列、索引、和表级别的统计信息,因此从备份中恢复的 TiDB 数据库不再需要手动运行统计信息收集任务,也无需等待自动收集任务的完成,从而简化了数据库维护工作,并提升了查询性能。 + 从 TiDB v7.5.0 开始,BR 备份工具支持备份和恢复数据库统计信息,在备份命令中引入了参数 `--ignore-stats`。当指定该参数值为 `false` 时,BR 备份工具支持备份和恢复数据库的列、索引、和表级别的统计信息。因此,从备份中恢复的 TiDB 数据库不再需要手动运行统计信息收集任务,也无需等待自动收集任务的完成,从而简化了数据库维护工作,并提升了查询性能。 更多信息,请参考[用户文档](/br/br-snapshot-manual.md#备份统计信息)。 From d6c7dd1bd8f491210b475b91348906151435fa3d Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Fri, 10 Nov 2023 12:02:16 +0800 Subject: [PATCH 32/93] Apply suggestions from code review Co-authored-by: Grace Cai --- releases/release-7.5.0.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 08ac52ac4856..bd4c7d0c18d0 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -69,7 +69,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 * 支持设置 TiDB 节点的服务范围,用于选择适用的 TiDB 节点来执行并行的 `ADD INDEX` 或 `IMPORT INTO` 任务 (GA) [#46258](https://github.com/pingcap/tidb/issues/46258) @[ywqzzy](https://github.com/ywqzzy) - 在资源密集型集群中,并行执行 `ADD INDEX` 或 `IMPORT INTO` 任务可能占用大量 TiDB 节点的资源,从而导致集群性能下降。为了避免对已有业务造成性能影响, v7.4.0 以试验特性引入了变量 [`tidb_service_scope`](/system-variables.md#tidb_service_scope-从-v740-版本开始引入),用于控制 [TiDB 后端任务分布式框架](/tidb-distributed-execution-framework.md)下各 TiDB 节点的服务范围。你可以从现有 TiDB 节点中选择几个节点,或者对新增 TiDB 节点设置服务范围,所有并行执行的 `ADD INDEX` 和 `IMPORT INTO` 的任务只会运行在这些节点。在 v7.5.0 中,该功能正式 GA。 + 在资源密集型集群中,并行执行 `ADD INDEX` 或 `IMPORT INTO` 任务可能占用大量 TiDB 节点的资源,从而导致集群性能下降。为了避免对已有业务造成性能影响,v7.4.0 以试验特性引入了变量 [`tidb_service_scope`](/system-variables.md#tidb_service_scope-从-v740-版本开始引入),用于控制 [TiDB 后端任务分布式框架](/tidb-distributed-execution-framework.md)下各 TiDB 节点的服务范围。你可以从现有 TiDB 节点中选择几个节点,或者对新增 TiDB 节点设置服务范围,所有并行执行的 `ADD INDEX` 和 `IMPORT INTO` 的任务只会运行在这些节点。在 v7.5.0 中,该功能正式 GA。 更多信息,请参考[用户文档](/system-variables.md#tidb_service_scope-从-v740-版本开始引入)。 @@ -126,6 +126,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ``` 更多信息,请参考[用户文档](/ddl-introduction.md#ddl-相关的命令介绍)。 + * BR 支持备份和恢复统计信息 [#48008](https://github.com/pingcap/tidb/issues/48008) @[Leavrth](https://github.com/Leavrth) 从 TiDB v7.5.0 开始,BR 备份工具支持备份和恢复数据库统计信息,在备份命令中引入了参数 `--ignore-stats`。当指定该参数值为 `false` 时,BR 备份工具支持备份和恢复数据库的列、索引、和表级别的统计信息。因此,从备份中恢复的 TiDB 数据库不再需要手动运行统计信息收集任务,也无需等待自动收集任务的完成,从而简化了数据库维护工作,并提升了查询性能。 From 7c3102adbbbccc70ae4fb4308b37f7f5953b0ca9 Mon Sep 17 00:00:00 2001 From: Ran Date: Fri, 10 Nov 2023 13:47:55 +0800 Subject: [PATCH 33/93] Update releases/release-7.5.0.md --- releases/release-7.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index bd4c7d0c18d0..870a753570b2 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -114,7 +114,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ### 数据库管理 -* DDL 任务支持暂停和恢复操作成为正式功能 (GA) [#issue](issue链接) @[contributor](https://github.com/xxx) +* DDL 任务支持暂停和恢复操作成为正式功能 (GA) [#18015](https://github.com/pingcap/tidb/issues/18015) @[godouxm](https://github.com/godouxm) 在 v7.2.0 中引入的 DDL 任务的暂停和恢复功能成为正式功能 (GA)。该功能允许临时暂停资源密集型的 DDL 操作(如创建索引),以节省资源并最小化对在线流量的影响。当资源允许时,你可以无缝恢复 DDL 任务,而无需取消和重新开始。DDL 任务的暂停和恢复功能提高了资源利用率,改善了用户体验,并简化了 schema 变更过程。 From fa7c909410b85d531d6b5f2330082156a4f3882c Mon Sep 17 00:00:00 2001 From: Aolin Date: Fri, 10 Nov 2023 14:08:28 +0800 Subject: [PATCH 34/93] fix format --- releases/release-7.5.0.md | 53 --------------------------------------- 1 file changed, 53 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 870a753570b2..5d312d40fa03 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -87,31 +87,6 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 在 v7.5.0 之前,用户在一个 SQL 语句里添加多个索引 (`ADD INDEX`) 时,其性能与使用多个独立的 SQL 语句添加多个索引的性能接近。从 v7.5.0 起,在一个 SQL 语句中添加多个索引的性能有了显著的变化,提升了 XX (等待最终测试结果数据),可大大缩短业务添加索引所需的时间。 -### 稳定性 - -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 - -### 高可用 - -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 - -### SQL 功能 - -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 - - ### 数据库管理 * DDL 任务支持暂停和恢复操作成为正式功能 (GA) [#18015](https://github.com/pingcap/tidb/issues/18015) @[godouxm](https://github.com/godouxm) @@ -133,22 +108,6 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 更多信息,请参考[用户文档](/br/br-snapshot-manual.md#备份统计信息)。 -### 可观测性 - -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 - -### 安全 - -* 功能标题 [#issue号](链接) @[贡献者 GitHub ID](链接) - - 功能描述(需要包含这个功能是什么、在什么场景下对用户有什么价值、怎么用) - - 更多信息,请参考[用户文档](链接)。 - ### 数据迁移 * `IMPORT INTO` SQL 语句成为正式功能(GA)[#46704](https://github.com/pingcap/tidb/issues/46704) @[D3Hunter](https://github.com/D3Hunter) @@ -181,18 +140,6 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 > > 以下为从 v7.4.0 升级至当前版本 (v7.5.0) 所需兼容性变更信息。如果从 v7.3.0 或之前版本升级到当前版本,可能也需要考虑和查看中间版本 Release Notes 中提到的兼容性变更信息。 -### 行为变更 - -* 行为变更 1 - -* 行为变更 2 - -### MySQL 兼容性 - -* 兼容性 1 - -* 兼容性 2 - ### 系统变量 | 变量名 | 修改类型(包括新增/修改/删除) | 描述 | From 91bb4203dc6a920770a780e6ae914f2b7045019c Mon Sep 17 00:00:00 2001 From: Aolin Date: Fri, 10 Nov 2023 14:16:22 +0800 Subject: [PATCH 35/93] add github issue link --- releases/release-7.5.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 5d312d40fa03..2ad6a298834f 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -114,7 +114,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 在 v7.5.0 中,`IMPORT INTO` SQL 语句正式 GA。该语句集成了 TiDB Lightning [物理导入模式](/tidb-lightning/tidb-lightning-physical-import-mode.md)的能力,可以将 CSV、SQL 和 PARQUET 等格式的数据快速导入到 TiDB 的一张空表中。这种导入方式无需单独部署和管理 TiDB Lightning,在降低了数据导入难度的同时,大幅提升了数据导入效率。 - 此外,你可以通过在 `IMPORT INTO` 的 `CLOUD_STORAGE_URI` 选项中指定编码后数据的云存储地址,开启[全局排序功能](/tidb-global-sort.md),提升导入的性能和稳定性。 + 此外,你可以通过在 `IMPORT INTO` 的 `CLOUD_STORAGE_URI` 选项中指定编码后数据的云存储地址,开启[全局排序功能](/tidb-global-sort.md),提升导入的性能和稳定性。 更多信息,请参考[用户文档](/sql-statements/sql-statement-import-into.md)。 @@ -126,7 +126,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 更多信息,请参考[用户文档](/dm/dm-binlog-event-filter.md#参数解释)。 -* 支持实时更新增量数据校验的 checkpoint [issue号](链接) @[lichunzhu](https://github.com/lichunzhu) +* 支持实时更新增量数据校验的 checkpoint [#8463](https://github.com/pingcap/tiflow/issues/8463) @[lichunzhu](https://github.com/lichunzhu) 在 v7.5.0 之前,你可以使用[增量数据校验功能](/dm/dm-continuous-data-validation.md)来判断 DM 同步到下游的数据是否与上游一致,并以此作为业务流量从上游数据库割接到 TiDB 的依据。然而,由于增量校验 checkpoint 受到较多限制,如同步延迟、不一致的数据等待重新校验等因素,需要每隔几分钟刷新一次校验后的 checkpoint。对于某些只有几十秒割接时间的业务场景来说,这是无法接受的。 From a53baecb0b97493e122850c72045feec5fabe610 Mon Sep 17 00:00:00 2001 From: Aolin Date: Fri, 10 Nov 2023 14:53:25 +0800 Subject: [PATCH 36/93] compatibility changes: add tidb_gogc_tuner_max_value, tidb_gogc_tuner_min_value, and TiDB Lightning Signed-off-by: Aolin --- releases/release-7.5.0.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 2ad6a298834f..7b3c5a18823f 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -144,9 +144,11 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 | 变量名 | 修改类型(包括新增/修改/删除) | 描述 | |--------|------------------------------|------| -| [`tidb_build_sampling_stats_concurrency`](/system-variables.md#tidb_build_sampling_stats_concurrency-从-v750-版本开始引入) | 新增 | 该变量用来设置 `ANALYZE` 过程中的采样并发度。 | -| [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入) | 新增 | 该变量用于 TiDB 使用异步方式合并统计信息, 以避免 OOM 问题。 | -| | | | +| [`tidb_build_sampling_stats_concurrency`](/system-variables.md#tidb_build_sampling_stats_concurrency-从-v750-版本开始引入) | 新增 | 该变量用来设置 `ANALYZE` 过程中的采样并发度。 | +| [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入) | 新增 | 该变量用于 TiDB 使用异步方式合并统计信息, 以避免 OOM 问题。 | +| [`tidb_gogc_tuner_max_value`](/system-variables.md#tidb_gogc_tuner_max_value-从-v750-版本开始引入) | 新增 | 用来控制 GOGC Tuner 可调节 GOGC 的最大值。 | +| [`tidb_gogc_tuner_min_value`](/system-variables.md#tidb_gogc_tuner_min_value-从-v750-版本开始引入) | 新增 | 用来控制 GOGC Tuner 可调节 GOGC 的最小值。 | +| `tidb_enable_fast_analyze` | 删除 | 用于控制是否启用统计信息快速分析功能。自 v7.5.0 起,统计信息快速分析功能被废弃。 | | | | | | | | | @@ -154,10 +156,11 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 | 配置文件 | 配置项 | 修改类型 | 描述 | | -------- | -------- | -------- | -------- | -| BR | [`--ignore-stats`](/br/br-snapshot-manual.md#备份统计信息) | 新增 | 用于备份和恢复数据库统计信息。当指定该参数值为 `false` 时,BR 备份工具支持备份和恢复数据库的列、索引、和表级别的统计信息。 | +| BR | [`--ignore-stats`](/br/br-snapshot-manual.md#备份统计信息) | 新增 | 用于备份和恢复数据库统计信息。当指定该参数值为 `false` 时,BR 备份工具支持备份和恢复数据库的列、索引、和表级别的统计信息。 | | TiCDC | [`sink.column-selectors`](/ticdc/ticdc-changefeed-config.md) | 新增 | 控制 TiCDC 将增量数据分发到 Kafka 时,只发送指定的列的数据变更事件。 | | TiCDC | [`sink.dispatchers.partition`](/ticdc/ticdc-changefeed-config.md) | 修改 | 控制增量数据的 Kafka Partition 分发策略,可选值新增 `columns` 选项,即使用明确指定的列值计算 partition 编号。 | | TiCDC | [`sql-mode`](/ticdc/ticdc-changefeed-config.md) | 新增 | 设置 TiCDC 解析 DDL 时使用的 SQL 模式,默认值和 TiDB 的默认 SQL 模式一致。 | +| TiDB Lightning | 删除 | `--importer` | 该配置项用于指定 TiKV-importer 的地址。从 v7.5.0 起,TiKV-importer 组件被废弃。 | | | | | | ### 其他 From 9e34b87260a1d59e56e1361f49ef3c995e17deab Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Fri, 10 Nov 2023 15:58:24 +0800 Subject: [PATCH 37/93] Update releases/release-7.5.0.md --- releases/release-7.5.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 7b3c5a18823f..18f652d5a91d 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -53,8 +53,8 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 Prior to v7.2, file system level (backdoor) importing was done with TiDB Lightning. The same functionality is now incorporated into TiDB server nodes and is operated by the SQL interface using the IMPORT INTO command. This feature also uses the new distributed execution framework and global sort feature, which speeds it up and allows for more stability during very large imports (i.e., 100TB tables). - Specify the respective TiDB nodes to execute the IMPORT INTO and ADD INDEX SQL statements (experimental) {/* tw@hfxsd */} - You have the flexibility to specify whether to execute IMPORT INTO or ADD INDEX SQL statements on some of the existing TiDB nodes or newly added TiDB nodes. This approach enables resource isolation from the rest of the TiDB nodes, preventing any impact on business operations while ensuring optimal performance for executing the preceding SQL statements. + 选择适用的 TiDB 节点来并行执行 ADD INDEXIMPORT INTO SQL 语句 (GA) + 你可以选择在现有 TiDB 节点、或者新增 TiDB 节点执行 ADD INDEXIMPORT INTO SQL 语句。该方法可以实现与其他 TiDB 节点的资源隔离,确保在执行上述语句时的最佳性能,并避免对已有业务造成性能影响。在 v7.5.0 中,该功能正式 GA。 DDL supports pause and resume operations {/* tw@ran-huang */} From 444c869fa679bb873c16a164c4cb51e3f62c7661 Mon Sep 17 00:00:00 2001 From: Aolin Date: Fri, 10 Nov 2023 17:49:45 +0800 Subject: [PATCH 38/93] Apply suggestions from code review --- releases/release-7.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 18f652d5a91d..d4c3a425fc4c 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -148,7 +148,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 | [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入) | 新增 | 该变量用于 TiDB 使用异步方式合并统计信息, 以避免 OOM 问题。 | | [`tidb_gogc_tuner_max_value`](/system-variables.md#tidb_gogc_tuner_max_value-从-v750-版本开始引入) | 新增 | 用来控制 GOGC Tuner 可调节 GOGC 的最大值。 | | [`tidb_gogc_tuner_min_value`](/system-variables.md#tidb_gogc_tuner_min_value-从-v750-版本开始引入) | 新增 | 用来控制 GOGC Tuner 可调节 GOGC 的最小值。 | -| `tidb_enable_fast_analyze` | 删除 | 用于控制是否启用统计信息快速分析功能。自 v7.5.0 起,统计信息快速分析功能被废弃。 | +| `tidb_enable_fast_analyze` | 废弃 | 用于控制是否启用统计信息快速分析功能。自 v7.5.0 起,统计信息快速分析功能被废弃。 | | | | | | | | | From a3ce98590b45ac38fedc93dc90b5d71b7f3f9e9e Mon Sep 17 00:00:00 2001 From: Aolin Date: Fri, 10 Nov 2023 17:51:16 +0800 Subject: [PATCH 39/93] update highlight Co-authored-by: xixirangrang Co-authored-by: Grace Cai --- releases/release-7.5.0.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index d4c3a425fc4c..cc736917c524 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -39,8 +39,8 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 In v7.1.0, the Resource Control feature was introduced to mitigate resource and storage access interference between workloads. TiDB v7.4.0 applies this control to background tasks as well. In v7.4.0, Resource Control now identifies and manages the resources produced by background tasks, such as auto-analyze, Backup & Restore, bulk load with TiDB Lightning, and online DDL. This will eventually apply to all background tasks. - Resource groups support managing runaway queries (experimental) {/* tw@hfxsd */} - Resource Control is a framework for resource-isolating workloads by Resource Groups, but it makes no calls on how individual queries affect work inside of each group. TiDB v7.2 introduced "runaway query conrol" to let operators control how TiDB identifies and treats these queries per Resource Group. Depending on need, long running queries may be terminated or throttled, and the queries can be identified by exact SQL text or their plan digests, for better generalization. In v7.4, TiDB allows operators to proactively watch for known bad queries, similar to a SQL blocklist at the database level. + 资源组支持管理资源消耗超出预期的查询(实验特性){/* tw@hfxsd */} + 资源管控 (Resource Group) 是一个通过资源组 (Resource Group) 对工作负载进行资源隔离的框架,但它并不调用单个查询如何影响每个组内的工作。TiDB v7.2.0 引入了管控资源消耗超出预期的查询 (Runaway Queries),你可以控制 TiDB 如何识别和处理每个资源组的查询。根据需要,长时间运行的查询可能会被终止或节流,你可以通过准确的 SQL test、SQL Digest 或其 Plan Digest来识别查询。在 TiDB v7.3.0,你可以主动监视已知的不良查询,类似于数据库级别的 SQL Blocklist。 SQL @@ -49,8 +49,8 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 DB Operations and Observability - TiDB Lightning's physical import mode integrated into TiDB with IMPORT INTO {/* tw@qiancai */} - Prior to v7.2, file system level (backdoor) importing was done with TiDB Lightning. The same functionality is now incorporated into TiDB server nodes and is operated by the SQL interface using the IMPORT INTO command. This feature also uses the new distributed execution framework and global sort feature, which speeds it up and allows for more stability during very large imports (i.e., 100TB tables). + IMPORT INTO 语句集成 TiDB Lightning 物理导入模式的能力 {/* tw@qiancai */} + 在 v7.2 之前,如需基于文件系统进行数据导入,你需要安装 TiDB Lightning 并使用其物理导入模式。目前,该功能已集成到 IMPORT INTO 语句中,你可以使用此语句快速导入数据,而无需安装任何额外的工具。该语句还支持新的 分布式执行框架全局排序 功能,提升了大规模数据导入时的效率和稳定性。 选择适用的 TiDB 节点来并行执行 ADD INDEXIMPORT INTO SQL 语句 (GA) From c0f43b54c8af12af6fb6c3e1dcf9b6be3d479fba Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Mon, 13 Nov 2023 10:19:55 +0800 Subject: [PATCH 40/93] Update releases/release-7.5.0.md --- releases/release-7.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index cc736917c524..a5764dedfa1a 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -53,7 +53,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 在 v7.2 之前,如需基于文件系统进行数据导入,你需要安装 TiDB Lightning 并使用其物理导入模式。目前,该功能已集成到 IMPORT INTO 语句中,你可以使用此语句快速导入数据,而无需安装任何额外的工具。该语句还支持新的 分布式执行框架全局排序 功能,提升了大规模数据导入时的效率和稳定性。 - 选择适用的 TiDB 节点来并行执行 ADD INDEXIMPORT INTO SQL 语句 (GA) + 选择适用的 TiDB 节点来并行执行 ADD INDEXIMPORT INTO SQL 语句 (GA) {/* tw@hfxsd */} 你可以选择在现有 TiDB 节点、或者新增 TiDB 节点执行 ADD INDEXIMPORT INTO SQL 语句。该方法可以实现与其他 TiDB 节点的资源隔离,确保在执行上述语句时的最佳性能,并避免对已有业务造成性能影响。在 v7.5.0 中,该功能正式 GA。 From ecddfa18dc9c625e8e7e359994f4f4d0ee1c9ce9 Mon Sep 17 00:00:00 2001 From: Aolin Date: Mon, 13 Nov 2023 10:37:20 +0800 Subject: [PATCH 41/93] add duplicate improvements and bug fixes Signed-off-by: Aolin --- releases/release-7.5.0.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index a5764dedfa1a..0e55952bc64f 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -196,6 +196,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + TiKV + - (dup): release-7.1.2.md > 改进提升> TiKV - 避免写 Titan manifest 文件时持有锁导致影响其他线程 [#15351](https://github.com/tikv/tikv/issues/15351) @[Connor1996](https://github.com/Connor1996) - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) @@ -240,16 +241,23 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + TiDB + - (dup): release-7.1.2.md > 错误修复> TiDB - 禁止非整型聚簇索引进行 split table 操作 [#47350](https://github.com/pingcap/tidb/issues/47350) @[tangenta](https://github.com/tangenta) + - (dup): release-7.1.2.md > 错误修复> TiDB - 修复使用错误的时区信息对时间字段进行编码的问题 [#46033](https://github.com/pingcap/tidb/issues/46033) @[tangenta](https://github.com/tangenta) + - (dup): release-7.1.2.md > 错误修复> TiDB - 修复 Sort 算子在落盘过程中可能导致 TiDB 崩溃的问题 [#47538](https://github.com/pingcap/tidb/issues/47538) @[windtalker](https://github.com/windtalker) + - (dup): release-7.1.2.md > 错误修复> TiDB - 修复查询使用 `GROUP_CONCAT` 时报错 `Can't find column` 的问题 [#41957](https://github.com/pingcap/tidb/issues/41957) @[AilinKid](https://github.com/AilinKid) + - (dup): release-7.1.2.md > 错误修复> TiDB - 修复 `client-go` 中 `batch-client` panic 的问题 [#47691](https://github.com/pingcap/tidb/issues/47691) @[crazycs520](https://github.com/crazycs520) - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiKV + - (dup): release-5.4.0.md > Bug 修复> TiKV - 修复悲观事务中 prewrite 请求重试在极少数情况下影响数据一致性的风险 [#11187](https://github.com/tikv/tikv/issues/11187) - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) + PD + - (dup): release-7.1.2.md > 错误修复> PD - 修复 `evict-leader-scheduler` 丢失配置的问题 [#6897](https://github.com/tikv/pd/issues/6897) @[HuSharp](https://github.com/HuSharp) - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) @@ -262,6 +270,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + Backup & Restore (BR) + - (dup): release-7.1.2.md > 错误修复> Tools> Backup & Restore (BR) - 修复 PITR 可能跳过恢复 `CREATE INDEX` DDL 的问题 [#47482](https://github.com/pingcap/tidb/issues/47482) @[Leavrth](https://github.com/Leavrth) - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) From a827dd721dc4242aff063d17b6131cd6672ae24f Mon Sep 17 00:00:00 2001 From: Ran Date: Mon, 13 Nov 2023 13:30:59 +0800 Subject: [PATCH 42/93] Apply suggestions from code review --- releases/release-7.5.0.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 0e55952bc64f..48fb87cbf21e 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -25,9 +25,9 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - Scalability and Performance - Support for running multiple ADD INDEX statements in parallel {/* tw@ran-huang */} - Different from distributed and parallel DDL jobs, this feature allows for concurrent jobs to run where they were otherwise running syncrhonsously. Where running DDL statements x, y at the same time used to take x-time +y-time, they now take significantly less. + 可扩展性与性能 + 支持并行运行多个 ADD INDEX 语句 {/* tw@ran-huang */} + 与分布式和并行 DDL 任务不同,在该功能中,原来为同步运行的任务可以变为并发运行。以前同时运行 DDL 语句 X 和 Y 需要花费 X 的时间 + Y 的时间,并发运行后,DDL 总耗时显著减少了。 Reliability and Availability @@ -57,8 +57,8 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 你可以选择在现有 TiDB 节点、或者新增 TiDB 节点执行 ADD INDEXIMPORT INTO SQL 语句。该方法可以实现与其他 TiDB 节点的资源隔离,确保在执行上述语句时的最佳性能,并避免对已有业务造成性能影响。在 v7.5.0 中,该功能正式 GA。 - DDL supports pause and resume operations {/* tw@ran-huang */} - Adding indexes can be big resource consumers and can affect online traffic. Even when throttled in a Resource Group or isolated to labeled nodes, there may still be a need to suspend these jobs in emergencies. As of v7.2, TiDB now natively supports suspending any number of these background jobs at once, freeing up needed resources while avoiding have to cancel and restart the jobs. + DDL 任务支持暂停和恢复操作 {/* tw@ran-huang */} + 添加索引可能会消耗大量资源并影响在线流量。即使在资源组中进行了限制,或对标记的节点进行了隔离,你仍然可能需要在紧急情况下暂停这些任务。从 v7.2 开始,TiDB现在原生支持同时暂停任意数量的后台任务,释放所需的资源,无需取消或重启任务。 From e6d6b7f75473cd32978afe8fd5d4b0729621dc7b Mon Sep 17 00:00:00 2001 From: Weizhen Wang Date: Mon, 13 Nov 2023 14:44:36 +0800 Subject: [PATCH 43/93] Update releases/release-7.5.0.md Co-authored-by: xixirangrang --- releases/release-7.5.0.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 48fb87cbf21e..59e24e71fb9a 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -144,6 +144,9 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 | 变量名 | 修改类型(包括新增/修改/删除) | 描述 | |--------|------------------------------|------| +| [`tidb_analyze_partition_concurrency`](/system-variables.md#tidb_analyze_partition_concurrency) | 修改 | 经进一步的测试后,默认值由 `1` 改为 `2`。 | +| [`tidb_build_stats_concurrency`](/system-variables.md#tidb_build_stats_concurrency) | 修改 | 经进一步的测试后,默认值由 `4` 改为 `2`。 | +| [`tidb_merge_partition_stats_concurrency`](/system-variables.md#tidb_merge_partition_stats_concurrency) | 修改 | 该变量从 v7.5.0 开始生效,用于设置 TiDB 使用异步方式合并统计信息,以避免 OOM 问题。 | | [`tidb_build_sampling_stats_concurrency`](/system-variables.md#tidb_build_sampling_stats_concurrency-从-v750-版本开始引入) | 新增 | 该变量用来设置 `ANALYZE` 过程中的采样并发度。 | | [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入) | 新增 | 该变量用于 TiDB 使用异步方式合并统计信息, 以避免 OOM 问题。 | | [`tidb_gogc_tuner_max_value`](/system-variables.md#tidb_gogc_tuner_max_value-从-v750-版本开始引入) | 新增 | 用来控制 GOGC Tuner 可调节 GOGC 的最大值。 | From 9b35c1668fa83ee6e9ef50ca1076e613ae167e2b Mon Sep 17 00:00:00 2001 From: Aolin Date: Mon, 13 Nov 2023 16:22:59 +0800 Subject: [PATCH 44/93] bug fixes: add TiDB/execution and TiFlash/compute Co-authored-by: ruoxi --- releases/release-7.5.0.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 59e24e71fb9a..8fe02d580a54 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -250,7 +250,11 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - (dup): release-7.1.2.md > 错误修复> TiDB - 修复查询使用 `GROUP_CONCAT` 时报错 `Can't find column` 的问题 [#41957](https://github.com/pingcap/tidb/issues/41957) @[AilinKid](https://github.com/AilinKid) - (dup): release-7.1.2.md > 错误修复> TiDB - 修复 `client-go` 中 `batch-client` panic 的问题 [#47691](https://github.com/pingcap/tidb/issues/47691) @[crazycs520](https://github.com/crazycs520) - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 修复 Sort 算子发生 Spill 时可能发生的 Crash [#47538](https://github.com/pingcap/tidb/issues/47538) @[windtalker](https://github.com/windtalker) + - 修复 INDEX_LOOKUP_HASH_JOIN 内存使用量估算错误的问题 [#47788](https://github.com/pingcap/tidb/issues/47788) @[SeaRise](https://github.com/SeaRise) + - 修复长时间下线的 TiFlash 节点重新加入集群后造成的负载不均衡的问题 [#35418](https://github.com/pingcap/tidb/issues/35418) @[windtalker](https://github.com/windtalker) + - 修复 HashJoin 算子 Probe 时 Chunk 无法复用的问题 [#48082](https://github.com/pingcap/tidb/issues/48082) @[wshwsh12](https://github.com/wshwsh12) + - 修复 COALESCE 函数对于 Date 类型参数返回结果类型不正确的问题 [#46475](https://github.com/pingcap/tidb/issues/46475) @[xzhangxian1008](https://github.com/xzhangxian1008) + TiKV @@ -266,7 +270,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + TiFlash - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 修复 UPPER/LOWER 函数在 TiDB 和 TiFlash 中计算结果不一致的问题 [#7695](https://github.com/pingcap/tiflash/issues/7695) @[windtalker](https://github.com/windtalker) - note [#issue](链接) @[贡献者 GitHub ID](链接) + Tools From 2da32496e3909fed9d5cf3f01f678aa67444f3fe Mon Sep 17 00:00:00 2001 From: Aolin Date: Mon, 13 Nov 2023 17:40:43 +0800 Subject: [PATCH 45/93] update highlights Signed-off-by: Aolin --- releases/release-7.5.0.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 8fe02d580a54..c565faa08bf6 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -18,9 +18,9 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - - - + + + @@ -35,17 +35,17 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - - + + - + - - + + From 727a91ecf5d8a45ead414c9b87fcf81aafd812da Mon Sep 17 00:00:00 2001 From: Aolin Date: Mon, 13 Nov 2023 19:29:18 +0800 Subject: [PATCH 46/93] fix format and add contributors Signed-off-by: Aolin --- releases/release-7.5.0.md | 36 +++++++++++++++++------------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index c565faa08bf6..cae40dff6cb5 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -13,7 +13,7 @@ TiDB 版本:7.5.0 TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 -相比于前一个 LTS(即 7.1.0 版本),7.5.0 版本包含 [7.2.0-DMR](/releases/release-7.2.0.md)、[7.3.0-DMR](/releases/release-7.3.0.md) 和 [7.4.0-DMR](/releases/release-7.4.0.md) 中已发布的新功能、提升改进和错误修复,并引入了以下关键特性: +相比于前一个 LTS(即 7.1.0 版本),7.5.0 版本包含 [7.2.0-DMR](/releases/release-7.2.0.md)、[7.3.0-DMR](/releases/release-7.3.0.md) 和 [7.4.0-DMR](/releases/release-7.4.0.md) 中已发布的新功能、提升改进和错误修复。下表列出了从 7.2.0 到 7.5.0 的一些关键特性:
CategoryFeatureDescription分类功能描述
Laying the groundwork with the distributed framework in v7.2, TiDB introduces global sorting to eliminate the unnecessary I/O, CPU, and memory spikes caused from temporarily out of order data during data re-organization tasks. The global sorting will take advantage of external shared object storage (S3 in this first iteration) to store intermediary files during the job, adding flexibility and cost savings.Operations like ADD INDEX and IMPORT INTO will be faster, more resilient, more stable, more flexible, and cost less to run.
Resource control for background tasks (experimental) {/* tw@Oreoxmt */}In v7.1.0, the Resource Control feature was introduced to mitigate resource and storage access interference between workloads. TiDB v7.4.0 applies this control to background tasks as well. In v7.4.0, Resource Control now identifies and manages the resources produced by background tasks, such as auto-analyze, Backup & Restore, bulk load with TiDB Lightning, and online DDL. This will eventually apply to all background tasks.资源管控支持自动管理后台任务(实验特性) {/* tw@Oreoxmt */}从 v7.1.0 开始,资源管控成为正式功能,该特性有助于缓解不同工作负载间的资源与存储访问干扰。TiDB v7.4.0 将此资源控制应用于后台任务。资源管控可以识别和管理后台任务,例如自动收集统计信息、备份和恢复、TiDB Lightning 批量数据导入以及在线 DDL。未来,所有后台任务都将纳入资源管控。
资源组支持管理资源消耗超出预期的查询(实验特性){/* tw@hfxsd */}资源管控 (Resource Group) 是一个通过资源组 (Resource Group) 对工作负载进行资源隔离的框架,但它并不调用单个查询如何影响每个组内的工作。TiDB v7.2.0 引入了管控资源消耗超出预期的查询 (Runaway Queries),你可以控制 TiDB 如何识别和处理每个资源组的查询。根据需要,长时间运行的查询可能会被终止或节流,你可以通过准确的 SQL test、SQL Digest 或其 Plan Digest来识别查询。在 TiDB v7.3.0,你可以主动监视已知的不良查询,类似于数据库级别的 SQL Blocklist。资源管控 (Resource Group) 是一个通过资源组 (Resource Group) 对工作负载进行资源隔离的框架,但它并不调用单个查询如何影响每个组内的工作。TiDB v7.2.0 引入了管控资源消耗超出预期的查询 (Runaway Queries),你可以控制 TiDB 如何识别和处理每个资源组的查询。根据需要,长时间运行的查询可能会被终止或节流,你可以通过准确的 SQL test、SQL Digest 或其 Plan Digest来识别查询。在 TiDB v7.3.0,你可以主动监视已知的不良查询,类似于数据库级别的 SQL Blocklist。
SQLMySQL 8.0 compatibility {/* tw@Oreoxmt */}In MySQL 8.0, the default characterset is utf8mb4, and the default collation of utf8mb4 is utf8mb4_0900_ai_ci. TiDB v7.4.0 adding support for this enhances compatibility with MySQL 8.0 so that migrations and replications from MySQL 8.0 databases with the default collation are now much smoother.MySQL 8.0 兼容性 {/* tw@Oreoxmt */}MySQL 8.0 的默认字符集为 utf8mb4,其默认排序规则是 utf8mb4_0900_ai_ci。TiDB v7.4.0 增强了与 MySQL 8.0 的兼容性。现在你可以更轻松地将在 MySQL 8.0 中使用默认排序规则创建的数据库迁移或复制到 TiDB。
DB Operations and Observability
@@ -30,7 +30,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - + @@ -48,7 +48,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - + @@ -75,7 +75,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ### 性能 -* TiDB 后端任务分布式并行执行框架成为正式功能(GA),其中基于云存储的全局排序功能也成为正式功能,提升并行执行的 `ADD INDEX` 或 `IMPORT INTO` 任务的性能和稳定性 [#45719](https://github.com/pingcap/tidb/issues/45719) @[wjhuang2016](https://github.com/wjhuang2016) +* TiDB 后端任务分布式并行执行框架成为正式功能 (GA),其中基于云存储的全局排序功能也成为正式功能,提升并行执行的 `ADD INDEX` 或 `IMPORT INTO` 任务的性能和稳定性 [#45719](https://github.com/pingcap/tidb/issues/45719) @[wjhuang2016](https://github.com/wjhuang2016) 在 v7.4.0 以前,当用户执行分布式并行执行框架的 `ADD INDEX` 或 `IMPORT INTO` 任务时,TiDB 节点需要准备一块较大的本地磁盘,对编码后的索引 KV pairs 和表数据 KV pairs 进行排序。由于无法从全局角度进行排序,各个 TiDB 节点间以及节点内部导入的数据可能存在重叠情况。这会导致在将这些 KV pairs 导入到 TiKV 时,TiKV 需要频繁进行数据整理 (compaction),降低了 `ADD INDEX` 或 `IMPORT INTO` 的性能和稳定性。 @@ -110,7 +110,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ### 数据迁移 -* `IMPORT INTO` SQL 语句成为正式功能(GA)[#46704](https://github.com/pingcap/tidb/issues/46704) @[D3Hunter](https://github.com/D3Hunter) +* `IMPORT INTO` SQL 语句成为正式功能 (GA) [#46704](https://github.com/pingcap/tidb/issues/46704) @[D3Hunter](https://github.com/D3Hunter) 在 v7.5.0 中,`IMPORT INTO` SQL 语句正式 GA。该语句集成了 TiDB Lightning [物理导入模式](/tidb-lightning/tidb-lightning-physical-import-mode.md)的能力,可以将 CSV、SQL 和 PARQUET 等格式的数据快速导入到 TiDB 的一张空表中。这种导入方式无需单独部署和管理 TiDB Lightning,在降低了数据导入难度的同时,大幅提升了数据导入效率。 @@ -142,29 +142,26 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ### 系统变量 -| 变量名 | 修改类型(包括新增/修改/删除) | 描述 | +| 变量名 | 修改类型 | 描述 | |--------|------------------------------|------| -| [`tidb_analyze_partition_concurrency`](/system-variables.md#tidb_analyze_partition_concurrency) | 修改 | 经进一步的测试后,默认值由 `1` 改为 `2`。 | -| [`tidb_build_stats_concurrency`](/system-variables.md#tidb_build_stats_concurrency) | 修改 | 经进一步的测试后,默认值由 `4` 改为 `2`。 | -| [`tidb_merge_partition_stats_concurrency`](/system-variables.md#tidb_merge_partition_stats_concurrency) | 修改 | 该变量从 v7.5.0 开始生效,用于设置 TiDB 使用异步方式合并统计信息,以避免 OOM 问题。 | -| [`tidb_build_sampling_stats_concurrency`](/system-variables.md#tidb_build_sampling_stats_concurrency-从-v750-版本开始引入) | 新增 | 该变量用来设置 `ANALYZE` 过程中的采样并发度。 | -| [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入) | 新增 | 该变量用于 TiDB 使用异步方式合并统计信息, 以避免 OOM 问题。 | -| [`tidb_gogc_tuner_max_value`](/system-variables.md#tidb_gogc_tuner_max_value-从-v750-版本开始引入) | 新增 | 用来控制 GOGC Tuner 可调节 GOGC 的最大值。 | -| [`tidb_gogc_tuner_min_value`](/system-variables.md#tidb_gogc_tuner_min_value-从-v750-版本开始引入) | 新增 | 用来控制 GOGC Tuner 可调节 GOGC 的最小值。 | -| `tidb_enable_fast_analyze` | 废弃 | 用于控制是否启用统计信息快速分析功能。自 v7.5.0 起,统计信息快速分析功能被废弃。 | -| | | | -| | | | +| [`tidb_enable_fast_analyze`](/system-variables.md#tidb_enable_fast_analyze) | 废弃 | 用于控制是否启用统计信息快速分析功能。自 v7.5.0 起,统计信息快速分析功能被废弃。 | +| [`tidb_analyze_partition_concurrency`](/system-variables.md#tidb_analyze_partition_concurrency) | 修改 | 经进一步的测试后,默认值由 `1` 改为 `2`。 | +| [`tidb_build_stats_concurrency`](/system-variables.md#tidb_build_stats_concurrency) | 修改 | 经进一步的测试后,默认值由 `4` 改为 `2`。 | +| [`tidb_merge_partition_stats_concurrency`](/system-variables.md#tidb_merge_partition_stats_concurrency) | 修改 | 该变量从 v7.5.0 开始生效,用于设置 TiDB analyze 分区表时,对分区表统计信息进行合并时的并发度。 | +| [`tidb_build_sampling_stats_concurrency`](/system-variables.md#tidb_build_sampling_stats_concurrency-从-v750-版本开始引入) | 新增 | 设置 `ANALYZE` 过程中的采样并发度。 | +| [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入) | 新增 | 设置 TiDB 使用异步方式合并统计信息,以避免 OOM 问题。| +| [`tidb_gogc_tuner_max_value`](/system-variables.md#tidb_gogc_tuner_max_value-从-v750-版本开始引入) | 新增 | 控制 GOGC Tuner 可调节 GOGC 的最大值。 | +| [`tidb_gogc_tuner_min_value`](/system-variables.md#tidb_gogc_tuner_min_value-从-v750-版本开始引入) | 新增 | 控制 GOGC Tuner 可调节 GOGC 的最小值。 | ### 配置文件参数 | 配置文件 | 配置项 | 修改类型 | 描述 | | -------- | -------- | -------- | -------- | -| BR | [`--ignore-stats`](/br/br-snapshot-manual.md#备份统计信息) | 新增 | 用于备份和恢复数据库统计信息。当指定该参数值为 `false` 时,BR 备份工具支持备份和恢复数据库的列、索引、和表级别的统计信息。 | +| BR | [`--ignore-stats`](/br/br-snapshot-manual.md#备份统计信息) | 新增 | 用于备份和恢复数据库统计信息。当指定该参数值为 `false` 时,BR 备份工具支持备份和恢复数据库的列、索引、和表级别的统计信息。 | | TiCDC | [`sink.column-selectors`](/ticdc/ticdc-changefeed-config.md) | 新增 | 控制 TiCDC 将增量数据分发到 Kafka 时,只发送指定的列的数据变更事件。 | | TiCDC | [`sink.dispatchers.partition`](/ticdc/ticdc-changefeed-config.md) | 修改 | 控制增量数据的 Kafka Partition 分发策略,可选值新增 `columns` 选项,即使用明确指定的列值计算 partition 编号。 | | TiCDC | [`sql-mode`](/ticdc/ticdc-changefeed-config.md) | 新增 | 设置 TiCDC 解析 DDL 时使用的 SQL 模式,默认值和 TiDB 的默认 SQL 模式一致。 | | TiDB Lightning | 删除 | `--importer` | 该配置项用于指定 TiKV-importer 的地址。从 v7.5.0 起,TiKV-importer 组件被废弃。 | -| | | | | ### 其他 @@ -309,4 +306,5 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 感谢来自 TiDB 社区的贡献者们: -- [贡献者 GitHub ID]() +- [jgrande](https://github.com/jgrande)(首次贡献者) +- [shawn0915](https://github.com/shawn0915) From 456a61d9a7899e1481b2c5d0aa738c0ba3f949f0 Mon Sep 17 00:00:00 2001 From: Aolin Date: Tue, 14 Nov 2023 11:19:30 +0800 Subject: [PATCH 47/93] bug fix: add TiCDC Co-authored-by: givemefive <87104512+nongfushanquan@users.noreply.github.com> --- releases/release-7.5.0.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index cae40dff6cb5..d366e419a267 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -280,6 +280,15 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + TiCDC + - 修复同步到对象存储时访问 NFS 目录导致的性能问题 [#10041](https://github.com/pingcap/tiflow/issues/10041) + - 修复开启 claim-check 功能,存储路径拼写不对的问题 [#10036](https://github.com/pingcap/tiflow/issues/10036) + - 修复开启 column filter 功能时列设置不对的问题 [#10042](https://github.com/pingcap/tiflow/issues/10042) + - 优化设置过滤规则时是否忽略大小写的默认值[#10047](https://github.com/pingcap/tiflow/issues/10047) + - 修复 cdc 在某些情况下调度不均衡的问题 [#9845](https://github.com/pingcap/tiflow/issues/9845) + - 修复同步到 Kafka 时 callback 可能出现丢失的问题 [#9855](https://github.com/pingcap/tiflow/issues/9855) + - 修复某些特殊场景下 processor 可能 panic 的问题 [#9849](https://github.com/pingcap/tiflow/issues/9849)[#9917](https://github.com/pingcap/tiflow/issues/9917) + - 修复某些场景下,TiCDC 丢失了对 Region 错误的处理导致同步任务卡住的问题 [#9673](https://github.com/pingcap/tiflow/issues/9673) + - 修复开启 Redo log 时,NFS 出现故障导致 owner 节点卡住的问题 [#9886](https://github.com/pingcap/tiflow/issues/9886) - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) From 1ebac2f0ad345a4fa078baf7f16edd70c3aa0553 Mon Sep 17 00:00:00 2001 From: Aolin Date: Tue, 14 Nov 2023 11:25:05 +0800 Subject: [PATCH 48/93] compatibility changes: fix table --- releases/release-7.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index d366e419a267..184447118e83 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -161,7 +161,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 | TiCDC | [`sink.column-selectors`](/ticdc/ticdc-changefeed-config.md) | 新增 | 控制 TiCDC 将增量数据分发到 Kafka 时,只发送指定的列的数据变更事件。 | | TiCDC | [`sink.dispatchers.partition`](/ticdc/ticdc-changefeed-config.md) | 修改 | 控制增量数据的 Kafka Partition 分发策略,可选值新增 `columns` 选项,即使用明确指定的列值计算 partition 编号。 | | TiCDC | [`sql-mode`](/ticdc/ticdc-changefeed-config.md) | 新增 | 设置 TiCDC 解析 DDL 时使用的 SQL 模式,默认值和 TiDB 的默认 SQL 模式一致。 | -| TiDB Lightning | 删除 | `--importer` | 该配置项用于指定 TiKV-importer 的地址。从 v7.5.0 起,TiKV-importer 组件被废弃。 | +| TiDB Lightning | `--importer` | 删除 | 该配置项用于指定 TiKV-importer 的地址。从 v7.5.0 起,TiKV-importer 组件被废弃。 | ### 其他 From b103bc8b3ad2c280260a0d4dddf81dda0ac85317 Mon Sep 17 00:00:00 2001 From: Aolin Date: Wed, 15 Nov 2023 13:19:56 +0800 Subject: [PATCH 49/93] Apply suggestions from code review Co-authored-by: xixirangrang --- releases/release-7.5.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 184447118e83..73324e2aad30 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -49,7 +49,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - + @@ -58,7 +58,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - +
与分布式和并行 DDL 任务不同,在该功能中,原来为同步运行的任务可以变为并发运行。以前同时运行 DDL 语句 X 和 Y 需要花费 X 的时间 + Y 的时间,并发运行后,DDL 总耗时显著减少了。
Reliability and Availability稳定性与高可用 Global sort optimization {/* tw@ran-huang */} Laying the groundwork with the distributed framework in v7.2, TiDB introduces global sorting to eliminate the unnecessary I/O, CPU, and memory spikes caused from temporarily out of order data during data re-organization tasks. The global sorting will take advantage of external shared object storage (S3 in this first iteration) to store intermediary files during the job, adding flexibility and cost savings.Operations like ADD INDEX and IMPORT INTO will be faster, more resilient, more stable, more flexible, and cost less to run.
MySQL 8.0 的默认字符集为 utf8mb4,其默认排序规则是 utf8mb4_0900_ai_ci。TiDB v7.4.0 增强了与 MySQL 8.0 的兼容性。现在你可以更轻松地将在 MySQL 8.0 中使用默认排序规则创建的数据库迁移或复制到 TiDB。
DB Operations and Observability数据库管理与可观测性 IMPORT INTO 语句集成 TiDB Lightning 物理导入模式的能力 {/* tw@qiancai */} 在 v7.2 之前,如需基于文件系统进行数据导入,你需要安装 TiDB Lightning 并使用其物理导入模式。目前,该功能已集成到 IMPORT INTO 语句中,你可以使用此语句快速导入数据,而无需安装任何额外的工具。该语句还支持新的 分布式执行框架全局排序 功能,提升了大规模数据导入时的效率和稳定性。
数据库管理与可观测性IMPORT INTO 语句集成 TiDB Lightning 物理导入模式的能力 {/* tw@qiancai */}IMPORT INTO 语句集成 TiDB Lightning 物理导入模式的能力 {/* tw@qiancai */} 在 v7.2 之前,如需基于文件系统进行数据导入,你需要安装 TiDB Lightning 并使用其物理导入模式。目前,该功能已集成到 IMPORT INTO 语句中,你可以使用此语句快速导入数据,而无需安装任何额外的工具。该语句还支持新的 分布式执行框架全局排序 功能,提升了大规模数据导入时的效率和稳定性。
DDL 任务支持暂停和恢复操作 {/* tw@ran-huang */}添加索引可能会消耗大量资源并影响在线流量。即使在资源组中进行了限制,或对标记的节点进行了隔离,你仍然可能需要在紧急情况下暂停这些任务。从 v7.2 开始,TiDB现在原生支持同时暂停任意数量的后台任务,释放所需的资源,无需取消或重启任务。添加索引可能会消耗大量资源并影响在线流量。即使在资源组中进行了限制,或对标记的节点进行了隔离,你仍然可能需要在紧急情况下暂停这些任务。从 v7.2 开始,TiDB 原生支持同时暂停任意数量的后台任务,释放所需的资源,无需取消或重启任务。
From 78119452a6e08a31cc1933fe7791da13633aee5c Mon Sep 17 00:00:00 2001 From: Aolin Date: Wed, 15 Nov 2023 15:17:08 +0800 Subject: [PATCH 50/93] bug fix: add PD Co-authored-by: niubell --- releases/release-7.5.0.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 73324e2aad30..898481890dd4 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -202,6 +202,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + PD + - 提升 evict-slow-trend 调度的稳定性和易用性 [#7156](https://github.com/tikv/pd/issues/7156) @[LykxSassinato](https://github.com/LykxSassinator) - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) @@ -262,7 +263,14 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + PD - (dup): release-7.1.2.md > 错误修复> PD - 修复 `evict-leader-scheduler` 丢失配置的问题 [#6897](https://github.com/tikv/pd/issues/6897) @[HuSharp](https://github.com/HuSharp) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 修复 store 下线后对应的打点统计数据未删除的问题 [#7180](https://github.com/tikv/pd/issues/7180) @[rleungx](https://github.com/rleungx) + - 修复 DR-AutoSync 在 Placement Rule 配置比较复杂时,canSync 和 hasMajority 可能计算错误的问题 [#7201](https://github.com/tikv/pd/issues/7201) @[disksing](https://github.com/disksing) + - 修复 rule checker 未按照设定的 Placement Rule 添加 Learner 的问题 [#7185](https://github.com/tikv/pd/issues/7185) @[nolouch](https://github.com/nolouch) + - 修复 TiDB Dashboard 不能正常抓取 PD Trace 数据的问题 [#7253](https://github.com/tikv/pd/issues/7253) @[nolouch](https://github.com/nolouch) + - 修复 PD 内部获取的 Region 可能为空导致 PD Panic 的问题 [#7261](https://github.com/tikv/pd/issues/7261) @[lhy1024](https://github.com/lhy1024) + - 修复 DR-AutoSync available_stores 计算错误的问题 [#7221](https://github.com/tikv/pd/issues/7221) @[disksing](https://github.com/disksing) + - 修复 TiKV 节点不可用时有一定几率删除正常 Peers 的问题 [#7249](https://github.com/tikv/pd/issues/7249) @[lhy1024](https://github.com/lhy1024) + - 修复在大集群中添加多个 TiKV 节点可能导致 TiKV 心跳上报变慢或卡住的问题 [#7248](https://github.com/tikv/pd/issues/7248) @[rleungx](https://github.com/rleungx) - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiFlash From 2b5b9e7be2e881caccfa51910bdb19a27020624d Mon Sep 17 00:00:00 2001 From: Aolin Date: Thu, 16 Nov 2023 13:48:57 +0800 Subject: [PATCH 51/93] bug fix: add TiFlash Co-authored-by: JaySon --- releases/release-7.5.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 898481890dd4..b1539cedefd3 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -208,8 +208,8 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + TiFlash - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 修复在空分区上执行查询报错的问题 [#8220](https://github.com/pingcap/tiflash/issues/8220) @[JaySon-Huang](https://github.com/JaySon-Huang) + - 修复同步 TiFlash 副本时可能创建表失败导致 panic 的问题 [#8217](https://github.com/pingcap/tiflash/issues/8217) @[hongyunyan](https://github.com/hongyunyan) + Tools From 894c61f0fc1825dd6cf00004b0cebf09be8e64d6 Mon Sep 17 00:00:00 2001 From: Aolin Date: Thu, 16 Nov 2023 14:02:13 +0800 Subject: [PATCH 52/93] bug fix: add BR Co-authored-by: 3pointer --- releases/release-7.5.0.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index b1539cedefd3..744b7da5836a 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -215,6 +215,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + Backup & Restore (BR) + - 快照备份恢复支持通过 Session token 和 assume role 来设置权限 [#39832](https://github.com/pingcap/tidb/issues/39832) @[3pointer](https://github.com/3pointer) - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) @@ -282,6 +283,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + Backup & Restore (BR) + - 修复大宽表场景下,日志备份在某些场景中可能卡住的问题 [#15714](https://github.com/tikv/tikv/issues/15714) @[YuJuncen](https://github.com/YuJuncen) - (dup): release-7.1.2.md > 错误修复> Tools> Backup & Restore (BR) - 修复 PITR 可能跳过恢复 `CREATE INDEX` DDL 的问题 [#47482](https://github.com/pingcap/tidb/issues/47482) @[Leavrth](https://github.com/Leavrth) - note [#issue](链接) @[贡献者 GitHub ID](链接) - note [#issue](链接) @[贡献者 GitHub ID](链接) From 7b90026ac29e1d07cc9dcdd2dabb92182700fd43 Mon Sep 17 00:00:00 2001 From: Aolin Date: Thu, 16 Nov 2023 15:48:56 +0800 Subject: [PATCH 53/93] update bug fixes and improvements Signed-off-by: Aolin --- releases/release-7.5.0.md | 37 ++++++++++++++----------------------- 1 file changed, 14 insertions(+), 23 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 744b7da5836a..d665a7f245bb 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -69,7 +69,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 * 支持设置 TiDB 节点的服务范围,用于选择适用的 TiDB 节点来执行并行的 `ADD INDEX` 或 `IMPORT INTO` 任务 (GA) [#46258](https://github.com/pingcap/tidb/issues/46258) @[ywqzzy](https://github.com/ywqzzy) - 在资源密集型集群中,并行执行 `ADD INDEX` 或 `IMPORT INTO` 任务可能占用大量 TiDB 节点的资源,从而导致集群性能下降。为了避免对已有业务造成性能影响,v7.4.0 以试验特性引入了变量 [`tidb_service_scope`](/system-variables.md#tidb_service_scope-从-v740-版本开始引入),用于控制 [TiDB 后端任务分布式框架](/tidb-distributed-execution-framework.md)下各 TiDB 节点的服务范围。你可以从现有 TiDB 节点中选择几个节点,或者对新增 TiDB 节点设置服务范围,所有并行执行的 `ADD INDEX` 和 `IMPORT INTO` 的任务只会运行在这些节点。在 v7.5.0 中,该功能正式 GA。 + 在资源密集型集群中,并行执行 `ADD INDEX` 或 `IMPORT INTO` 任务可能占用大量 TiDB 节点的资源,从而导致集群性能下降。为了避免对已有业务造成性能影响,v7.4.0 以实验特性引入了变量 [`tidb_service_scope`](/system-variables.md#tidb_service_scope-从-v740-版本开始引入),用于控制 [TiDB 后端任务分布式框架](/tidb-distributed-execution-framework.md)下各 TiDB 节点的服务范围。你可以从现有 TiDB 节点中选择几个节点,或者对新增 TiDB 节点设置服务范围,所有并行执行的 `ADD INDEX` 和 `IMPORT INTO` 的任务只会运行在这些节点。在 v7.5.0 中,该功能正式 GA。 更多信息,请参考[用户文档](/system-variables.md#tidb_service_scope-从-v740-版本开始引入)。 @@ -182,7 +182,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 * 从 v7.5.0 开始,不再提供 [TiDB Binlog](/tidb-binlog/tidb-binlog-overview.md) 数据同步功能的技术支持,强烈建议使用 [TiCDC](/ticdc/ticdc-overview.md) 实现高效稳定的数据同步。尽管 TiDB Binlog 在 v7.5.0 仍支持 Point-in-Time Recovery (PITR) 场景,但是该组件在未来 LTS 版本中将被完全废弃,推荐使用 [PITR](/br/br-pitr-guide.md) 替代。 -* 统计信息的[快速分析](https://docs.pingcap.com/zh/tidb/v7.4/system-variables#tidb_enable_fast_analyze)(实验特性)在 v7.5.0 中废弃。 +* 统计信息的[快速分析](/system-variables.md#tidb_enable_fast_analyze)(实验特性)在 v7.5.0 中废弃。 * 统计信息的[增量收集](https://docs.pingcap.com/zh/tidb/v7.4/statistics#增量收集)(实验特性)在 v7.5.0 中废弃。 @@ -192,22 +192,20 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - 优化合并 GlobalStats 的并发模型:引入 [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入) 实现同时加载统计信息并进行合并,从而加速分区表场景下 GlobalStats 的生成。同时优化合并 GlobalStats 的内存使用,以避免 OOM 并减少内存分配 [#47219](https://github.com/pingcap/tidb/issues/47219) @[hawkingrei](https://github.com/hawkingrei) - 优化 `ANALYZE` 流程:引入 [`tidb_build_sampling_stats_concurrency`](/system-variables.md#tidb_build_sampling_stats_concurrency-从-v750-版本开始引入) 精细化控制 `ANALYZE` 并发度,减少资源消耗。同时优化 `ANALYZE` 的内存使用,通过复用部分中间结果,减少内存分配,避免频繁 GC [#47275](https://github.com/pingcap/tidb/issues/47275) @[hawkingrei](https://github.com/hawkingrei) - - 改进 Placement Policy 的使用:增加对全局范围的策略配置,完善常用场景的语法支持 [#45384](https://github.com/pingcap/tidb/issues/45384) @[nolouch](https://github.com/nolouch) + - 改进 Placement Policy 的使用:增加对全局范围的策略配置,完善常用场景的语法支持 [#45384](https://github.com/pingcap/tidb/issues/45384) @[nolouch](https://github.com/nolouch) + TiKV - (dup): release-7.1.2.md > 改进提升> TiKV - 避免写 Titan manifest 文件时持有锁导致影响其他线程 [#15351](https://github.com/tikv/tikv/issues/15351) @[Connor1996](https://github.com/Connor1996) - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + PD + - 提升 evict-slow-trend 调度的稳定性和易用性 [#7156](https://github.com/tikv/pd/issues/7156) @[LykxSassinato](https://github.com/LykxSassinator) - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiFlash + - 修复在空分区上执行查询报错的问题 [#8220](https://github.com/pingcap/tiflash/issues/8220) @[JaySon-Huang](https://github.com/JaySon-Huang) - 修复同步 TiFlash 副本时可能创建表失败导致 panic 的问题 [#8217](https://github.com/pingcap/tiflash/issues/8217) @[hongyunyan](https://github.com/hongyunyan) @@ -215,14 +213,13 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + Backup & Restore (BR) + - 快照备份恢复支持通过 Session token 和 assume role 来设置权限 [#39832](https://github.com/pingcap/tidb/issues/39832) @[3pointer](https://github.com/3pointer) - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiCDC - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + + - 优化设置过滤规则时是否忽略大小写的默认值 [#10047](https://github.com/pingcap/tiflow/issues/10047) + TiDB Data Migration (DM) @@ -243,13 +240,12 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + TiDB + - (dup): release-7.1.2.md > 错误修复> TiDB - 禁止非整型聚簇索引进行 split table 操作 [#47350](https://github.com/pingcap/tidb/issues/47350) @[tangenta](https://github.com/tangenta) - (dup): release-7.1.2.md > 错误修复> TiDB - 修复使用错误的时区信息对时间字段进行编码的问题 [#46033](https://github.com/pingcap/tidb/issues/46033) @[tangenta](https://github.com/tangenta) - (dup): release-7.1.2.md > 错误修复> TiDB - 修复 Sort 算子在落盘过程中可能导致 TiDB 崩溃的问题 [#47538](https://github.com/pingcap/tidb/issues/47538) @[windtalker](https://github.com/windtalker) - (dup): release-7.1.2.md > 错误修复> TiDB - 修复查询使用 `GROUP_CONCAT` 时报错 `Can't find column` 的问题 [#41957](https://github.com/pingcap/tidb/issues/41957) @[AilinKid](https://github.com/AilinKid) - (dup): release-7.1.2.md > 错误修复> TiDB - 修复 `client-go` 中 `batch-client` panic 的问题 [#47691](https://github.com/pingcap/tidb/issues/47691) @[crazycs520](https://github.com/crazycs520) - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - 修复 Sort 算子发生 Spill 时可能发生的 Crash [#47538](https://github.com/pingcap/tidb/issues/47538) @[windtalker](https://github.com/windtalker) - 修复 INDEX_LOOKUP_HASH_JOIN 内存使用量估算错误的问题 [#47788](https://github.com/pingcap/tidb/issues/47788) @[SeaRise](https://github.com/SeaRise) - 修复长时间下线的 TiFlash 节点重新加入集群后造成的负载不均衡的问题 [#35418](https://github.com/pingcap/tidb/issues/35418) @[windtalker](https://github.com/windtalker) - 修复 HashJoin 算子 Probe 时 Chunk 无法复用的问题 [#48082](https://github.com/pingcap/tidb/issues/48082) @[wshwsh12](https://github.com/wshwsh12) @@ -258,11 +254,10 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + TiKV - (dup): release-5.4.0.md > Bug 修复> TiKV - 修复悲观事务中 prewrite 请求重试在极少数情况下影响数据一致性的风险 [#11187](https://github.com/tikv/tikv/issues/11187) - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + PD + - (dup): release-7.1.2.md > 错误修复> PD - 修复 `evict-leader-scheduler` 丢失配置的问题 [#6897](https://github.com/tikv/pd/issues/6897) @[HuSharp](https://github.com/HuSharp) - 修复 store 下线后对应的打点统计数据未删除的问题 [#7180](https://github.com/tikv/pd/issues/7180) @[rleungx](https://github.com/rleungx) - 修复 DR-AutoSync 在 Placement Rule 配置比较复杂时,canSync 和 hasMajority 可能计算错误的问题 [#7201](https://github.com/tikv/pd/issues/7201) @[disksing](https://github.com/disksing) @@ -272,35 +267,31 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - 修复 DR-AutoSync available_stores 计算错误的问题 [#7221](https://github.com/tikv/pd/issues/7221) @[disksing](https://github.com/disksing) - 修复 TiKV 节点不可用时有一定几率删除正常 Peers 的问题 [#7249](https://github.com/tikv/pd/issues/7249) @[lhy1024](https://github.com/lhy1024) - 修复在大集群中添加多个 TiKV 节点可能导致 TiKV 心跳上报变慢或卡住的问题 [#7248](https://github.com/tikv/pd/issues/7248) @[rleungx](https://github.com/rleungx) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiFlash + - 修复 UPPER/LOWER 函数在 TiDB 和 TiFlash 中计算结果不一致的问题 [#7695](https://github.com/pingcap/tiflash/issues/7695) @[windtalker](https://github.com/windtalker) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + Tools + Backup & Restore (BR) - - 修复大宽表场景下,日志备份在某些场景中可能卡住的问题 [#15714](https://github.com/tikv/tikv/issues/15714) @[YuJuncen](https://github.com/YuJuncen) + - (dup): release-7.1.2.md > 错误修复> Tools> Backup & Restore (BR) - 修复 PITR 可能跳过恢复 `CREATE INDEX` DDL 的问题 [#47482](https://github.com/pingcap/tidb/issues/47482) @[Leavrth](https://github.com/Leavrth) - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + - 修复大宽表场景下,日志备份在某些场景中可能卡住的问题 [#15714](https://github.com/tikv/tikv/issues/15714) @[YuJuncen](https://github.com/YuJuncen) + TiCDC + - 修复同步到对象存储时访问 NFS 目录导致的性能问题 [#10041](https://github.com/pingcap/tiflow/issues/10041) - 修复开启 claim-check 功能,存储路径拼写不对的问题 [#10036](https://github.com/pingcap/tiflow/issues/10036) - 修复开启 column filter 功能时列设置不对的问题 [#10042](https://github.com/pingcap/tiflow/issues/10042) - - 优化设置过滤规则时是否忽略大小写的默认值[#10047](https://github.com/pingcap/tiflow/issues/10047) - 修复 cdc 在某些情况下调度不均衡的问题 [#9845](https://github.com/pingcap/tiflow/issues/9845) - 修复同步到 Kafka 时 callback 可能出现丢失的问题 [#9855](https://github.com/pingcap/tiflow/issues/9855) - 修复某些特殊场景下 processor 可能 panic 的问题 [#9849](https://github.com/pingcap/tiflow/issues/9849)[#9917](https://github.com/pingcap/tiflow/issues/9917) - 修复某些场景下,TiCDC 丢失了对 Region 错误的处理导致同步任务卡住的问题 [#9673](https://github.com/pingcap/tiflow/issues/9673) - 修复开启 Redo log 时,NFS 出现故障导致 owner 节点卡住的问题 [#9886](https://github.com/pingcap/tiflow/issues/9886) - - note [#issue](链接) @[贡献者 GitHub ID](链接) - - note [#issue](链接) @[贡献者 GitHub ID](链接) + TiDB Data Migration (DM) From be93f41125203c92cf249bd32ff3fe248de70104 Mon Sep 17 00:00:00 2001 From: Aolin Date: Thu, 16 Nov 2023 15:53:49 +0800 Subject: [PATCH 54/93] bug fixes: update TiFlash Signed-off-by: Aolin --- releases/release-7.5.0.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index d665a7f245bb..7fb0c33ebc6b 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -205,10 +205,6 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + TiFlash - - - 修复在空分区上执行查询报错的问题 [#8220](https://github.com/pingcap/tiflash/issues/8220) @[JaySon-Huang](https://github.com/JaySon-Huang) - - 修复同步 TiFlash 副本时可能创建表失败导致 panic 的问题 [#8217](https://github.com/pingcap/tiflash/issues/8217) @[hongyunyan](https://github.com/hongyunyan) - + Tools + Backup & Restore (BR) @@ -270,8 +266,10 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + TiFlash - + - 修复 UPPER/LOWER 函数在 TiDB 和 TiFlash 中计算结果不一致的问题 [#7695](https://github.com/pingcap/tiflash/issues/7695) @[windtalker](https://github.com/windtalker) + - 修复在空分区上执行查询报错的问题 [#8220](https://github.com/pingcap/tiflash/issues/8220) @[JaySon-Huang](https://github.com/JaySon-Huang) + - 修复同步 TiFlash 副本时可能创建表失败导致 panic 的问题 [#8217](https://github.com/pingcap/tiflash/issues/8217) @[hongyunyan](https://github.com/hongyunyan) + Tools From 65640f24cf8f058dbfa8743587ba900411784260 Mon Sep 17 00:00:00 2001 From: Aolin Date: Thu, 16 Nov 2023 16:59:58 +0800 Subject: [PATCH 55/93] update bug fixes and add case-sensitive to compatibility changes --- releases/release-7.5.0.md | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 7fb0c33ebc6b..40bb4855ef5d 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -145,7 +145,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 | 变量名 | 修改类型 | 描述 | |--------|------------------------------|------| | [`tidb_enable_fast_analyze`](/system-variables.md#tidb_enable_fast_analyze) | 废弃 | 用于控制是否启用统计信息快速分析功能。自 v7.5.0 起,统计信息快速分析功能被废弃。 | -| [`tidb_analyze_partition_concurrency`](/system-variables.md#tidb_analyze_partition_concurrency) | 修改 | 经进一步的测试后,默认值由 `1` 改为 `2`。 | +| [`tidb_analyze_partition_concurrency`](/system-variables.md#tidb_analyze_partition_concurrency) | 修改 | 经进一步的测试后,默认值由 `1` 改为 `2`。 | | [`tidb_build_stats_concurrency`](/system-variables.md#tidb_build_stats_concurrency) | 修改 | 经进一步的测试后,默认值由 `4` 改为 `2`。 | | [`tidb_merge_partition_stats_concurrency`](/system-variables.md#tidb_merge_partition_stats_concurrency) | 修改 | 该变量从 v7.5.0 开始生效,用于设置 TiDB analyze 分区表时,对分区表统计信息进行合并时的并发度。 | | [`tidb_build_sampling_stats_concurrency`](/system-variables.md#tidb_build_sampling_stats_concurrency-从-v750-版本开始引入) | 新增 | 设置 `ANALYZE` 过程中的采样并发度。 | @@ -158,8 +158,9 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 | 配置文件 | 配置项 | 修改类型 | 描述 | | -------- | -------- | -------- | -------- | | BR | [`--ignore-stats`](/br/br-snapshot-manual.md#备份统计信息) | 新增 | 用于备份和恢复数据库统计信息。当指定该参数值为 `false` 时,BR 备份工具支持备份和恢复数据库的列、索引、和表级别的统计信息。 | -| TiCDC | [`sink.column-selectors`](/ticdc/ticdc-changefeed-config.md) | 新增 | 控制 TiCDC 将增量数据分发到 Kafka 时,只发送指定的列的数据变更事件。 | +| TiCDC | [`case-sensitive`](/ticdc/ticdc-changefeed-config.md) | 修改 | 经进一步的测试后,默认值由 `true` 改为 `false`,即默认情况下 TiCDC 配置文件中涉及的表名、库名大小写不敏感。 | | TiCDC | [`sink.dispatchers.partition`](/ticdc/ticdc-changefeed-config.md) | 修改 | 控制增量数据的 Kafka Partition 分发策略,可选值新增 `columns` 选项,即使用明确指定的列值计算 partition 编号。 | +| TiCDC | [`sink.column-selectors`](/ticdc/ticdc-changefeed-config.md) | 新增 | 控制 TiCDC 将增量数据分发到 Kafka 时,只发送指定的列的数据变更事件。 | | TiCDC | [`sql-mode`](/ticdc/ticdc-changefeed-config.md) | 新增 | 设置 TiCDC 解析 DDL 时使用的 SQL 模式,默认值和 TiDB 的默认 SQL 模式一致。 | | TiDB Lightning | `--importer` | 删除 | 该配置项用于指定 TiKV-importer 的地址。从 v7.5.0 起,TiKV-importer 组件被废弃。 | @@ -201,7 +202,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + PD - - 提升 evict-slow-trend 调度的稳定性和易用性 [#7156](https://github.com/tikv/pd/issues/7156) @[LykxSassinato](https://github.com/LykxSassinator) + - 提升 `evict-slow-trend` 调度的稳定性和易用性 [#7156](https://github.com/tikv/pd/issues/7156) @[LykxSassinato](https://github.com/LykxSassinator) + TiFlash @@ -210,13 +211,10 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + Backup & Restore (BR) - - 快照备份恢复支持通过 Session token 和 assume role 来设置权限 [#39832](https://github.com/pingcap/tidb/issues/39832) @[3pointer](https://github.com/3pointer) + - 快照备份恢复支持通过 AWS 会话令牌和 IAM 角色设置权限 [#39832](https://github.com/pingcap/tidb/issues/39832) @[3pointer](https://github.com/3pointer) + TiCDC - - - 优化设置过滤规则时是否忽略大小写的默认值 [#10047](https://github.com/pingcap/tiflow/issues/10047) - + TiDB Data Migration (DM) - note [#issue](链接) @[贡献者 GitHub ID](链接) @@ -267,7 +265,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + TiFlash - - 修复 UPPER/LOWER 函数在 TiDB 和 TiFlash 中计算结果不一致的问题 [#7695](https://github.com/pingcap/tiflash/issues/7695) @[windtalker](https://github.com/windtalker) + - 修复 `UPPER()` 和 `LOWER()` 函数在 TiDB 和 TiFlash 中计算结果不一致的问题 [#7695](https://github.com/pingcap/tiflash/issues/7695) @[windtalker](https://github.com/windtalker) - 修复在空分区上执行查询报错的问题 [#8220](https://github.com/pingcap/tiflash/issues/8220) @[JaySon-Huang](https://github.com/JaySon-Huang) - 修复同步 TiFlash 副本时可能创建表失败导致 panic 的问题 [#8217](https://github.com/pingcap/tiflash/issues/8217) @[hongyunyan](https://github.com/hongyunyan) From a13d1bffe106e5cb31b1c2a1ae270265cba593fa Mon Sep 17 00:00:00 2001 From: Aolin Date: Thu, 16 Nov 2023 17:38:07 +0800 Subject: [PATCH 56/93] update import into GA Co-authored-by: Frank945946 <108602632+Frank945946@users.noreply.github.com> --- releases/release-7.5.0.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 40bb4855ef5d..802186cc94eb 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -49,8 +49,8 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 数据库管理与可观测性 - IMPORT INTO 语句集成 TiDB Lightning 物理导入模式的能力 {/* tw@qiancai */} - 在 v7.2 之前,如需基于文件系统进行数据导入,你需要安装 TiDB Lightning 并使用其物理导入模式。目前,该功能已集成到 IMPORT INTO 语句中,你可以使用此语句快速导入数据,而无需安装任何额外的工具。该语句还支持新的 分布式执行框架全局排序 功能,提升了大规模数据导入时的效率和稳定性。 + IMPORT INTO 语句集成 TiDB Lightning 物理导入模式的能力 (GA) {/* tw@qiancai */} + 在 v7.2 之前,如需基于文件系统进行数据导入,你需要安装 TiDB Lightning 并使用其物理导入模式。目前,该功能已集成到 IMPORT INTO 语句中,你可以使用此语句快速导入数据,而无需安装任何额外的工具。该语句还支持分布式执行框架,可分布式执行导入任务,提升了大规模数据导入时的效率。 选择适用的 TiDB 节点来并行执行 ADD INDEXIMPORT INTO SQL 语句 (GA) {/* tw@hfxsd */} @@ -112,9 +112,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 * `IMPORT INTO` SQL 语句成为正式功能 (GA) [#46704](https://github.com/pingcap/tidb/issues/46704) @[D3Hunter](https://github.com/D3Hunter) - 在 v7.5.0 中,`IMPORT INTO` SQL 语句正式 GA。该语句集成了 TiDB Lightning [物理导入模式](/tidb-lightning/tidb-lightning-physical-import-mode.md)的能力,可以将 CSV、SQL 和 PARQUET 等格式的数据快速导入到 TiDB 的一张空表中。这种导入方式无需单独部署和管理 TiDB Lightning,在降低了数据导入难度的同时,大幅提升了数据导入效率。 - - 此外,你可以通过在 `IMPORT INTO` 的 `CLOUD_STORAGE_URI` 选项中指定编码后数据的云存储地址,开启[全局排序功能](/tidb-global-sort.md),提升导入的性能和稳定性。 + 在 v7.5.0 中,`IMPORT INTO` SQL 语句正式 GA。该语句集成了 TiDB Lightning [物理导入模式](/tidb-lightning/tidb-lightning-physical-import-mode.md)的能力,可以将 CSV、SQL 和 PARQUET 等格式的数据快速导入到 TiDB 的一张空表中。这种导入方式无需单独部署和管理 TiDB Lightning,在降低了数据导入难度的同时,大幅提升了数据导入效率。 更多信息,请参考[用户文档](/sql-statements/sql-statement-import-into.md)。 From 33fc0c999f0d57812ef31eabb30c6e062088f291 Mon Sep 17 00:00:00 2001 From: Aolin Date: Thu, 16 Nov 2023 18:06:44 +0800 Subject: [PATCH 57/93] improvement: add tidb_ddl_enable_fast_reorg Co-authored-by: Frank945946 <108602632+Frank945946@users.noreply.github.com> --- releases/release-7.5.0.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 802186cc94eb..c98d35fb4dfb 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -192,7 +192,8 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - 优化合并 GlobalStats 的并发模型:引入 [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入) 实现同时加载统计信息并进行合并,从而加速分区表场景下 GlobalStats 的生成。同时优化合并 GlobalStats 的内存使用,以避免 OOM 并减少内存分配 [#47219](https://github.com/pingcap/tidb/issues/47219) @[hawkingrei](https://github.com/hawkingrei) - 优化 `ANALYZE` 流程:引入 [`tidb_build_sampling_stats_concurrency`](/system-variables.md#tidb_build_sampling_stats_concurrency-从-v750-版本开始引入) 精细化控制 `ANALYZE` 并发度,减少资源消耗。同时优化 `ANALYZE` 的内存使用,通过复用部分中间结果,减少内存分配,避免频繁 GC [#47275](https://github.com/pingcap/tidb/issues/47275) @[hawkingrei](https://github.com/hawkingrei) - 改进 Placement Policy 的使用:增加对全局范围的策略配置,完善常用场景的语法支持 [#45384](https://github.com/pingcap/tidb/issues/45384) @[nolouch](https://github.com/nolouch) - + + - 提升启用索引加速功能 `tidb_ddl_enable_fast_reorg` 后添加索引的性能,在内部测试中 v7.5.0 相比 v6.5.0 性能最高提升 62.5% [#47757](https://github.com/pingcap/tidb/issues/47757) @[tangenta](https://github.com/tangenta) + TiKV - (dup): release-7.1.2.md > 改进提升> TiKV - 避免写 Titan manifest 文件时持有锁导致影响其他线程 [#15351](https://github.com/tikv/tikv/issues/15351) @[Connor1996](https://github.com/Connor1996) From 62418ac2a8454aeac3c8f26d4fedd4afd25b42ae Mon Sep 17 00:00:00 2001 From: Aolin Date: Thu, 16 Nov 2023 18:59:50 +0800 Subject: [PATCH 58/93] make ci happy Signed-off-by: Aolin --- releases/release-7.5.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index c98d35fb4dfb..401801580ecc 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -194,6 +194,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - 改进 Placement Policy 的使用:增加对全局范围的策略配置,完善常用场景的语法支持 [#45384](https://github.com/pingcap/tidb/issues/45384) @[nolouch](https://github.com/nolouch) - 提升启用索引加速功能 `tidb_ddl_enable_fast_reorg` 后添加索引的性能,在内部测试中 v7.5.0 相比 v6.5.0 性能最高提升 62.5% [#47757](https://github.com/pingcap/tidb/issues/47757) @[tangenta](https://github.com/tangenta) + + TiKV - (dup): release-7.1.2.md > 改进提升> TiKV - 避免写 Titan manifest 文件时持有锁导致影响其他线程 [#15351](https://github.com/tikv/tikv/issues/15351) @[Connor1996](https://github.com/Connor1996) From fb6ee7a7b98bd6a4bc45feaa6cc701c2a5684fdf Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Fri, 17 Nov 2023 11:04:53 +0800 Subject: [PATCH 59/93] Update releases/release-7.5.0.md --- releases/release-7.5.0.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 401801580ecc..d87ee59ec4ee 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -280,14 +280,14 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + TiCDC - - 修复同步到对象存储时访问 NFS 目录导致的性能问题 [#10041](https://github.com/pingcap/tiflow/issues/10041) - - 修复开启 claim-check 功能,存储路径拼写不对的问题 [#10036](https://github.com/pingcap/tiflow/issues/10036) - - 修复开启 column filter 功能时列设置不对的问题 [#10042](https://github.com/pingcap/tiflow/issues/10042) - - 修复 cdc 在某些情况下调度不均衡的问题 [#9845](https://github.com/pingcap/tiflow/issues/9845) - - 修复同步到 Kafka 时 callback 可能出现丢失的问题 [#9855](https://github.com/pingcap/tiflow/issues/9855) - - 修复某些特殊场景下 processor 可能 panic 的问题 [#9849](https://github.com/pingcap/tiflow/issues/9849)[#9917](https://github.com/pingcap/tiflow/issues/9917) - - 修复某些场景下,TiCDC 丢失了对 Region 错误的处理导致同步任务卡住的问题 [#9673](https://github.com/pingcap/tiflow/issues/9673) - - 修复开启 Redo log 时,NFS 出现故障导致 owner 节点卡住的问题 [#9886](https://github.com/pingcap/tiflow/issues/9886) + - 修复同步到对象存储时访问 NFS 目录导致的性能问题 [#10041](https://github.com/pingcap/tiflow/issues/10041) @[CharlesCheung96](https://github.com/CharlesCheung96) + - 修复开启 `claim-check` 导致时存储路径拼写错误的问题 [#10036](https://github.com/pingcap/tiflow/issues/10036) @[3AceShowHand](https://github.com/3AceShowHand) + - 修复开启 `column filter` 时列设置错误的问题 [#10042](https://github.com/pingcap/tiflow/issues/10042) @[3AceShowHand](https://github.com/3AceShowHand) + - 修复 TiCDC 在某些情况下调度不均衡的问题 [#9845](https://github.com/pingcap/tiflow/issues/9845) @[3AceShowHand](https://github.com/3AceShowHand) + - 修复同步到 Kafka 时可能丢失 callback 的问题 [#9855](https://github.com/pingcap/tiflow/issues/9855) @[hicqu](https://github.com/hicqu) + - 修复某些场景下 Processor 可能 panic 的问题 [#9849](https://github.com/pingcap/tiflow/issues/9849)[#9915](https://github.com/pingcap/tiflow/issues/9915) @[hicqu](https://github.com/hicqu) @[3AceShowHand](https://github.com/3AceShowHand) + - 修复开启 `kv-client.enable-multiplexing` 导致同步任务卡住的问题 [#9673](https://github.com/pingcap/tiflow/issues/9673) @[fubinzh](https://github.com/fubinzh) + - 修复开启 Redo log 时,NFS 出现故障导致 Owner 节点卡住的问题 [#9886](https://github.com/pingcap/tiflow/issues/9886) @[3AceShowHand](https://github.com/3AceShowHand) + TiDB Data Migration (DM) From edec4797efcbdf2f13e8c78adc3760ff94277135 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Fri, 17 Nov 2023 11:10:47 +0800 Subject: [PATCH 60/93] Update releases/release-7.5.0.md --- releases/release-7.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index d87ee59ec4ee..2f730bd19051 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -285,7 +285,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - 修复开启 `column filter` 时列设置错误的问题 [#10042](https://github.com/pingcap/tiflow/issues/10042) @[3AceShowHand](https://github.com/3AceShowHand) - 修复 TiCDC 在某些情况下调度不均衡的问题 [#9845](https://github.com/pingcap/tiflow/issues/9845) @[3AceShowHand](https://github.com/3AceShowHand) - 修复同步到 Kafka 时可能丢失 callback 的问题 [#9855](https://github.com/pingcap/tiflow/issues/9855) @[hicqu](https://github.com/hicqu) - - 修复某些场景下 Processor 可能 panic 的问题 [#9849](https://github.com/pingcap/tiflow/issues/9849)[#9915](https://github.com/pingcap/tiflow/issues/9915) @[hicqu](https://github.com/hicqu) @[3AceShowHand](https://github.com/3AceShowHand) + - 修复某些场景下 Processor 可能 panic 的问题 [#9849](https://github.com/pingcap/tiflow/issues/9849) [#9915](https://github.com/pingcap/tiflow/issues/9915) @[hicqu](https://github.com/hicqu) @[3AceShowHand](https://github.com/3AceShowHand) - 修复开启 `kv-client.enable-multiplexing` 导致同步任务卡住的问题 [#9673](https://github.com/pingcap/tiflow/issues/9673) @[fubinzh](https://github.com/fubinzh) - 修复开启 Redo log 时,NFS 出现故障导致 Owner 节点卡住的问题 [#9886](https://github.com/pingcap/tiflow/issues/9886) @[3AceShowHand](https://github.com/3AceShowHand) From 04b0d58241f1ef526f802ab0529a5ea795927ddd Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Fri, 17 Nov 2023 13:36:07 +0800 Subject: [PATCH 61/93] Apply suggestions from code review --- releases/release-7.5.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 2f730bd19051..6a967fc9a227 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -280,11 +280,11 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + TiCDC - - 修复同步到对象存储时访问 NFS 目录导致的性能问题 [#10041](https://github.com/pingcap/tiflow/issues/10041) @[CharlesCheung96](https://github.com/CharlesCheung96) + - 修复同步数据到对象存储时访问 NFS 目录导致的性能问题 [#10041](https://github.com/pingcap/tiflow/issues/10041) @[CharlesCheung96](https://github.com/CharlesCheung96) - 修复开启 `claim-check` 导致时存储路径拼写错误的问题 [#10036](https://github.com/pingcap/tiflow/issues/10036) @[3AceShowHand](https://github.com/3AceShowHand) - 修复开启 `column filter` 时列设置错误的问题 [#10042](https://github.com/pingcap/tiflow/issues/10042) @[3AceShowHand](https://github.com/3AceShowHand) - 修复 TiCDC 在某些情况下调度不均衡的问题 [#9845](https://github.com/pingcap/tiflow/issues/9845) @[3AceShowHand](https://github.com/3AceShowHand) - - 修复同步到 Kafka 时可能丢失 callback 的问题 [#9855](https://github.com/pingcap/tiflow/issues/9855) @[hicqu](https://github.com/hicqu) + - 修复同步数据到 Kafka 时可能丢失 Callback 的问题 [#9855](https://github.com/pingcap/tiflow/issues/9855) @[hicqu](https://github.com/hicqu) - 修复某些场景下 Processor 可能 panic 的问题 [#9849](https://github.com/pingcap/tiflow/issues/9849) [#9915](https://github.com/pingcap/tiflow/issues/9915) @[hicqu](https://github.com/hicqu) @[3AceShowHand](https://github.com/3AceShowHand) - 修复开启 `kv-client.enable-multiplexing` 导致同步任务卡住的问题 [#9673](https://github.com/pingcap/tiflow/issues/9673) @[fubinzh](https://github.com/fubinzh) - 修复开启 Redo log 时,NFS 出现故障导致 Owner 节点卡住的问题 [#9886](https://github.com/pingcap/tiflow/issues/9886) @[3AceShowHand](https://github.com/3AceShowHand) From c0198014b98d8199dded0f53a6bda94391e8b0a1 Mon Sep 17 00:00:00 2001 From: Ran Date: Fri, 17 Nov 2023 13:38:28 +0800 Subject: [PATCH 62/93] Update releases/release-7.5.0.md Co-authored-by: Frank945946 <108602632+Frank945946@users.noreply.github.com> --- releases/release-7.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 6a967fc9a227..4642f6b14f38 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -27,7 +27,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 可扩展性与性能 支持并行运行多个 ADD INDEX 语句 {/* tw@ran-huang */} - 与分布式和并行 DDL 任务不同,在该功能中,原来为同步运行的任务可以变为并发运行。以前同时运行 DDL 语句 X 和 Y 需要花费 X 的时间 + Y 的时间,并发运行后,DDL 总耗时显著减少了。 + 与分布式和并行 DDL 任务不同,在该功能中,原来为同步运行的任务可以变为并发运行。以前同时运行 DDL 语句 X 和 Y 需要花费 X 的时间 + Y 的时间,并发运行后,DDL 总耗时显著减少了。尤其是在宽表的场景,内部测试数据显示最高性能可提升 94%。 稳定性与高可用 From 9aacef8d2170f3505e802fd3e20ef4e8c16e6bbf Mon Sep 17 00:00:00 2001 From: Ran Date: Fri, 17 Nov 2023 13:44:24 +0800 Subject: [PATCH 63/93] Update releases/release-7.5.0.md Co-authored-by: Frank945946 <108602632+Frank945946@users.noreply.github.com> --- releases/release-7.5.0.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 4642f6b14f38..08ebcf9e1e11 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -75,17 +75,21 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ### 性能 -* TiDB 后端任务分布式并行执行框架成为正式功能 (GA),其中基于云存储的全局排序功能也成为正式功能,提升并行执行的 `ADD INDEX` 或 `IMPORT INTO` 任务的性能和稳定性 [#45719](https://github.com/pingcap/tidb/issues/45719) @[wjhuang2016](https://github.com/wjhuang2016) +* TiDB 后端任务分布式并行执行框架成为正式功能 (GA),提升并行执行的 `ADD INDEX` 或 `IMPORT INTO` 任务的性能和稳定性 [#45719](https://github.com/pingcap/tidb/issues/45719) @[wjhuang2016](https://github.com/wjhuang2016) - 在 v7.4.0 以前,当用户执行分布式并行执行框架的 `ADD INDEX` 或 `IMPORT INTO` 任务时,TiDB 节点需要准备一块较大的本地磁盘,对编码后的索引 KV pairs 和表数据 KV pairs 进行排序。由于无法从全局角度进行排序,各个 TiDB 节点间以及节点内部导入的数据可能存在重叠情况。这会导致在将这些 KV pairs 导入到 TiKV 时,TiKV 需要频繁进行数据整理 (compaction),降低了 `ADD INDEX` 或 `IMPORT INTO` 的性能和稳定性。 + 在 v6.6.0 中引入的 TiDB 后端任务分布式并行执行框架成为正式功能 (GA)。TiDB v7.1.0 之前的版本中,在同一时间只有一个 TiDB 节点能够执行 DDL 任务。从 v7.1.0 开始,在分布式并行执行框架下,多个 TiDB 节点可以并行执行同一项 DDL 任务。从 v7.2.0 开始,分布式并行执行框架支持多个 TiDB 节点并行执行同一个 `IMPORT INTO` 任务,从而更好地利用 TiDB 集群的资源,大幅提升 DDL 和 `IMPORT INTO` 任务的性能。此外,你还可以通过增加 TiDB 节点来线性提升 DDL 和 `IMPORT INTO` 任务的性能。 - v7.4.0 引入全局排序特性后,编码后的数据不再写入本地进行排序,而是写入云存储,并在云存储中进行全局排序。然后,TiDB 将经过全局排序的索引数据和表数据并行导入到 TiKV 中,从而提升了性能和稳定性。 + 如果要使用分布式并行执行框架,只需将 [`tidb_enable_dist_task`](/system-variables.md#tidb_enable_dist_task-从-v710-版本开始引入) 的值设置为 `ON`: - 更多信息,请参考[用户文档](/tidb-global-sort.md)。 + ```sql + SET GLOBAL tidb_enable_dist_task = ON; + ``` + + 更多信息,请参考[用户文档](/tidb-distributed-execution-framework.md)。 * 提升了在一个 SQL 语句中同时添加多个索引的性能 [#41602](https://github.com/pingcap/tidb/issues/41602) @[tangenta](https://github.com/tangenta) - 在 v7.5.0 之前,用户在一个 SQL 语句里添加多个索引 (`ADD INDEX`) 时,其性能与使用多个独立的 SQL 语句添加多个索引的性能接近。从 v7.5.0 起,在一个 SQL 语句中添加多个索引的性能有了显著的变化,提升了 XX (等待最终测试结果数据),可大大缩短业务添加索引所需的时间。 + 在 v7.5.0 之前,用户在一个 SQL 语句里添加多个索引 (`ADD INDEX`) 时,其性能与使用多个独立的 SQL 语句添加多个索引的性能接近。从 v7.5.0 起,在一个 SQL 语句中添加多个索引的性能有了显著的变化,尤其是在宽表的场景,内部测试数据显示最高性能可提升 94%。 ### 数据库管理 From 59f66414d2dd5a22a703366b1dc5a6112007cd3e Mon Sep 17 00:00:00 2001 From: Ran Date: Fri, 17 Nov 2023 16:58:25 +0800 Subject: [PATCH 64/93] Apply suggestions from code review --- releases/release-7.5.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 08ebcf9e1e11..f109b6b3508e 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -244,10 +244,10 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - (dup): release-7.1.2.md > 错误修复> TiDB - 修复 Sort 算子在落盘过程中可能导致 TiDB 崩溃的问题 [#47538](https://github.com/pingcap/tidb/issues/47538) @[windtalker](https://github.com/windtalker) - (dup): release-7.1.2.md > 错误修复> TiDB - 修复查询使用 `GROUP_CONCAT` 时报错 `Can't find column` 的问题 [#41957](https://github.com/pingcap/tidb/issues/41957) @[AilinKid](https://github.com/AilinKid) - (dup): release-7.1.2.md > 错误修复> TiDB - 修复 `client-go` 中 `batch-client` panic 的问题 [#47691](https://github.com/pingcap/tidb/issues/47691) @[crazycs520](https://github.com/crazycs520) - - 修复 INDEX_LOOKUP_HASH_JOIN 内存使用量估算错误的问题 [#47788](https://github.com/pingcap/tidb/issues/47788) @[SeaRise](https://github.com/SeaRise) + - 修复 `INDEX_LOOKUP_HASH_JOIN` 内存使用量估算错误的问题 [#47788](https://github.com/pingcap/tidb/issues/47788) @[SeaRise](https://github.com/SeaRise) - 修复长时间下线的 TiFlash 节点重新加入集群后造成的负载不均衡的问题 [#35418](https://github.com/pingcap/tidb/issues/35418) @[windtalker](https://github.com/windtalker) - - 修复 HashJoin 算子 Probe 时 Chunk 无法复用的问题 [#48082](https://github.com/pingcap/tidb/issues/48082) @[wshwsh12](https://github.com/wshwsh12) - - 修复 COALESCE 函数对于 Date 类型参数返回结果类型不正确的问题 [#46475](https://github.com/pingcap/tidb/issues/46475) @[xzhangxian1008](https://github.com/xzhangxian1008) + - 修复 HashJoin 算子 Probe 时无法复用 Chunk 的问题 [#48082](https://github.com/pingcap/tidb/issues/48082) @[wshwsh12](https://github.com/wshwsh12) + - 修复 `COALESCE` 函数对于 Date 类型参数返回结果类型不正确的问题 [#46475](https://github.com/pingcap/tidb/issues/46475) @[xzhangxian1008](https://github.com/xzhangxian1008) + TiKV From 774c01631a50e35c5f1769013d36a79937868056 Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 20 Nov 2023 10:06:33 +0800 Subject: [PATCH 65/93] Apply suggestions from code review --- releases/release-7.5.0.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index f109b6b3508e..7959d8f0a856 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -257,13 +257,13 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - (dup): release-7.1.2.md > 错误修复> PD - 修复 `evict-leader-scheduler` 丢失配置的问题 [#6897](https://github.com/tikv/pd/issues/6897) @[HuSharp](https://github.com/HuSharp) - - 修复 store 下线后对应的打点统计数据未删除的问题 [#7180](https://github.com/tikv/pd/issues/7180) @[rleungx](https://github.com/rleungx) - - 修复 DR-AutoSync 在 Placement Rule 配置比较复杂时,canSync 和 hasMajority 可能计算错误的问题 [#7201](https://github.com/tikv/pd/issues/7201) @[disksing](https://github.com/disksing) + - 修复 store 下线后对应的统计数据监控指标未删除的问题 [#7180](https://github.com/tikv/pd/issues/7180) @[rleungx](https://github.com/rleungx) + - 修复采用自适应同步部署模式(DR Auto-Sync)的集群在 Placement Rule 的配置较复杂时,`canSync` 和 `hasMajority` 可能计算错误的问题 [#7201](https://github.com/tikv/pd/issues/7201) @[disksing](https://github.com/disksing) - 修复 rule checker 未按照设定的 Placement Rule 添加 Learner 的问题 [#7185](https://github.com/tikv/pd/issues/7185) @[nolouch](https://github.com/nolouch) - - 修复 TiDB Dashboard 不能正常抓取 PD Trace 数据的问题 [#7253](https://github.com/tikv/pd/issues/7253) @[nolouch](https://github.com/nolouch) + - 修复 TiDB Dashboard 不能正常读取 PD `trace` 数据的问题 [#7253](https://github.com/tikv/pd/issues/7253) @[nolouch](https://github.com/nolouch) - 修复 PD 内部获取的 Region 可能为空导致 PD Panic 的问题 [#7261](https://github.com/tikv/pd/issues/7261) @[lhy1024](https://github.com/lhy1024) - - 修复 DR-AutoSync available_stores 计算错误的问题 [#7221](https://github.com/tikv/pd/issues/7221) @[disksing](https://github.com/disksing) - - 修复 TiKV 节点不可用时有一定几率删除正常 Peers 的问题 [#7249](https://github.com/tikv/pd/issues/7249) @[lhy1024](https://github.com/lhy1024) + - 修复采用自适应同步部署模式(DR Auto-Sync)的集群 `available_stores` 计算错误的问题 [#7221](https://github.com/tikv/pd/issues/7221) @[disksing](https://github.com/disksing) + - 修复当 TiKV 节点不可用时 PD 可能删除正常 Peers 的问题 [#7249](https://github.com/tikv/pd/issues/7249) @[lhy1024](https://github.com/lhy1024) - 修复在大集群中添加多个 TiKV 节点可能导致 TiKV 心跳上报变慢或卡住的问题 [#7248](https://github.com/tikv/pd/issues/7248) @[rleungx](https://github.com/rleungx) + TiFlash From 02f8714aed42debc890484e2e05673f30496dee5 Mon Sep 17 00:00:00 2001 From: Aolin Date: Mon, 20 Nov 2023 10:27:57 +0800 Subject: [PATCH 66/93] highlight: add global sort Co-authored-by: Ran --- releases/release-7.5.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 7959d8f0a856..7f3a0192af9c 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -31,8 +31,8 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 稳定性与高可用 - Global sort optimization {/* tw@ran-huang */} - Laying the groundwork with the distributed framework in v7.2, TiDB introduces global sorting to eliminate the unnecessary I/O, CPU, and memory spikes caused from temporarily out of order data during data re-organization tasks. The global sorting will take advantage of external shared object storage (S3 in this first iteration) to store intermediary files during the job, adding flexibility and cost savings.Operations like ADD INDEX and IMPORT INTO will be faster, more resilient, more stable, more flexible, and cost less to run. + 优化全局排序 {/* tw@ran-huang */} + 在 v7.2 中,TiDB 以后端任务分布式并行执行框架为基础,引入全局排序,消除了数据 reorg 任务期间临时无序数据导致的不必要的 I/O、CPU 和内存峰值。全局排序利用外部对象存储(目前为 S3)来存储系统作业期间的中间文件,增强灵活性并降低成本。ADD INDEXIMPORT INTO 等操作将更快速灵活、稳定可靠,且运行成本较低。 资源管控支持自动管理后台任务(实验特性) {/* tw@Oreoxmt */} From 735f72f6116cee2ba8a1a6cf118d05390fdb463f Mon Sep 17 00:00:00 2001 From: Aolin Date: Mon, 20 Nov 2023 10:37:50 +0800 Subject: [PATCH 67/93] highlight: update global sort --- releases/release-7.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 7f3a0192af9c..872bcd6f3edc 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -31,7 +31,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 稳定性与高可用 - 优化全局排序 {/* tw@ran-huang */} + 优化全局排序(实验特性){/* tw@ran-huang */} 在 v7.2 中,TiDB 以后端任务分布式并行执行框架为基础,引入全局排序,消除了数据 reorg 任务期间临时无序数据导致的不必要的 I/O、CPU 和内存峰值。全局排序利用外部对象存储(目前为 S3)来存储系统作业期间的中间文件,增强灵活性并降低成本。ADD INDEXIMPORT INTO 等操作将更快速灵活、稳定可靠,且运行成本较低。 From 45ee399b815c455df176e4218e6896f4dc83cfdc Mon Sep 17 00:00:00 2001 From: Aolin Date: Mon, 20 Nov 2023 11:23:29 +0800 Subject: [PATCH 68/93] update highlights --- releases/release-7.5.0.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 872bcd6f3edc..9811778f4641 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -5,7 +5,7 @@ summary: 了解 TiDB 7.5.0 版本的新功能、兼容性变更、改进提升 # TiDB 7.5.0 Release Notes -发版日期:2023 年 x 月 x 日 +发版日期:2023 年 11 月 23 日 TiDB 版本:7.5.0 @@ -31,20 +31,20 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 稳定性与高可用 - 优化全局排序(实验特性){/* tw@ran-huang */} - 在 v7.2 中,TiDB 以后端任务分布式并行执行框架为基础,引入全局排序,消除了数据 reorg 任务期间临时无序数据导致的不必要的 I/O、CPU 和内存峰值。全局排序利用外部对象存储(目前为 S3)来存储系统作业期间的中间文件,增强灵活性并降低成本。ADD INDEXIMPORT INTO 等操作将更快速灵活、稳定可靠,且运行成本较低。 + 优化全局排序(实验特性,从 v7.4.0 开始引入){/* tw@ran-huang */} + 在 v7.4.0 中,TiDB 以后端任务分布式并行执行框架为基础,引入全局排序,消除了数据 reorg 任务期间临时无序数据导致的不必要的 I/O、CPU 和内存峰值。全局排序利用外部对象存储(目前为 S3)来存储系统作业期间的中间文件,提高灵活性并降低成本。ADD INDEXIMPORT INTO 等操作将更快速灵活、稳定可靠,且运行成本较低。 - 资源管控支持自动管理后台任务(实验特性) {/* tw@Oreoxmt */} + 资源管控支持自动管理后台任务(实验特性,从 v7.4.0 开始引入) {/* tw@Oreoxmt */} 从 v7.1.0 开始,资源管控成为正式功能,该特性有助于缓解不同工作负载间的资源与存储访问干扰。TiDB v7.4.0 将此资源控制应用于后台任务。资源管控可以识别和管理后台任务,例如自动收集统计信息、备份和恢复、TiDB Lightning 批量数据导入以及在线 DDL。未来,所有后台任务都将纳入资源管控。 - 资源组支持管理资源消耗超出预期的查询(实验特性){/* tw@hfxsd */} + 资源组支持管理资源消耗超出预期的查询(实验特性,从 v7.2.0 开始引入){/* tw@hfxsd */} 资源管控 (Resource Group) 是一个通过资源组 (Resource Group) 对工作负载进行资源隔离的框架,但它并不调用单个查询如何影响每个组内的工作。TiDB v7.2.0 引入了管控资源消耗超出预期的查询 (Runaway Queries),你可以控制 TiDB 如何识别和处理每个资源组的查询。根据需要,长时间运行的查询可能会被终止或节流,你可以通过准确的 SQL test、SQL Digest 或其 Plan Digest来识别查询。在 TiDB v7.3.0,你可以主动监视已知的不良查询,类似于数据库级别的 SQL Blocklist。 SQL - MySQL 8.0 兼容性 {/* tw@Oreoxmt */} + MySQL 8.0 兼容性(从 v7.4.0 开始引入) {/* tw@Oreoxmt */} MySQL 8.0 的默认字符集为 utf8mb4,其默认排序规则是 utf8mb4_0900_ai_ci。TiDB v7.4.0 增强了与 MySQL 8.0 的兼容性。现在你可以更轻松地将在 MySQL 8.0 中使用默认排序规则创建的数据库迁移或复制到 TiDB。 @@ -57,7 +57,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 你可以选择在现有 TiDB 节点、或者新增 TiDB 节点执行 ADD INDEXIMPORT INTO SQL 语句。该方法可以实现与其他 TiDB 节点的资源隔离,确保在执行上述语句时的最佳性能,并避免对已有业务造成性能影响。在 v7.5.0 中,该功能正式 GA。 - DDL 任务支持暂停和恢复操作 {/* tw@ran-huang */} + DDL 任务支持暂停和恢复操作 (GA) {/* tw@ran-huang */} 添加索引可能会消耗大量资源并影响在线流量。即使在资源组中进行了限制,或对标记的节点进行了隔离,你仍然可能需要在紧急情况下暂停这些任务。从 v7.2 开始,TiDB 原生支持同时暂停任意数量的后台任务,释放所需的资源,无需取消或重启任务。 From e41819dd3f12185f090d059de1d80a4309287ea4 Mon Sep 17 00:00:00 2001 From: Ran Date: Mon, 20 Nov 2023 11:31:36 +0800 Subject: [PATCH 69/93] Update releases/release-7.5.0.md Co-authored-by: Xiaoju Wu --- releases/release-7.5.0.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 9811778f4641..bbdef952f8dd 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -248,6 +248,11 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - 修复长时间下线的 TiFlash 节点重新加入集群后造成的负载不均衡的问题 [#35418](https://github.com/pingcap/tidb/issues/35418) @[windtalker](https://github.com/windtalker) - 修复 HashJoin 算子 Probe 时无法复用 Chunk 的问题 [#48082](https://github.com/pingcap/tidb/issues/48082) @[wshwsh12](https://github.com/wshwsh12) - 修复 `COALESCE` 函数对于 Date 类型参数返回结果类型不正确的问题 [#46475](https://github.com/pingcap/tidb/issues/46475) @[xzhangxian1008](https://github.com/xzhangxian1008) + - 修复带子查询的 update 被错误地转成 PointGet 的问题 [#48171](https://github.com/pingcap/tidb/issues/48171) @[hi-rustin](https://github.com/hi-rustin) + - 修复当被缓存的执行计划包含日期类型和 unix_timestamp 比较时会结果错误的问题 [#48165](https://github.com/pingcap/tidb/issues/48165)@[qw4990](https://github.com/qw4990) + - 修复默认 inline 且带 aggregation 或 window 的 CTE 被 recursive CTE 引用时会报错的问题 [#47881](https://github.com/pingcap/tidb/issues/47881) @[elsa0520](https://github.com/elsa0520) + - 修复了优化器为了减少 window function 引入的 sort 而错误地选择了 IndexFullScan 的问题 [#46177](https://github.com/pingcap/tidb/issues/46177) @[qw4990](https://github.com/qw4990) + - 修复了当 CTE 被多次引用时条件下推 CTE 导致结果错误的问题 [#47881](https://github.com/pingcap/tidb/issues/47881) @[winoros](https://github.com/winoros) + TiKV From a554798af422aa93ae9d15d9c085976d96442a0b Mon Sep 17 00:00:00 2001 From: Ran Date: Mon, 20 Nov 2023 13:16:14 +0800 Subject: [PATCH 70/93] Apply suggestions from code review --- releases/release-7.5.0.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index bbdef952f8dd..9528d714eba0 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -248,11 +248,11 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - 修复长时间下线的 TiFlash 节点重新加入集群后造成的负载不均衡的问题 [#35418](https://github.com/pingcap/tidb/issues/35418) @[windtalker](https://github.com/windtalker) - 修复 HashJoin 算子 Probe 时无法复用 Chunk 的问题 [#48082](https://github.com/pingcap/tidb/issues/48082) @[wshwsh12](https://github.com/wshwsh12) - 修复 `COALESCE` 函数对于 Date 类型参数返回结果类型不正确的问题 [#46475](https://github.com/pingcap/tidb/issues/46475) @[xzhangxian1008](https://github.com/xzhangxian1008) - - 修复带子查询的 update 被错误地转成 PointGet 的问题 [#48171](https://github.com/pingcap/tidb/issues/48171) @[hi-rustin](https://github.com/hi-rustin) - - 修复当被缓存的执行计划包含日期类型和 unix_timestamp 比较时会结果错误的问题 [#48165](https://github.com/pingcap/tidb/issues/48165)@[qw4990](https://github.com/qw4990) - - 修复默认 inline 且带 aggregation 或 window 的 CTE 被 recursive CTE 引用时会报错的问题 [#47881](https://github.com/pingcap/tidb/issues/47881) @[elsa0520](https://github.com/elsa0520) - - 修复了优化器为了减少 window function 引入的 sort 而错误地选择了 IndexFullScan 的问题 [#46177](https://github.com/pingcap/tidb/issues/46177) @[qw4990](https://github.com/qw4990) - - 修复了当 CTE 被多次引用时条件下推 CTE 导致结果错误的问题 [#47881](https://github.com/pingcap/tidb/issues/47881) @[winoros](https://github.com/winoros) + - 修复带子查询的 Update 语句被错误地转成 PointGet 的问题 [#48171](https://github.com/pingcap/tidb/issues/48171) @[hi-rustin](https://github.com/hi-rustin) + - 修复当被缓存的执行计划包含日期类型和 `unix_timestamp` 的比较时,结果出现错误的问题 [#48165](https://github.com/pingcap/tidb/issues/48165) @[qw4990](https://github.com/qw4990) + - 修复默认内联且带聚合函数或窗口函数的公共表表达式 (CTE) 被递归的 CTE 引用时会报错的问题 [#47881](https://github.com/pingcap/tidb/issues/47881) @[elsa0520](https://github.com/elsa0520) + - 修复优化器为减少窗口函数引入的 sort 而错误地选择了 IndexFullScan 的问题 [#46177](https://github.com/pingcap/tidb/issues/46177) @[qw4990](https://github.com/qw4990) + - 修复当 CTE 被多次引用时,条件下推 CTE 导致结果错误的问题 [#47881](https://github.com/pingcap/tidb/issues/47881) @[winoros](https://github.com/winoros) + TiKV From bed2ca12a1fe027cfb86e0c9efa776e586d32ce2 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Mon, 20 Nov 2023 13:52:37 +0800 Subject: [PATCH 71/93] Apply suggestions from code review Co-authored-by: Grace Cai --- releases/release-7.5.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 9528d714eba0..48631a186634 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -290,11 +290,11 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - 修复同步数据到对象存储时访问 NFS 目录导致的性能问题 [#10041](https://github.com/pingcap/tiflow/issues/10041) @[CharlesCheung96](https://github.com/CharlesCheung96) - - 修复开启 `claim-check` 导致时存储路径拼写错误的问题 [#10036](https://github.com/pingcap/tiflow/issues/10036) @[3AceShowHand](https://github.com/3AceShowHand) + - 修复开启 `claim-check` 导致存储路径拼写错误的问题 [#10036](https://github.com/pingcap/tiflow/issues/10036) @[3AceShowHand](https://github.com/3AceShowHand) - 修复开启 `column filter` 时列设置错误的问题 [#10042](https://github.com/pingcap/tiflow/issues/10042) @[3AceShowHand](https://github.com/3AceShowHand) - 修复 TiCDC 在某些情况下调度不均衡的问题 [#9845](https://github.com/pingcap/tiflow/issues/9845) @[3AceShowHand](https://github.com/3AceShowHand) - - 修复同步数据到 Kafka 时可能丢失 Callback 的问题 [#9855](https://github.com/pingcap/tiflow/issues/9855) @[hicqu](https://github.com/hicqu) - - 修复某些场景下 Processor 可能 panic 的问题 [#9849](https://github.com/pingcap/tiflow/issues/9849) [#9915](https://github.com/pingcap/tiflow/issues/9915) @[hicqu](https://github.com/hicqu) @[3AceShowHand](https://github.com/3AceShowHand) + - 修复同步数据到 Kafka 时可能丢失回调的问题 [#9855](https://github.com/pingcap/tiflow/issues/9855) @[hicqu](https://github.com/hicqu) + - 修复某些场景下 TiCDC Processor 可能 panic 的问题 [#9849](https://github.com/pingcap/tiflow/issues/9849) [#9915](https://github.com/pingcap/tiflow/issues/9915) @[hicqu](https://github.com/hicqu) @[3AceShowHand](https://github.com/3AceShowHand) - 修复开启 `kv-client.enable-multiplexing` 导致同步任务卡住的问题 [#9673](https://github.com/pingcap/tiflow/issues/9673) @[fubinzh](https://github.com/fubinzh) - 修复开启 Redo log 时,NFS 出现故障导致 Owner 节点卡住的问题 [#9886](https://github.com/pingcap/tiflow/issues/9886) @[3AceShowHand](https://github.com/3AceShowHand) From 96e76de0892a6337b1a7e65dd74200ca38b5ef06 Mon Sep 17 00:00:00 2001 From: Aolin Date: Mon, 20 Nov 2023 14:23:54 +0800 Subject: [PATCH 72/93] add 7.2-7.5 PDF --- releases/release-7.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 48631a186634..316f7bd7c375 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -13,7 +13,7 @@ TiDB 版本:7.5.0 TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 -相比于前一个 LTS(即 7.1.0 版本),7.5.0 版本包含 [7.2.0-DMR](/releases/release-7.2.0.md)、[7.3.0-DMR](/releases/release-7.3.0.md) 和 [7.4.0-DMR](/releases/release-7.4.0.md) 中已发布的新功能、提升改进和错误修复。下表列出了从 7.2.0 到 7.5.0 的一些关键特性: +相比于前一个 LTS(即 7.1.0 版本),7.5.0 版本包含 [7.2.0-DMR](/releases/release-7.2.0.md)、[7.3.0-DMR](/releases/release-7.3.0.md) 和 [7.4.0-DMR](/releases/release-7.4.0.md) 中已发布的新功能、提升改进和错误修复。当你从 7.1.x 升级到 7.5.0 时,可以下载 [TiDB Release Notes PDF](https://download.pingcap.org/tidb-v7.2-to-v7.5-zh-release-notes.pdf) 查看两个 LTS 版本之间的所有 release notes。下表列出了从 7.2.0 到 7.5.0 的一些关键特性: From f40cf54df2f1b99721514f774ff4bd81a8f7c897 Mon Sep 17 00:00:00 2001 From: xhe Date: Mon, 20 Nov 2023 15:18:30 +0800 Subject: [PATCH 73/93] add two bugs of sql-infra Signed-off-by: xhe --- releases/release-7.5.0.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 316f7bd7c375..e0514b36a384 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -253,6 +253,8 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - 修复默认内联且带聚合函数或窗口函数的公共表表达式 (CTE) 被递归的 CTE 引用时会报错的问题 [#47881](https://github.com/pingcap/tidb/issues/47881) @[elsa0520](https://github.com/elsa0520) - 修复优化器为减少窗口函数引入的 sort 而错误地选择了 IndexFullScan 的问题 [#46177](https://github.com/pingcap/tidb/issues/46177) @[qw4990](https://github.com/qw4990) - 修复当 CTE 被多次引用时,条件下推 CTE 导致结果错误的问题 [#47881](https://github.com/pingcap/tidb/issues/47881) @[winoros](https://github.com/winoros) + - 修复 mysql 压缩协议无法处理超大负载 (>=16M) 的问题 [#47152](https://github.com/pingcap/tidb/issues/47152) [#47157](https://github.com/pingcap/tidb/issues/47157) [#47161](https://github.com/pingcap/tidb/issues/47161) @[dveeden](https://github.com/dveeden) + - 修复 TiDB 无法读取 systemd cgroup 资源限制 [#47442](https://github.com/pingcap/tidb/issues/47442) @[hawkingrei](https://github.com/hawkingrei) + TiKV From 6c1418bd533eac2cce043478a4f42c935f0bb7d5 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Mon, 20 Nov 2023 15:41:11 +0800 Subject: [PATCH 74/93] Update releases/release-7.5.0.md Co-authored-by: 3pointer --- releases/release-7.5.0.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index e0514b36a384..53d933d5a3cc 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -213,7 +213,9 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + Tools + Backup & Restore (BR) - + + - 快照备份新增表间备份参数 `table-concurrency`,用于控制统计信息备份、数据校验等元信息的表间并发度 [48571](https://github.com/pingcap/tidb/issues/48571) @[3pointer](https://github.com/3pointer) + - 快照备份恢复会在遇到某些网络错误时进行重试 [48528](https://github.com/pingcap/tidb/issues/48528) @[Leavrth](https://github.com/Leavrth) - 快照备份恢复支持通过 AWS 会话令牌和 IAM 角色设置权限 [#39832](https://github.com/pingcap/tidb/issues/39832) @[3pointer](https://github.com/3pointer) From 5eaf18c14c4c4a2dba5d4e2684c927d9f583c5c0 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Mon, 20 Nov 2023 15:42:09 +0800 Subject: [PATCH 75/93] Update releases/release-7.5.0.md --- releases/release-7.5.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 53d933d5a3cc..de490985aac3 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -214,8 +214,8 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + Backup & Restore (BR) - - 快照备份新增表间备份参数 `table-concurrency`,用于控制统计信息备份、数据校验等元信息的表间并发度 [48571](https://github.com/pingcap/tidb/issues/48571) @[3pointer](https://github.com/3pointer) - - 快照备份恢复会在遇到某些网络错误时进行重试 [48528](https://github.com/pingcap/tidb/issues/48528) @[Leavrth](https://github.com/Leavrth) + - 快照备份新增表间备份参数 `table-concurrency`,用于控制统计信息备份、数据校验等元信息的表间并发度 [48571](https://github.com/pingcap/tidb/issues/48571) @[3pointer](https://github.com/3pointer) + - 快照备份恢复会在遇到某些网络错误时进行重试 [48528](https://github.com/pingcap/tidb/issues/48528) @[Leavrth](https://github.com/Leavrth) - 快照备份恢复支持通过 AWS 会话令牌和 IAM 角色设置权限 [#39832](https://github.com/pingcap/tidb/issues/39832) @[3pointer](https://github.com/3pointer) From d91cd95065407b947a4c1f197a4b086f4d536463 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Mon, 20 Nov 2023 15:48:36 +0800 Subject: [PATCH 76/93] Update releases/release-7.5.0.md --- releases/release-7.5.0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index de490985aac3..fd0c87cec710 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -215,7 +215,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + Backup & Restore (BR) - 快照备份新增表间备份参数 `table-concurrency`,用于控制统计信息备份、数据校验等元信息的表间并发度 [48571](https://github.com/pingcap/tidb/issues/48571) @[3pointer](https://github.com/3pointer) - - 快照备份恢复会在遇到某些网络错误时进行重试 [48528](https://github.com/pingcap/tidb/issues/48528) @[Leavrth](https://github.com/Leavrth) + - 快照备份恢复在遇到某些网络错误时会进行重试 [48528](https://github.com/pingcap/tidb/issues/48528) @[Leavrth](https://github.com/Leavrth) - 快照备份恢复支持通过 AWS 会话令牌和 IAM 角色设置权限 [#39832](https://github.com/pingcap/tidb/issues/39832) @[3pointer](https://github.com/3pointer) From 941017cbbcd00047e200f83eac8983978b31148b Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 20 Nov 2023 15:57:00 +0800 Subject: [PATCH 77/93] Update releases/release-7.5.0.md Co-authored-by: Aolin --- releases/release-7.5.0.md | 1 + 1 file changed, 1 insertion(+) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index fd0c87cec710..abc832168d13 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -255,6 +255,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - 修复默认内联且带聚合函数或窗口函数的公共表表达式 (CTE) 被递归的 CTE 引用时会报错的问题 [#47881](https://github.com/pingcap/tidb/issues/47881) @[elsa0520](https://github.com/elsa0520) - 修复优化器为减少窗口函数引入的 sort 而错误地选择了 IndexFullScan 的问题 [#46177](https://github.com/pingcap/tidb/issues/46177) @[qw4990](https://github.com/qw4990) - 修复当 CTE 被多次引用时,条件下推 CTE 导致结果错误的问题 [#47881](https://github.com/pingcap/tidb/issues/47881) @[winoros](https://github.com/winoros) + - 修复 mysql 压缩协议无法处理超大负载 (>=16M) 的问题 [#47152](https://github.com/pingcap/tidb/issues/47152) [#47157](https://github.com/pingcap/tidb/issues/47157) [#47161](https://github.com/pingcap/tidb/issues/47161) @[dveeden](https://github.com/dveeden) - 修复 TiDB 无法读取 systemd cgroup 资源限制 [#47442](https://github.com/pingcap/tidb/issues/47442) @[hawkingrei](https://github.com/hawkingrei) From 72199a1164d5b4ce488625cd5f468916fd4670ec Mon Sep 17 00:00:00 2001 From: Aolin Date: Mon, 20 Nov 2023 16:58:37 +0800 Subject: [PATCH 78/93] update highlights Co-authored-by: Ran --- releases/release-7.5.0.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index abc832168d13..d4f8a80cfd36 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -32,7 +32,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - + @@ -40,7 +40,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - + @@ -50,15 +50,15 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - + - + - +
稳定性与高可用 优化全局排序(实验特性,从 v7.4.0 开始引入){/* tw@ran-huang */}在 v7.4.0 中,TiDB 以后端任务分布式并行执行框架为基础,引入全局排序,消除了数据 reorg 任务期间临时无序数据导致的不必要的 I/O、CPU 和内存峰值。全局排序利用外部对象存储(目前为 S3)来存储系统作业期间的中间文件,提高灵活性并降低成本。ADD INDEXIMPORT INTO 等操作将更快速灵活、稳定可靠,且运行成本较低。TiDB v7.2.0 中引入了后端任务分布式并行执行框架。在 v7.4.0 中,TiDB 以该框架为基础,引入全局排序,消除了数据 reorg 任务期间临时无序数据导致的不必要的 I/O、CPU 和内存峰值。全局排序利用外部对象存储(目前为 S3)来存储系统作业期间的中间文件,提高灵活性并降低成本。ADD INDEXIMPORT INTO 等操作将更快速灵活、稳定可靠,且运行成本较低。
资源管控支持自动管理后台任务(实验特性,从 v7.4.0 开始引入) {/* tw@Oreoxmt */}
资源组支持管理资源消耗超出预期的查询(实验特性,从 v7.2.0 开始引入){/* tw@hfxsd */}资源管控 (Resource Group) 是一个通过资源组 (Resource Group) 对工作负载进行资源隔离的框架,但它并不调用单个查询如何影响每个组内的工作。TiDB v7.2.0 引入了管控资源消耗超出预期的查询 (Runaway Queries),你可以控制 TiDB 如何识别和处理每个资源组的查询。根据需要,长时间运行的查询可能会被终止或节流,你可以通过准确的 SQL test、SQL Digest 或其 Plan Digest来识别查询。在 TiDB v7.3.0,你可以主动监视已知的不良查询,类似于数据库级别的 SQL Blocklist。资源管控 (Resource Group) 是一个通过资源组 (Resource Group) 对工作负载进行资源隔离的框架,但它并不对每个资源组内的查询产生影响。TiDB v7.2.0 引入了运行超出预期的查询 (Runaway Queries) 时的资源控制功能,你可以控制 TiDB 如何识别和处理每个资源组的查询。根据需要,长时间运行的查询可能会被终止或节流,你可以通过准确的 SQL 文本、SQL Digest 或 Plan Digest 来识别查询。在 TiDB v7.3.0,你可以主动监视已知的不良查询,类似于数据库级别的 SQL Blocklist。
SQL
数据库管理与可观测性 IMPORT INTO 语句集成 TiDB Lightning 物理导入模式的能力 (GA) {/* tw@qiancai */}在 v7.2 之前,如需基于文件系统进行数据导入,你需要安装 TiDB Lightning 并使用其物理导入模式。目前,该功能已集成到 IMPORT INTO 语句中,你可以使用此语句快速导入数据,而无需安装任何额外的工具。该语句还支持分布式执行框架,可分布式执行导入任务,提升了大规模数据导入时的效率。在 v7.2.0 之前,如需基于文件系统进行数据导入,你需要安装 TiDB Lightning 并使用其物理导入模式。目前,该功能已集成到 IMPORT INTO 语句中,你可以使用此语句快速导入数据,而无需安装任何额外的工具。该语句还支持分布式执行框架,可分布式执行导入任务,提升了大规模数据导入时的效率。
选择适用的 TiDB 节点来并行执行 ADD INDEXIMPORT INTO SQL 语句 (GA) {/* tw@hfxsd */}你可以选择在现有 TiDB 节点、或者新增 TiDB 节点执行 ADD INDEXIMPORT INTO SQL 语句。该方法可以实现与其他 TiDB 节点的资源隔离,确保在执行上述语句时的最佳性能,并避免对已有业务造成性能影响。在 v7.5.0 中,该功能正式 GA。你可以灵活选择在现有 TiDB 节点或新增 TiDB 节点执行 ADD INDEXIMPORT INTO SQL 语句。该方法可以实现与其他 TiDB 节点的资源隔离,确保在执行上述语句时的最佳性能,并避免对已有业务造成性能影响。在 v7.5.0 中,该功能正式 GA。
DDL 任务支持暂停和恢复操作 (GA) {/* tw@ran-huang */}添加索引可能会消耗大量资源并影响在线流量。即使在资源组中进行了限制,或对标记的节点进行了隔离,你仍然可能需要在紧急情况下暂停这些任务。从 v7.2 开始,TiDB 原生支持同时暂停任意数量的后台任务,释放所需的资源,无需取消或重启任务。添加索引可能会消耗大量资源并影响在线流量。即使在资源组中进行了限制,或对标记的节点进行了隔离,你仍然可能需要在紧急情况下暂停这些任务。从 v7.2.0 开始,TiDB 原生支持同时暂停任意数量的后台任务,释放所需的资源,无需取消或重启任务。
From a34c5a87cb68b46ef5f3c2aef0f1b25257f96160 Mon Sep 17 00:00:00 2001 From: Aolin Date: Tue, 21 Nov 2023 15:48:28 +0800 Subject: [PATCH 79/93] Apply suggestions from code review Co-authored-by: xixirangrang --- releases/release-7.5.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index d4f8a80cfd36..ee1b7bfeab69 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -53,7 +53,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 在 v7.2.0 之前,如需基于文件系统进行数据导入,你需要安装 TiDB Lightning 并使用其物理导入模式。目前,该功能已集成到 IMPORT INTO 语句中,你可以使用此语句快速导入数据,而无需安装任何额外的工具。该语句还支持分布式执行框架,可分布式执行导入任务,提升了大规模数据导入时的效率。 - 选择适用的 TiDB 节点来并行执行 ADD INDEXIMPORT INTO SQL 语句 (GA) {/* tw@hfxsd */} + 选择适用的 TiDB 节点分布式执行 ADD INDEXIMPORT INTO SQL 语句 (GA) {/* tw@hfxsd */} 你可以灵活选择在现有 TiDB 节点或新增 TiDB 节点执行 ADD INDEXIMPORT INTO SQL 语句。该方法可以实现与其他 TiDB 节点的资源隔离,确保在执行上述语句时的最佳性能,并避免对已有业务造成性能影响。在 v7.5.0 中,该功能正式 GA。 @@ -67,9 +67,9 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ### 可扩展性 -* 支持设置 TiDB 节点的服务范围,用于选择适用的 TiDB 节点来执行并行的 `ADD INDEX` 或 `IMPORT INTO` 任务 (GA) [#46258](https://github.com/pingcap/tidb/issues/46258) @[ywqzzy](https://github.com/ywqzzy) +* 支持设置 TiDB 节点的服务范围,用于选择适用的 TiDB 节点分布式执行 `ADD INDEX` 或 `IMPORT INTO` 任务 (GA) [#46258](https://github.com/pingcap/tidb/issues/46258) @[ywqzzy](https://github.com/ywqzzy) - 在资源密集型集群中,并行执行 `ADD INDEX` 或 `IMPORT INTO` 任务可能占用大量 TiDB 节点的资源,从而导致集群性能下降。为了避免对已有业务造成性能影响,v7.4.0 以实验特性引入了变量 [`tidb_service_scope`](/system-variables.md#tidb_service_scope-从-v740-版本开始引入),用于控制 [TiDB 后端任务分布式框架](/tidb-distributed-execution-framework.md)下各 TiDB 节点的服务范围。你可以从现有 TiDB 节点中选择几个节点,或者对新增 TiDB 节点设置服务范围,所有并行执行的 `ADD INDEX` 和 `IMPORT INTO` 的任务只会运行在这些节点。在 v7.5.0 中,该功能正式 GA。 + 在资源密集型集群中,并行执行 `ADD INDEX` 或 `IMPORT INTO` 任务可能占用大量 TiDB 节点的资源,从而导致集群性能下降。为了避免对已有业务造成性能影响,v7.4.0 以实验特性引入了变量 [`tidb_service_scope`](/system-variables.md#tidb_service_scope-从-v740-版本开始引入),用于控制 [TiDB 后端任务分布式框架](/tidb-distributed-execution-framework.md)下各 TiDB 节点的服务范围。你可以从现有 TiDB 节点中选择几个节点,或者对新增 TiDB 节点设置服务范围,所有分布式执行的 `ADD INDEX` 和 `IMPORT INTO` 的任务只会运行在这些节点。在 v7.5.0 中,该功能正式 GA。 更多信息,请参考[用户文档](/system-variables.md#tidb_service_scope-从-v740-版本开始引入)。 From ada81b262d740439eb98df0e37d70fc6b4ce8c18 Mon Sep 17 00:00:00 2001 From: Aolin Date: Tue, 21 Nov 2023 18:56:07 +0800 Subject: [PATCH 80/93] Apply suggestions from code review --- releases/release-7.5.0.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index ee1b7bfeab69..247e8b2c6b83 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -248,12 +248,12 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - (dup): release-7.1.2.md > 错误修复> TiDB - 修复 `client-go` 中 `batch-client` panic 的问题 [#47691](https://github.com/pingcap/tidb/issues/47691) @[crazycs520](https://github.com/crazycs520) - 修复 `INDEX_LOOKUP_HASH_JOIN` 内存使用量估算错误的问题 [#47788](https://github.com/pingcap/tidb/issues/47788) @[SeaRise](https://github.com/SeaRise) - 修复长时间下线的 TiFlash 节点重新加入集群后造成的负载不均衡的问题 [#35418](https://github.com/pingcap/tidb/issues/35418) @[windtalker](https://github.com/windtalker) - - 修复 HashJoin 算子 Probe 时无法复用 Chunk 的问题 [#48082](https://github.com/pingcap/tidb/issues/48082) @[wshwsh12](https://github.com/wshwsh12) - - 修复 `COALESCE` 函数对于 Date 类型参数返回结果类型不正确的问题 [#46475](https://github.com/pingcap/tidb/issues/46475) @[xzhangxian1008](https://github.com/xzhangxian1008) - - 修复带子查询的 Update 语句被错误地转成 PointGet 的问题 [#48171](https://github.com/pingcap/tidb/issues/48171) @[hi-rustin](https://github.com/hi-rustin) + - 修复 HashJoin 算子 Probe 时无法复用 chunk 的问题 [#48082](https://github.com/pingcap/tidb/issues/48082) @[wshwsh12](https://github.com/wshwsh12) + - 修复 `COALESCE()` 函数对于 `DATE` 类型参数返回结果类型不正确的问题 [#46475](https://github.com/pingcap/tidb/issues/46475) @[xzhangxian1008](https://github.com/xzhangxian1008) + - 修复带子查询的 `UPDATE` 语句被错误地转成 PointGet 的问题 [#48171](https://github.com/pingcap/tidb/issues/48171) @[hi-rustin](https://github.com/hi-rustin) - 修复当被缓存的执行计划包含日期类型和 `unix_timestamp` 的比较时,结果出现错误的问题 [#48165](https://github.com/pingcap/tidb/issues/48165) @[qw4990](https://github.com/qw4990) - 修复默认内联且带聚合函数或窗口函数的公共表表达式 (CTE) 被递归的 CTE 引用时会报错的问题 [#47881](https://github.com/pingcap/tidb/issues/47881) @[elsa0520](https://github.com/elsa0520) - - 修复优化器为减少窗口函数引入的 sort 而错误地选择了 IndexFullScan 的问题 [#46177](https://github.com/pingcap/tidb/issues/46177) @[qw4990](https://github.com/qw4990) + - 修复优化器为减少窗口函数引入的 sort 而错误地选择了 `IndexFullScan` 的问题 [#46177](https://github.com/pingcap/tidb/issues/46177) @[qw4990](https://github.com/qw4990) - 修复当 CTE 被多次引用时,条件下推 CTE 导致结果错误的问题 [#47881](https://github.com/pingcap/tidb/issues/47881) @[winoros](https://github.com/winoros) - 修复 mysql 压缩协议无法处理超大负载 (>=16M) 的问题 [#47152](https://github.com/pingcap/tidb/issues/47152) [#47157](https://github.com/pingcap/tidb/issues/47157) [#47161](https://github.com/pingcap/tidb/issues/47161) @[dveeden](https://github.com/dveeden) From defe16b9cc21f4d06fe9d3427160c4fb42f1b92d Mon Sep 17 00:00:00 2001 From: Aolin Date: Wed, 22 Nov 2023 10:29:22 +0800 Subject: [PATCH 81/93] Apply suggestions from code review Co-authored-by: Grace Cai --- releases/release-7.5.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 247e8b2c6b83..72698417d163 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -256,8 +256,8 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - 修复优化器为减少窗口函数引入的 sort 而错误地选择了 `IndexFullScan` 的问题 [#46177](https://github.com/pingcap/tidb/issues/46177) @[qw4990](https://github.com/qw4990) - 修复当 CTE 被多次引用时,条件下推 CTE 导致结果错误的问题 [#47881](https://github.com/pingcap/tidb/issues/47881) @[winoros](https://github.com/winoros) - - 修复 mysql 压缩协议无法处理超大负载 (>=16M) 的问题 [#47152](https://github.com/pingcap/tidb/issues/47152) [#47157](https://github.com/pingcap/tidb/issues/47157) [#47161](https://github.com/pingcap/tidb/issues/47161) @[dveeden](https://github.com/dveeden) - - 修复 TiDB 无法读取 systemd cgroup 资源限制 [#47442](https://github.com/pingcap/tidb/issues/47442) @[hawkingrei](https://github.com/hawkingrei) + - 修复了 MySQL 压缩协议无法处理超大负载数据 (>= 16M) 的问题 [#47152](https://github.com/pingcap/tidb/issues/47152) [#47157](https://github.com/pingcap/tidb/issues/47157) [#47161](https://github.com/pingcap/tidb/issues/47161) @[dveeden](https://github.com/dveeden) + - 修复 TiDB 在通过 `systemd` 启动时无法读取 `cgroup` 资源限制的问题 [#47442](https://github.com/pingcap/tidb/issues/47442) @[hawkingrei](https://github.com/hawkingrei) + TiKV From e049a77a0f59b8aa9ede4e7cd8c5bec8f3ed1fa8 Mon Sep 17 00:00:00 2001 From: Aolin Date: Wed, 22 Nov 2023 10:55:03 +0800 Subject: [PATCH 82/93] remove comments --- releases/release-7.5.0.md | 97 ++++++++++++++------------------------- 1 file changed, 35 insertions(+), 62 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 72698417d163..df8b13475fe1 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -26,38 +26,38 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 可扩展性与性能 - 支持并行运行多个 ADD INDEX 语句 {/* tw@ran-huang */} + 支持并行运行多个 ADD INDEX 语句 与分布式和并行 DDL 任务不同,在该功能中,原来为同步运行的任务可以变为并发运行。以前同时运行 DDL 语句 X 和 Y 需要花费 X 的时间 + Y 的时间,并发运行后,DDL 总耗时显著减少了。尤其是在宽表的场景,内部测试数据显示最高性能可提升 94%。 稳定性与高可用 - 优化全局排序(实验特性,从 v7.4.0 开始引入){/* tw@ran-huang */} + 优化全局排序(实验特性,从 v7.4.0 开始引入) TiDB v7.2.0 中引入了后端任务分布式并行执行框架。在 v7.4.0 中,TiDB 以该框架为基础,引入全局排序,消除了数据 reorg 任务期间临时无序数据导致的不必要的 I/O、CPU 和内存峰值。全局排序利用外部对象存储(目前为 S3)来存储系统作业期间的中间文件,提高灵活性并降低成本。ADD INDEXIMPORT INTO 等操作将更快速灵活、稳定可靠,且运行成本较低。 - 资源管控支持自动管理后台任务(实验特性,从 v7.4.0 开始引入) {/* tw@Oreoxmt */} + 资源管控支持自动管理后台任务(实验特性,从 v7.4.0 开始引入) 从 v7.1.0 开始,资源管控成为正式功能,该特性有助于缓解不同工作负载间的资源与存储访问干扰。TiDB v7.4.0 将此资源控制应用于后台任务。资源管控可以识别和管理后台任务,例如自动收集统计信息、备份和恢复、TiDB Lightning 批量数据导入以及在线 DDL。未来,所有后台任务都将纳入资源管控。 - 资源组支持管理资源消耗超出预期的查询(实验特性,从 v7.2.0 开始引入){/* tw@hfxsd */} + 资源组支持管理资源消耗超出预期的查询(实验特性,从 v7.2.0 开始引入) 资源管控 (Resource Group) 是一个通过资源组 (Resource Group) 对工作负载进行资源隔离的框架,但它并不对每个资源组内的查询产生影响。TiDB v7.2.0 引入了运行超出预期的查询 (Runaway Queries) 时的资源控制功能,你可以控制 TiDB 如何识别和处理每个资源组的查询。根据需要,长时间运行的查询可能会被终止或节流,你可以通过准确的 SQL 文本、SQL Digest 或 Plan Digest 来识别查询。在 TiDB v7.3.0,你可以主动监视已知的不良查询,类似于数据库级别的 SQL Blocklist。 SQL - MySQL 8.0 兼容性(从 v7.4.0 开始引入) {/* tw@Oreoxmt */} + MySQL 8.0 兼容性(从 v7.4.0 开始引入) MySQL 8.0 的默认字符集为 utf8mb4,其默认排序规则是 utf8mb4_0900_ai_ci。TiDB v7.4.0 增强了与 MySQL 8.0 的兼容性。现在你可以更轻松地将在 MySQL 8.0 中使用默认排序规则创建的数据库迁移或复制到 TiDB。 数据库管理与可观测性 - IMPORT INTO 语句集成 TiDB Lightning 物理导入模式的能力 (GA) {/* tw@qiancai */} + IMPORT INTO 语句集成 TiDB Lightning 物理导入模式的能力 (GA) 在 v7.2.0 之前,如需基于文件系统进行数据导入,你需要安装 TiDB Lightning 并使用其物理导入模式。目前,该功能已集成到 IMPORT INTO 语句中,你可以使用此语句快速导入数据,而无需安装任何额外的工具。该语句还支持分布式执行框架,可分布式执行导入任务,提升了大规模数据导入时的效率。 - 选择适用的 TiDB 节点分布式执行 ADD INDEXIMPORT INTO SQL 语句 (GA) {/* tw@hfxsd */} + 选择适用的 TiDB 节点分布式执行 ADD INDEXIMPORT INTO SQL 语句 (GA) 你可以灵活选择在现有 TiDB 节点或新增 TiDB 节点执行 ADD INDEXIMPORT INTO SQL 语句。该方法可以实现与其他 TiDB 节点的资源隔离,确保在执行上述语句时的最佳性能,并避免对已有业务造成性能影响。在 v7.5.0 中,该功能正式 GA。 - DDL 任务支持暂停和恢复操作 (GA) {/* tw@ran-huang */} + DDL 任务支持暂停和恢复操作 (GA) 添加索引可能会消耗大量资源并影响在线流量。即使在资源组中进行了限制,或对标记的节点进行了隔离,你仍然可能需要在紧急情况下暂停这些任务。从 v7.2.0 开始,TiDB 原生支持同时暂停任意数量的后台任务,释放所需的资源,无需取消或重启任务。 @@ -67,7 +67,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ### 可扩展性 -* 支持设置 TiDB 节点的服务范围,用于选择适用的 TiDB 节点分布式执行 `ADD INDEX` 或 `IMPORT INTO` 任务 (GA) [#46258](https://github.com/pingcap/tidb/issues/46258) @[ywqzzy](https://github.com/ywqzzy) +* 支持设置 TiDB 节点的服务范围,用于选择适用的 TiDB 节点分布式执行 `ADD INDEX` 或 `IMPORT INTO` 任务 (GA) [#46258](https://github.com/pingcap/tidb/issues/46258) @[ywqzzy](https://github.com/ywqzzy) 在资源密集型集群中,并行执行 `ADD INDEX` 或 `IMPORT INTO` 任务可能占用大量 TiDB 节点的资源,从而导致集群性能下降。为了避免对已有业务造成性能影响,v7.4.0 以实验特性引入了变量 [`tidb_service_scope`](/system-variables.md#tidb_service_scope-从-v740-版本开始引入),用于控制 [TiDB 后端任务分布式框架](/tidb-distributed-execution-framework.md)下各 TiDB 节点的服务范围。你可以从现有 TiDB 节点中选择几个节点,或者对新增 TiDB 节点设置服务范围,所有分布式执行的 `ADD INDEX` 和 `IMPORT INTO` 的任务只会运行在这些节点。在 v7.5.0 中,该功能正式 GA。 @@ -75,7 +75,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ### 性能 -* TiDB 后端任务分布式并行执行框架成为正式功能 (GA),提升并行执行的 `ADD INDEX` 或 `IMPORT INTO` 任务的性能和稳定性 [#45719](https://github.com/pingcap/tidb/issues/45719) @[wjhuang2016](https://github.com/wjhuang2016) +* TiDB 后端任务分布式并行执行框架成为正式功能 (GA),提升并行执行的 `ADD INDEX` 或 `IMPORT INTO` 任务的性能和稳定性 [#45719](https://github.com/pingcap/tidb/issues/45719) @[wjhuang2016](https://github.com/wjhuang2016) 在 v6.6.0 中引入的 TiDB 后端任务分布式并行执行框架成为正式功能 (GA)。TiDB v7.1.0 之前的版本中,在同一时间只有一个 TiDB 节点能够执行 DDL 任务。从 v7.1.0 开始,在分布式并行执行框架下,多个 TiDB 节点可以并行执行同一项 DDL 任务。从 v7.2.0 开始,分布式并行执行框架支持多个 TiDB 节点并行执行同一个 `IMPORT INTO` 任务,从而更好地利用 TiDB 集群的资源,大幅提升 DDL 和 `IMPORT INTO` 任务的性能。此外,你还可以通过增加 TiDB 节点来线性提升 DDL 和 `IMPORT INTO` 任务的性能。 @@ -87,13 +87,13 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 更多信息,请参考[用户文档](/tidb-distributed-execution-framework.md)。 -* 提升了在一个 SQL 语句中同时添加多个索引的性能 [#41602](https://github.com/pingcap/tidb/issues/41602) @[tangenta](https://github.com/tangenta) +* 提升了在一个 SQL 语句中同时添加多个索引的性能 [#41602](https://github.com/pingcap/tidb/issues/41602) @[tangenta](https://github.com/tangenta) 在 v7.5.0 之前,用户在一个 SQL 语句里添加多个索引 (`ADD INDEX`) 时,其性能与使用多个独立的 SQL 语句添加多个索引的性能接近。从 v7.5.0 起,在一个 SQL 语句中添加多个索引的性能有了显著的变化,尤其是在宽表的场景,内部测试数据显示最高性能可提升 94%。 ### 数据库管理 -* DDL 任务支持暂停和恢复操作成为正式功能 (GA) [#18015](https://github.com/pingcap/tidb/issues/18015) @[godouxm](https://github.com/godouxm) +* DDL 任务支持暂停和恢复操作成为正式功能 (GA) [#18015](https://github.com/pingcap/tidb/issues/18015) @[godouxm](https://github.com/godouxm) 在 v7.2.0 中引入的 DDL 任务的暂停和恢复功能成为正式功能 (GA)。该功能允许临时暂停资源密集型的 DDL 操作(如创建索引),以节省资源并最小化对在线流量的影响。当资源允许时,你可以无缝恢复 DDL 任务,而无需取消和重新开始。DDL 任务的暂停和恢复功能提高了资源利用率,改善了用户体验,并简化了 schema 变更过程。 @@ -106,7 +106,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 更多信息,请参考[用户文档](/ddl-introduction.md#ddl-相关的命令介绍)。 -* BR 支持备份和恢复统计信息 [#48008](https://github.com/pingcap/tidb/issues/48008) @[Leavrth](https://github.com/Leavrth) +* BR 支持备份和恢复统计信息 [#48008](https://github.com/pingcap/tidb/issues/48008) @[Leavrth](https://github.com/Leavrth) 从 TiDB v7.5.0 开始,BR 备份工具支持备份和恢复数据库统计信息,在备份命令中引入了参数 `--ignore-stats`。当指定该参数值为 `false` 时,BR 备份工具支持备份和恢复数据库的列、索引、和表级别的统计信息。因此,从备份中恢复的 TiDB 数据库不再需要手动运行统计信息收集任务,也无需等待自动收集任务的完成,从而简化了数据库维护工作,并提升了查询性能。 @@ -114,13 +114,13 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ### 数据迁移 -* `IMPORT INTO` SQL 语句成为正式功能 (GA) [#46704](https://github.com/pingcap/tidb/issues/46704) @[D3Hunter](https://github.com/D3Hunter) +* `IMPORT INTO` SQL 语句成为正式功能 (GA) [#46704](https://github.com/pingcap/tidb/issues/46704) @[D3Hunter](https://github.com/D3Hunter) 在 v7.5.0 中,`IMPORT INTO` SQL 语句正式 GA。该语句集成了 TiDB Lightning [物理导入模式](/tidb-lightning/tidb-lightning-physical-import-mode.md)的能力,可以将 CSV、SQL 和 PARQUET 等格式的数据快速导入到 TiDB 的一张空表中。这种导入方式无需单独部署和管理 TiDB Lightning,在降低了数据导入难度的同时,大幅提升了数据导入效率。 更多信息,请参考[用户文档](/sql-statements/sql-statement-import-into.md)。 -* Data Migration (DM) 支持拦截不兼容(破坏数据一致性)的 DDL 变更 [#9692](https://github.com/pingcap/tiflow/issues/9692) @[GMHDBJD](https://github.com/GMHDBJD) +* Data Migration (DM) 支持拦截不兼容(破坏数据一致性)的 DDL 变更 [#9692](https://github.com/pingcap/tiflow/issues/9692) @[GMHDBJD](https://github.com/GMHDBJD) 在 v7.5.0 之前,使用 DM 的 Binlog Filter 功能只能迁移或过滤指定的 Event,且颗粒度比较粗,例如只能过滤 `ALTER` 这种大颗粒度的 DDL Event。这种方式在某些业务场景会受限,如业务允许 `ADD COLUMN`,但是不允许 `DROP COLUMN`,但之前的 DM 版本都会被 `ALTER` Event 过滤。 @@ -128,7 +128,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 更多信息,请参考[用户文档](/dm/dm-binlog-event-filter.md#参数解释)。 -* 支持实时更新增量数据校验的 checkpoint [#8463](https://github.com/pingcap/tiflow/issues/8463) @[lichunzhu](https://github.com/lichunzhu) +* 支持实时更新增量数据校验的 checkpoint [#8463](https://github.com/pingcap/tiflow/issues/8463) @[lichunzhu](https://github.com/lichunzhu) 在 v7.5.0 之前,你可以使用[增量数据校验功能](/dm/dm-continuous-data-validation.md)来判断 DM 同步到下游的数据是否与上游一致,并以此作为业务流量从上游数据库割接到 TiDB 的依据。然而,由于增量校验 checkpoint 受到较多限制,如同步延迟、不一致的数据等待重新校验等因素,需要每隔几分钟刷新一次校验后的 checkpoint。对于某些只有几十秒割接时间的业务场景来说,这是无法接受的。 @@ -166,11 +166,9 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 | TiCDC | [`sql-mode`](/ticdc/ticdc-changefeed-config.md) | 新增 | 设置 TiCDC 解析 DDL 时使用的 SQL 模式,默认值和 TiDB 的默认 SQL 模式一致。 | | TiDB Lightning | `--importer` | 删除 | 该配置项用于指定 TiKV-importer 的地址。从 v7.5.0 起,TiKV-importer 组件被废弃。 | -### 其他 - ## 离线包变更 -从 v7.5.0 开始,`TiDB-community-toolkit` [二进制软件包](/binary-package.md)中移除了以下内容: +从 v7.5.0 开始,`TiDB-community-toolkit` [二进制软件包](/binary-package.md)中移除了以下内容: - `tikv-importer-{version}-linux-{arch}.tar.gz` - `mydumper` @@ -179,41 +177,37 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 ## 废弃功能 -* [Mydumper](https://docs.pingcap.com/zh/tidb/v4.0/mydumper-overview) 在 v7.5.0 中废弃,其绝大部分功能已经被 [Dumpling](/dumpling-overview.md) 取代,强烈建议切换到 Dumpling。 +* [Mydumper](https://docs.pingcap.com/zh/tidb/v4.0/mydumper-overview) 在 v7.5.0 中废弃,其绝大部分功能已经被 [Dumpling](/dumpling-overview.md) 取代,强烈建议切换到 Dumpling。 -* TiKV-importer 组件在 v7.5.0 中废弃,建议使用 [TiDB Lightning 物理导入模式](/tidb-lightning/tidb-lightning-physical-import-mode.md)作为替代方案。 +* TiKV-importer 组件在 v7.5.0 中废弃,建议使用 [TiDB Lightning 物理导入模式](/tidb-lightning/tidb-lightning-physical-import-mode.md)作为替代方案。 -* 从 v7.5.0 开始,不再提供 [TiDB Binlog](/tidb-binlog/tidb-binlog-overview.md) 数据同步功能的技术支持,强烈建议使用 [TiCDC](/ticdc/ticdc-overview.md) 实现高效稳定的数据同步。尽管 TiDB Binlog 在 v7.5.0 仍支持 Point-in-Time Recovery (PITR) 场景,但是该组件在未来 LTS 版本中将被完全废弃,推荐使用 [PITR](/br/br-pitr-guide.md) 替代。 +* 从 v7.5.0 开始,不再提供 [TiDB Binlog](/tidb-binlog/tidb-binlog-overview.md) 数据同步功能的技术支持,强烈建议使用 [TiCDC](/ticdc/ticdc-overview.md) 实现高效稳定的数据同步。尽管 TiDB Binlog 在 v7.5.0 仍支持 Point-in-Time Recovery (PITR) 场景,但是该组件在未来 LTS 版本中将被完全废弃,推荐使用 [PITR](/br/br-pitr-guide.md) 替代。 -* 统计信息的[快速分析](/system-variables.md#tidb_enable_fast_analyze)(实验特性)在 v7.5.0 中废弃。 +* 统计信息的[快速分析](/system-variables.md#tidb_enable_fast_analyze)(实验特性)在 v7.5.0 中废弃。 -* 统计信息的[增量收集](https://docs.pingcap.com/zh/tidb/v7.4/statistics#增量收集)(实验特性)在 v7.5.0 中废弃。 +* 统计信息的[增量收集](https://docs.pingcap.com/zh/tidb/v7.4/statistics#增量收集)(实验特性)在 v7.5.0 中废弃。 ## 改进提升 + TiDB - - 优化合并 GlobalStats 的并发模型:引入 [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入) 实现同时加载统计信息并进行合并,从而加速分区表场景下 GlobalStats 的生成。同时优化合并 GlobalStats 的内存使用,以避免 OOM 并减少内存分配 [#47219](https://github.com/pingcap/tidb/issues/47219) @[hawkingrei](https://github.com/hawkingrei) - - 优化 `ANALYZE` 流程:引入 [`tidb_build_sampling_stats_concurrency`](/system-variables.md#tidb_build_sampling_stats_concurrency-从-v750-版本开始引入) 精细化控制 `ANALYZE` 并发度,减少资源消耗。同时优化 `ANALYZE` 的内存使用,通过复用部分中间结果,减少内存分配,避免频繁 GC [#47275](https://github.com/pingcap/tidb/issues/47275) @[hawkingrei](https://github.com/hawkingrei) - - 改进 Placement Policy 的使用:增加对全局范围的策略配置,完善常用场景的语法支持 [#45384](https://github.com/pingcap/tidb/issues/45384) @[nolouch](https://github.com/nolouch) - + - 优化合并 GlobalStats 的并发模型:引入 [`tidb_enable_async_merge_global_stats`](/system-variables.md#tidb_enable_async_merge_global_stats-从-v750-版本开始引入) 实现同时加载统计信息并进行合并,从而加速分区表场景下 GlobalStats 的生成。同时优化合并 GlobalStats 的内存使用,以避免 OOM 并减少内存分配 [#47219](https://github.com/pingcap/tidb/issues/47219) @[hawkingrei](https://github.com/hawkingrei) + - 优化 `ANALYZE` 流程:引入 [`tidb_build_sampling_stats_concurrency`](/system-variables.md#tidb_build_sampling_stats_concurrency-从-v750-版本开始引入) 精细化控制 `ANALYZE` 并发度,减少资源消耗。同时优化 `ANALYZE` 的内存使用,通过复用部分中间结果,减少内存分配,避免频繁 GC [#47275](https://github.com/pingcap/tidb/issues/47275) @[hawkingrei](https://github.com/hawkingrei) + - 改进 Placement Policy 的使用:增加对全局范围的策略配置,完善常用场景的语法支持 [#45384](https://github.com/pingcap/tidb/issues/45384) @[nolouch](https://github.com/nolouch) - 提升启用索引加速功能 `tidb_ddl_enable_fast_reorg` 后添加索引的性能,在内部测试中 v7.5.0 相比 v6.5.0 性能最高提升 62.5% [#47757](https://github.com/pingcap/tidb/issues/47757) @[tangenta](https://github.com/tangenta) + TiKV - - (dup): release-7.1.2.md > 改进提升> TiKV - 避免写 Titan manifest 文件时持有锁导致影响其他线程 [#15351](https://github.com/tikv/tikv/issues/15351) @[Connor1996](https://github.com/Connor1996) + - 避免写 Titan manifest 文件时持有锁导致影响其他线程 [#15351](https://github.com/tikv/tikv/issues/15351) @[Connor1996](https://github.com/Connor1996) + PD - - 提升 `evict-slow-trend` 调度的稳定性和易用性 [#7156](https://github.com/tikv/pd/issues/7156) @[LykxSassinato](https://github.com/LykxSassinator) -+ TiFlash - + Tools + Backup & Restore (BR) - + - 快照备份新增表间备份参数 `table-concurrency`,用于控制统计信息备份、数据校验等元信息的表间并发度 [48571](https://github.com/pingcap/tidb/issues/48571) @[3pointer](https://github.com/3pointer) - 快照备份恢复在遇到某些网络错误时会进行重试 [48528](https://github.com/pingcap/tidb/issues/48528) @[Leavrth](https://github.com/Leavrth) @@ -240,12 +234,11 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + TiDB - - - (dup): release-7.1.2.md > 错误修复> TiDB - 禁止非整型聚簇索引进行 split table 操作 [#47350](https://github.com/pingcap/tidb/issues/47350) @[tangenta](https://github.com/tangenta) - - (dup): release-7.1.2.md > 错误修复> TiDB - 修复使用错误的时区信息对时间字段进行编码的问题 [#46033](https://github.com/pingcap/tidb/issues/46033) @[tangenta](https://github.com/tangenta) - - (dup): release-7.1.2.md > 错误修复> TiDB - 修复 Sort 算子在落盘过程中可能导致 TiDB 崩溃的问题 [#47538](https://github.com/pingcap/tidb/issues/47538) @[windtalker](https://github.com/windtalker) - - (dup): release-7.1.2.md > 错误修复> TiDB - 修复查询使用 `GROUP_CONCAT` 时报错 `Can't find column` 的问题 [#41957](https://github.com/pingcap/tidb/issues/41957) @[AilinKid](https://github.com/AilinKid) - - (dup): release-7.1.2.md > 错误修复> TiDB - 修复 `client-go` 中 `batch-client` panic 的问题 [#47691](https://github.com/pingcap/tidb/issues/47691) @[crazycs520](https://github.com/crazycs520) + - 禁止非整型聚簇索引进行 split table 操作 [#47350](https://github.com/pingcap/tidb/issues/47350) @[tangenta](https://github.com/tangenta) + - 修复使用错误的时区信息对时间字段进行编码的问题 [#46033](https://github.com/pingcap/tidb/issues/46033) @[tangenta](https://github.com/tangenta) + - 修复 Sort 算子在落盘过程中可能导致 TiDB 崩溃的问题 [#47538](https://github.com/pingcap/tidb/issues/47538) @[windtalker](https://github.com/windtalker) + - 修复查询使用 `GROUP_CONCAT` 时报错 `Can't find column` 的问题 [#41957](https://github.com/pingcap/tidb/issues/41957) @[AilinKid](https://github.com/AilinKid) + - 修复 `client-go` 中 `batch-client` panic 的问题 [#47691](https://github.com/pingcap/tidb/issues/47691) @[crazycs520](https://github.com/crazycs520) - 修复 `INDEX_LOOKUP_HASH_JOIN` 内存使用量估算错误的问题 [#47788](https://github.com/pingcap/tidb/issues/47788) @[SeaRise](https://github.com/SeaRise) - 修复长时间下线的 TiFlash 节点重新加入集群后造成的负载不均衡的问题 [#35418](https://github.com/pingcap/tidb/issues/35418) @[windtalker](https://github.com/windtalker) - 修复 HashJoin 算子 Probe 时无法复用 chunk 的问题 [#48082](https://github.com/pingcap/tidb/issues/48082) @[wshwsh12](https://github.com/wshwsh12) @@ -255,18 +248,16 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - 修复默认内联且带聚合函数或窗口函数的公共表表达式 (CTE) 被递归的 CTE 引用时会报错的问题 [#47881](https://github.com/pingcap/tidb/issues/47881) @[elsa0520](https://github.com/elsa0520) - 修复优化器为减少窗口函数引入的 sort 而错误地选择了 `IndexFullScan` 的问题 [#46177](https://github.com/pingcap/tidb/issues/46177) @[qw4990](https://github.com/qw4990) - 修复当 CTE 被多次引用时,条件下推 CTE 导致结果错误的问题 [#47881](https://github.com/pingcap/tidb/issues/47881) @[winoros](https://github.com/winoros) - - 修复了 MySQL 压缩协议无法处理超大负载数据 (>= 16M) 的问题 [#47152](https://github.com/pingcap/tidb/issues/47152) [#47157](https://github.com/pingcap/tidb/issues/47157) [#47161](https://github.com/pingcap/tidb/issues/47161) @[dveeden](https://github.com/dveeden) - 修复 TiDB 在通过 `systemd` 启动时无法读取 `cgroup` 资源限制的问题 [#47442](https://github.com/pingcap/tidb/issues/47442) @[hawkingrei](https://github.com/hawkingrei) + TiKV - - (dup): release-5.4.0.md > Bug 修复> TiKV - 修复悲观事务中 prewrite 请求重试在极少数情况下影响数据一致性的风险 [#11187](https://github.com/tikv/tikv/issues/11187) + - 修复悲观事务中 prewrite 请求重试在极少数情况下影响数据一致性的风险 [#11187](https://github.com/tikv/tikv/issues/11187) + PD - - - (dup): release-7.1.2.md > 错误修复> PD - 修复 `evict-leader-scheduler` 丢失配置的问题 [#6897](https://github.com/tikv/pd/issues/6897) @[HuSharp](https://github.com/HuSharp) + - 修复 `evict-leader-scheduler` 丢失配置的问题 [#6897](https://github.com/tikv/pd/issues/6897) @[HuSharp](https://github.com/HuSharp) - 修复 store 下线后对应的统计数据监控指标未删除的问题 [#7180](https://github.com/tikv/pd/issues/7180) @[rleungx](https://github.com/rleungx) - 修复采用自适应同步部署模式(DR Auto-Sync)的集群在 Placement Rule 的配置较复杂时,`canSync` 和 `hasMajority` 可能计算错误的问题 [#7201](https://github.com/tikv/pd/issues/7201) @[disksing](https://github.com/disksing) - 修复 rule checker 未按照设定的 Placement Rule 添加 Learner 的问题 [#7185](https://github.com/tikv/pd/issues/7185) @[nolouch](https://github.com/nolouch) @@ -278,7 +269,6 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + TiFlash - - 修复 `UPPER()` 和 `LOWER()` 函数在 TiDB 和 TiFlash 中计算结果不一致的问题 [#7695](https://github.com/pingcap/tiflash/issues/7695) @[windtalker](https://github.com/windtalker) - 修复在空分区上执行查询报错的问题 [#8220](https://github.com/pingcap/tiflash/issues/8220) @[JaySon-Huang](https://github.com/JaySon-Huang) - 修复同步 TiFlash 副本时可能创建表失败导致 panic 的问题 [#8217](https://github.com/pingcap/tiflash/issues/8217) @[hongyunyan](https://github.com/hongyunyan) @@ -287,13 +277,11 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + Backup & Restore (BR) - - - (dup): release-7.1.2.md > 错误修复> Tools> Backup & Restore (BR) - 修复 PITR 可能跳过恢复 `CREATE INDEX` DDL 的问题 [#47482](https://github.com/pingcap/tidb/issues/47482) @[Leavrth](https://github.com/Leavrth) + - 修复 PITR 可能跳过恢复 `CREATE INDEX` DDL 的问题 [#47482](https://github.com/pingcap/tidb/issues/47482) @[Leavrth](https://github.com/Leavrth) - 修复大宽表场景下,日志备份在某些场景中可能卡住的问题 [#15714](https://github.com/tikv/tikv/issues/15714) @[YuJuncen](https://github.com/YuJuncen) + TiCDC - - 修复同步数据到对象存储时访问 NFS 目录导致的性能问题 [#10041](https://github.com/pingcap/tiflow/issues/10041) @[CharlesCheung96](https://github.com/CharlesCheung96) - 修复开启 `claim-check` 导致存储路径拼写错误的问题 [#10036](https://github.com/pingcap/tiflow/issues/10036) @[3AceShowHand](https://github.com/3AceShowHand) - 修复开启 `column filter` 时列设置错误的问题 [#10042](https://github.com/pingcap/tiflow/issues/10042) @[3AceShowHand](https://github.com/3AceShowHand) @@ -303,21 +291,6 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - 修复开启 `kv-client.enable-multiplexing` 导致同步任务卡住的问题 [#9673](https://github.com/pingcap/tiflow/issues/9673) @[fubinzh](https://github.com/fubinzh) - 修复开启 Redo log 时,NFS 出现故障导致 Owner 节点卡住的问题 [#9886](https://github.com/pingcap/tiflow/issues/9886) @[3AceShowHand](https://github.com/3AceShowHand) - + 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 v7.5.0 的性能表现,你可以参考 TiDB Dedicated 集群的 [TPC-C 性能测试报告](https://docs.pingcap.com/tidbcloud/v7.5.0-performance-benchmarking-with-tpcc)和 [Sysbench 性能测试报告](https://docs.pingcap.com/tidbcloud/v7.5.0-performance-benchmarking-with-sysbench)(英文版)。 From 1379bd765dd48d239ba150421c6f432e113eea7a Mon Sep 17 00:00:00 2001 From: Aolin Date: Wed, 22 Nov 2023 10:56:29 +0800 Subject: [PATCH 83/93] remove duplicate notes --- releases/release-7.5.0.md | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index df8b13475fe1..b880d06d61dc 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -210,26 +210,8 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - 快照备份新增表间备份参数 `table-concurrency`,用于控制统计信息备份、数据校验等元信息的表间并发度 [48571](https://github.com/pingcap/tidb/issues/48571) @[3pointer](https://github.com/3pointer) - 快照备份恢复在遇到某些网络错误时会进行重试 [48528](https://github.com/pingcap/tidb/issues/48528) @[Leavrth](https://github.com/Leavrth) - - 快照备份恢复支持通过 AWS 会话令牌和 IAM 角色设置权限 [#39832](https://github.com/pingcap/tidb/issues/39832) @[3pointer](https://github.com/3pointer) - + TiCDC - - + 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 From 7965373ef0b6d43f7d67a5dff8d17efd4b3cace9 Mon Sep 17 00:00:00 2001 From: Aolin Date: Wed, 22 Nov 2023 11:27:30 +0800 Subject: [PATCH 84/93] bug fix: update TiCDC --- releases/release-7.5.0.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index b880d06d61dc..e088692151f7 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -266,9 +266,8 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - 修复同步数据到对象存储时访问 NFS 目录导致的性能问题 [#10041](https://github.com/pingcap/tiflow/issues/10041) @[CharlesCheung96](https://github.com/CharlesCheung96) - 修复开启 `claim-check` 导致存储路径拼写错误的问题 [#10036](https://github.com/pingcap/tiflow/issues/10036) @[3AceShowHand](https://github.com/3AceShowHand) - - 修复开启 `column filter` 时列设置错误的问题 [#10042](https://github.com/pingcap/tiflow/issues/10042) @[3AceShowHand](https://github.com/3AceShowHand) - 修复 TiCDC 在某些情况下调度不均衡的问题 [#9845](https://github.com/pingcap/tiflow/issues/9845) @[3AceShowHand](https://github.com/3AceShowHand) - - 修复同步数据到 Kafka 时可能丢失回调的问题 [#9855](https://github.com/pingcap/tiflow/issues/9855) @[hicqu](https://github.com/hicqu) + - 修复同步数据到 Kafka 时可能卡住的问题 [#9855](https://github.com/pingcap/tiflow/issues/9855) @[hicqu](https://github.com/hicqu) - 修复某些场景下 TiCDC Processor 可能 panic 的问题 [#9849](https://github.com/pingcap/tiflow/issues/9849) [#9915](https://github.com/pingcap/tiflow/issues/9915) @[hicqu](https://github.com/hicqu) @[3AceShowHand](https://github.com/3AceShowHand) - 修复开启 `kv-client.enable-multiplexing` 导致同步任务卡住的问题 [#9673](https://github.com/pingcap/tiflow/issues/9673) @[fubinzh](https://github.com/fubinzh) - 修复开启 Redo log 时,NFS 出现故障导致 Owner 节点卡住的问题 [#9886](https://github.com/pingcap/tiflow/issues/9886) @[3AceShowHand](https://github.com/3AceShowHand) From fe07cb050cbb4e29cb1869130b96d90f300d439e Mon Sep 17 00:00:00 2001 From: Aolin Date: Wed, 22 Nov 2023 15:05:13 +0800 Subject: [PATCH 85/93] Apply suggestions from code review Co-authored-by: Frank945946 <108602632+Frank945946@users.noreply.github.com> --- releases/release-7.5.0.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index e088692151f7..a38241f7d600 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -5,7 +5,7 @@ summary: 了解 TiDB 7.5.0 版本的新功能、兼容性变更、改进提升 # TiDB 7.5.0 Release Notes -发版日期:2023 年 11 月 23 日 +发版日期:2023 年 11 月 28 日 TiDB 版本:7.5.0 @@ -27,7 +27,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 可扩展性与性能 支持并行运行多个 ADD INDEX 语句 - 与分布式和并行 DDL 任务不同,在该功能中,原来为同步运行的任务可以变为并发运行。以前同时运行 DDL 语句 X 和 Y 需要花费 X 的时间 + Y 的时间,并发运行后,DDL 总耗时显著减少了。尤其是在宽表的场景,内部测试数据显示最高性能可提升 94%。 + 在该功能中,原先为同一个表添加多个索引的任务可以变为并发运行。以前同时运行 2 个添加索引语句 X 和 Y 需要花费 X 的时间 + Y 的时间,现在在一个 SQL 语句中同时添加索引 X 和 Y,并发运行后,添加索引总耗时显著减少了。尤其是在宽表的场景,内部测试数据显示同时添加多个索引的最高性能可提升 94%。 稳定性与高可用 @@ -132,7 +132,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 在 v7.5.0 之前,你可以使用[增量数据校验功能](/dm/dm-continuous-data-validation.md)来判断 DM 同步到下游的数据是否与上游一致,并以此作为业务流量从上游数据库割接到 TiDB 的依据。然而,由于增量校验 checkpoint 受到较多限制,如同步延迟、不一致的数据等待重新校验等因素,需要每隔几分钟刷新一次校验后的 checkpoint。对于某些只有几十秒割接时间的业务场景来说,这是无法接受的。 - v7.5.0 引入实时更新增量数据校验的 checkpoint 后,你可以传入上游数据库填写的 binlog 位置。一旦增量校验程序在内存里校验到该 binlog 位置,会立即刷新 checkpoint,而不是每隔几分钟刷新 checkpoint。因此,你可以根据该立即返回的 checkpoint 快速进行割接操作。 + v7.5.0 引入实时更新增量数据校验的 checkpoint 后,你可以传入上游数据库指定的 binlog 位置。一旦增量校验程序在内存里校验到该 binlog 位置,会立即刷新 checkpoint,而不是每隔几分钟刷新 checkpoint。因此,你可以根据该立即返回的 checkpoint 快速进行割接操作。 更多信息,请参考[用户文档](/dm/dm-continuous-data-validation.md#设置增量校验切换点)。 From 6d60c7f99f396b4d5490e1f82f2b134390ad8fc5 Mon Sep 17 00:00:00 2001 From: Aolin Date: Wed, 22 Nov 2023 15:07:54 +0800 Subject: [PATCH 86/93] Apply suggestions from code review Co-authored-by: Roger Song --- releases/release-7.5.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index a38241f7d600..4669e099a12b 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -35,11 +35,11 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 TiDB v7.2.0 中引入了后端任务分布式并行执行框架。在 v7.4.0 中,TiDB 以该框架为基础,引入全局排序,消除了数据 reorg 任务期间临时无序数据导致的不必要的 I/O、CPU 和内存峰值。全局排序利用外部对象存储(目前为 S3)来存储系统作业期间的中间文件,提高灵活性并降低成本。ADD INDEXIMPORT INTO 等操作将更快速灵活、稳定可靠,且运行成本较低。 - 资源管控支持自动管理后台任务(实验特性,从 v7.4.0 开始引入) + 资源管控支持自动管理后台任务(实验特性,从 v7.4.0 开始引入) 从 v7.1.0 开始,资源管控成为正式功能,该特性有助于缓解不同工作负载间的资源与存储访问干扰。TiDB v7.4.0 将此资源控制应用于后台任务。资源管控可以识别和管理后台任务,例如自动收集统计信息、备份和恢复、TiDB Lightning 批量数据导入以及在线 DDL。未来,所有后台任务都将纳入资源管控。 - 资源组支持管理资源消耗超出预期的查询(实验特性,从 v7.2.0 开始引入) + 资源管控支持管理资源消耗超出预期的查询(实验特性,从 v7.2.0 开始引入) 资源管控 (Resource Group) 是一个通过资源组 (Resource Group) 对工作负载进行资源隔离的框架,但它并不对每个资源组内的查询产生影响。TiDB v7.2.0 引入了运行超出预期的查询 (Runaway Queries) 时的资源控制功能,你可以控制 TiDB 如何识别和处理每个资源组的查询。根据需要,长时间运行的查询可能会被终止或节流,你可以通过准确的 SQL 文本、SQL Digest 或 Plan Digest 来识别查询。在 TiDB v7.3.0,你可以主动监视已知的不良查询,类似于数据库级别的 SQL Blocklist。 From 5016a974ddeadde68e8979ff08c84c7e7c4754e2 Mon Sep 17 00:00:00 2001 From: tonyxuqqi Date: Wed, 22 Nov 2023 21:48:23 -0800 Subject: [PATCH 87/93] Update releases/release-7.5.0.md Co-authored-by: Aolin --- releases/release-7.5.0.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 4669e099a12b..a9b95756c1a7 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -159,6 +159,11 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 | 配置文件 | 配置项 | 修改类型 | 描述 | | -------- | -------- | -------- | -------- | +| TiKV | [`raftstore.region-compact-min-redundant-rows`](/tikv-configuration-file.md#region-compact-min-redundant-rows-从-v710-版本开始引入) | 修改 | 触发 RocksDB compaction 需要的冗余的 MVCC 数据行数。从 v7.5.0 开始,该配置项对 `"raft-kv"` 存储引擎生效。| +| TiKV | [`raftstore.region-compact-redundant-rows-percent`](/tikv-configuration-file.md#region-compact-redundant-rows-percent-从-v710-版本开始引入) | 修改 | 触发 RocksDB compaction 需要的冗余的 MVCC 数据行所占比例。从 v7.5.0 开始,该配置项对 `"raft-kv"` 存储引擎生效。 | +| TiKV | [`raftstore.evict-cache-on-memory-ratio`](/tikv-configuration-file.md#evict-cache-on-memory-ratio-从-v750-版本开始引入) | 新增 | 当 TiKV 的内存使用超过系统可用内存的 90%,并且 Raft 缓存条目占用的内存超过已使用内存的 `evict-cache-on-memory-ratio` 比例时,TiKV 会逐出 Raft 缓存条目。 | +| TiKV | [`memory.enable-heap-profiling`](/tikv-configuration-file.md#enable-heap-profiling-从-v750-版本开始引入) | 新增 | 控制是否开启 Heap Profiling 功能,以跟踪 TiKV 的内存使用情况。 | +| TiKV | [`memory.profiling-sample-per-bytes`](/tikv-configuration-file.md#profiling-sample-per-bytes-从-v750-版本开始引入) | 新增 | 设置 Heap Profiling 每次采样的数据量,以 2 的指数次幂向上取整。 | | BR | [`--ignore-stats`](/br/br-snapshot-manual.md#备份统计信息) | 新增 | 用于备份和恢复数据库统计信息。当指定该参数值为 `false` 时,BR 备份工具支持备份和恢复数据库的列、索引、和表级别的统计信息。 | | TiCDC | [`case-sensitive`](/ticdc/ticdc-changefeed-config.md) | 修改 | 经进一步的测试后,默认值由 `true` 改为 `false`,即默认情况下 TiCDC 配置文件中涉及的表名、库名大小写不敏感。 | | TiCDC | [`sink.dispatchers.partition`](/ticdc/ticdc-changefeed-config.md) | 修改 | 控制增量数据的 Kafka Partition 分发策略,可选值新增 `columns` 选项,即使用明确指定的列值计算 partition 编号。 | From 4b35158c9b6e90c4681cd86468087b94756b6804 Mon Sep 17 00:00:00 2001 From: Aolin Date: Fri, 24 Nov 2023 12:35:54 +0800 Subject: [PATCH 88/93] add tikv heap profiling --- releases/release-7.5.0.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index a9b95756c1a7..5b8b1acca553 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -112,6 +112,14 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 更多信息,请参考[用户文档](/br/br-snapshot-manual.md#备份统计信息)。 +### 可观测性 + +* TiDB Dashboard 性能分析支持 TiKV 堆内存分析 [#15927](https://github.com/tikv/tikv/issues/15927) @[Connor1996](https://github.com/Connor1996) + + 在之前版本中调查 TiKV OOM 或内存使用高的问题时,往往需要在实例环境下手动运行 `jeprof` 生成 Heap Profile。从 v7.5.0 开始,TiKV 支持远程处理 Heap Profile,你可以通过 TiDB Dashboard 直接获取 Heap Profile 的火焰图和调用图。该功能提供了与 Go 堆内存分析同等的简单易用体验。 + + 更多信息,请参考[用户文档](/dashboard/dashboard-profiling.md)。 + ### 数据迁移 * `IMPORT INTO` SQL 语句成为正式功能 (GA) [#46704](https://github.com/pingcap/tidb/issues/46704) @[D3Hunter](https://github.com/D3Hunter) From dbbcb583e383668f70e1cb9dbf267513e6a6a61e Mon Sep 17 00:00:00 2001 From: Aolin Date: Fri, 24 Nov 2023 14:11:18 +0800 Subject: [PATCH 89/93] improvement: remove br aws session-token --- releases/release-7.5.0.md | 1 - 1 file changed, 1 deletion(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 5b8b1acca553..b4e61dee0ccd 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -223,7 +223,6 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 - 快照备份新增表间备份参数 `table-concurrency`,用于控制统计信息备份、数据校验等元信息的表间并发度 [48571](https://github.com/pingcap/tidb/issues/48571) @[3pointer](https://github.com/3pointer) - 快照备份恢复在遇到某些网络错误时会进行重试 [48528](https://github.com/pingcap/tidb/issues/48528) @[Leavrth](https://github.com/Leavrth) - - 快照备份恢复支持通过 AWS 会话令牌和 IAM 角色设置权限 [#39832](https://github.com/pingcap/tidb/issues/39832) @[3pointer](https://github.com/3pointer) ## 错误修复 From 64993ba39b36124e04c0d97372fa7c0f1e305d5b Mon Sep 17 00:00:00 2001 From: Aolin Date: Mon, 27 Nov 2023 12:14:34 +0800 Subject: [PATCH 90/93] fix format Signed-off-by: Aolin --- releases/release-7.5.0.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index b4e61dee0ccd..af2393bac6bb 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -170,8 +170,8 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 | TiKV | [`raftstore.region-compact-min-redundant-rows`](/tikv-configuration-file.md#region-compact-min-redundant-rows-从-v710-版本开始引入) | 修改 | 触发 RocksDB compaction 需要的冗余的 MVCC 数据行数。从 v7.5.0 开始,该配置项对 `"raft-kv"` 存储引擎生效。| | TiKV | [`raftstore.region-compact-redundant-rows-percent`](/tikv-configuration-file.md#region-compact-redundant-rows-percent-从-v710-版本开始引入) | 修改 | 触发 RocksDB compaction 需要的冗余的 MVCC 数据行所占比例。从 v7.5.0 开始,该配置项对 `"raft-kv"` 存储引擎生效。 | | TiKV | [`raftstore.evict-cache-on-memory-ratio`](/tikv-configuration-file.md#evict-cache-on-memory-ratio-从-v750-版本开始引入) | 新增 | 当 TiKV 的内存使用超过系统可用内存的 90%,并且 Raft 缓存条目占用的内存超过已使用内存的 `evict-cache-on-memory-ratio` 比例时,TiKV 会逐出 Raft 缓存条目。 | -| TiKV | [`memory.enable-heap-profiling`](/tikv-configuration-file.md#enable-heap-profiling-从-v750-版本开始引入) | 新增 | 控制是否开启 Heap Profiling 功能,以跟踪 TiKV 的内存使用情况。 | -| TiKV | [`memory.profiling-sample-per-bytes`](/tikv-configuration-file.md#profiling-sample-per-bytes-从-v750-版本开始引入) | 新增 | 设置 Heap Profiling 每次采样的数据量,以 2 的指数次幂向上取整。 | +| TiKV | [`memory.enable-heap-profiling`](/tikv-configuration-file.md#enable-heap-profiling-从-v750-版本开始引入) | 新增 | 控制是否开启 TiKV 堆内存分析功能,以跟踪 TiKV 的内存使用情况。 | +| TiKV | [`memory.profiling-sample-per-bytes`](/tikv-configuration-file.md#profiling-sample-per-bytes-从-v750-版本开始引入) | 新增 | 设置 TiKV 堆内存分析每次采样的数据量,以 2 的指数次幂向上取整。 | | BR | [`--ignore-stats`](/br/br-snapshot-manual.md#备份统计信息) | 新增 | 用于备份和恢复数据库统计信息。当指定该参数值为 `false` 时,BR 备份工具支持备份和恢复数据库的列、索引、和表级别的统计信息。 | | TiCDC | [`case-sensitive`](/ticdc/ticdc-changefeed-config.md) | 修改 | 经进一步的测试后,默认值由 `true` 改为 `false`,即默认情况下 TiCDC 配置文件中涉及的表名、库名大小写不敏感。 | | TiCDC | [`sink.dispatchers.partition`](/ticdc/ticdc-changefeed-config.md) | 修改 | 控制增量数据的 Kafka Partition 分发策略,可选值新增 `columns` 选项,即使用明确指定的列值计算 partition 编号。 | @@ -221,8 +221,8 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + Backup & Restore (BR) - - 快照备份新增表间备份参数 `table-concurrency`,用于控制统计信息备份、数据校验等元信息的表间并发度 [48571](https://github.com/pingcap/tidb/issues/48571) @[3pointer](https://github.com/3pointer) - - 快照备份恢复在遇到某些网络错误时会进行重试 [48528](https://github.com/pingcap/tidb/issues/48528) @[Leavrth](https://github.com/Leavrth) + - 快照备份新增表间备份参数 `table-concurrency`,用于控制统计信息备份、数据校验等元信息的表间并发度 [#48571](https://github.com/pingcap/tidb/issues/48571) @[3pointer](https://github.com/3pointer) + - 快照备份恢复在遇到某些网络错误时会进行重试 [#48528](https://github.com/pingcap/tidb/issues/48528) @[Leavrth](https://github.com/Leavrth) ## 错误修复 @@ -247,17 +247,17 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 + TiKV - - 修复悲观事务中 prewrite 请求重试在极少数情况下影响数据一致性的风险 [#11187](https://github.com/tikv/tikv/issues/11187) + - 修复悲观事务中 prewrite 请求重试在极少数情况下影响数据一致性的风险 [#11187](https://github.com/tikv/tikv/issues/11187) @[MyonKeminta](https://github.com/MyonKeminta) + PD - 修复 `evict-leader-scheduler` 丢失配置的问题 [#6897](https://github.com/tikv/pd/issues/6897) @[HuSharp](https://github.com/HuSharp) - 修复 store 下线后对应的统计数据监控指标未删除的问题 [#7180](https://github.com/tikv/pd/issues/7180) @[rleungx](https://github.com/rleungx) - - 修复采用自适应同步部署模式(DR Auto-Sync)的集群在 Placement Rule 的配置较复杂时,`canSync` 和 `hasMajority` 可能计算错误的问题 [#7201](https://github.com/tikv/pd/issues/7201) @[disksing](https://github.com/disksing) + - 修复采用自适应同步部署模式 (DR Auto-Sync) 的集群在 Placement Rule 的配置较复杂时,`canSync` 和 `hasMajority` 可能计算错误的问题 [#7201](https://github.com/tikv/pd/issues/7201) @[disksing](https://github.com/disksing) - 修复 rule checker 未按照设定的 Placement Rule 添加 Learner 的问题 [#7185](https://github.com/tikv/pd/issues/7185) @[nolouch](https://github.com/nolouch) - 修复 TiDB Dashboard 不能正常读取 PD `trace` 数据的问题 [#7253](https://github.com/tikv/pd/issues/7253) @[nolouch](https://github.com/nolouch) - 修复 PD 内部获取的 Region 可能为空导致 PD Panic 的问题 [#7261](https://github.com/tikv/pd/issues/7261) @[lhy1024](https://github.com/lhy1024) - - 修复采用自适应同步部署模式(DR Auto-Sync)的集群 `available_stores` 计算错误的问题 [#7221](https://github.com/tikv/pd/issues/7221) @[disksing](https://github.com/disksing) + - 修复采用自适应同步部署模式 (DR Auto-Sync) 的集群 `available_stores` 计算错误的问题 [#7221](https://github.com/tikv/pd/issues/7221) @[disksing](https://github.com/disksing) - 修复当 TiKV 节点不可用时 PD 可能删除正常 Peers 的问题 [#7249](https://github.com/tikv/pd/issues/7249) @[lhy1024](https://github.com/lhy1024) - 修复在大集群中添加多个 TiKV 节点可能导致 TiKV 心跳上报变慢或卡住的问题 [#7248](https://github.com/tikv/pd/issues/7248) @[rleungx](https://github.com/rleungx) From 39ead05498058db0078382cc19f0dade58d728f7 Mon Sep 17 00:00:00 2001 From: Aolin Date: Wed, 29 Nov 2023 10:34:20 +0800 Subject: [PATCH 91/93] Apply suggestions from code review Co-authored-by: Grace Cai --- releases/release-7.5.0.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index af2393bac6bb..81a834624b77 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -5,7 +5,7 @@ summary: 了解 TiDB 7.5.0 版本的新功能、兼容性变更、改进提升 # TiDB 7.5.0 Release Notes -发版日期:2023 年 11 月 28 日 +发版日期:2023 年 12 月 1 日 TiDB 版本:7.5.0 @@ -27,12 +27,12 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 可扩展性与性能 支持并行运行多个 ADD INDEX 语句 - 在该功能中,原先为同一个表添加多个索引的任务可以变为并发运行。以前同时运行 2 个添加索引语句 X 和 Y 需要花费 X 的时间 + Y 的时间,现在在一个 SQL 语句中同时添加索引 X 和 Y,并发运行后,添加索引总耗时显著减少了。尤其是在宽表的场景,内部测试数据显示同时添加多个索引的最高性能可提升 94%。 + 通过该功能,为同一个表添加多个索引的任务可以变为并发运行。以前同时运行 2 个添加索引语句 X 和 Y 需要花费 X 的时间 + Y 的时间,现在在一个 SQL 语句中同时添加索引 X 和 Y,并发运行后,添加索引总耗时显著减少了。尤其是在宽表的场景,内部测试数据显示同时添加多个索引的性能最高可提升 94%。 稳定性与高可用 优化全局排序(实验特性,从 v7.4.0 开始引入) - TiDB v7.2.0 中引入了后端任务分布式并行执行框架。在 v7.4.0 中,TiDB 以该框架为基础,引入全局排序,消除了数据 reorg 任务期间临时无序数据导致的不必要的 I/O、CPU 和内存峰值。全局排序利用外部对象存储(目前为 S3)来存储系统作业期间的中间文件,提高灵活性并降低成本。ADD INDEXIMPORT INTO 等操作将更快速灵活、稳定可靠,且运行成本较低。 + TiDB v7.2.0 中引入了后端任务分布式并行执行框架。在 v7.4.0 中,TiDB 以该框架为基础,引入全局排序,消除了数据 reorg 任务期间临时无序数据导致的不必要的 I/O、CPU 和内存峰值。全局排序利用外部对象存储(目前为 Amazon S3)来存储系统作业期间的中间文件,提高灵活性并降低成本。ADD INDEXIMPORT INTO 等操作将更快速灵活、稳定可靠,且运行成本较低。 资源管控支持自动管理后台任务(实验特性,从 v7.4.0 开始引入) @@ -40,7 +40,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 资源管控支持管理资源消耗超出预期的查询(实验特性,从 v7.2.0 开始引入) - 资源管控 (Resource Group) 是一个通过资源组 (Resource Group) 对工作负载进行资源隔离的框架,但它并不对每个资源组内的查询产生影响。TiDB v7.2.0 引入了运行超出预期的查询 (Runaway Queries) 时的资源控制功能,你可以控制 TiDB 如何识别和处理每个资源组的查询。根据需要,长时间运行的查询可能会被终止或节流,你可以通过准确的 SQL 文本、SQL Digest 或 Plan Digest 来识别查询。在 TiDB v7.3.0,你可以主动监视已知的不良查询,类似于数据库级别的 SQL Blocklist。 + 资源管控是一个通过资源组 (Resource Group) 对工作负载进行资源隔离的框架,但它并不对每个资源组内的查询产生影响。TiDB v7.2.0 引入了运行超出预期的查询 (Runaway Queries) 时的资源控制功能,你可以控制 TiDB 如何识别和处理每个资源组的查询。根据需要,长时间运行的查询可能会被终止或节流,你可以通过准确的 SQL 文本、SQL Digest 或 Plan Digest 来识别查询。在 TiDB v7.3.0,你可以主动监视已知的不良查询,类似于数据库级别的 SQL Blocklist。 SQL From 9cb346fd09b1a176997154dea35ce0e2c34e5b91 Mon Sep 17 00:00:00 2001 From: Aolin Date: Wed, 29 Nov 2023 13:27:58 +0800 Subject: [PATCH 92/93] update TOC and release timeline Signed-off-by: Aolin --- TOC.md | 4 +++- releases/release-7.5.0.md | 2 +- releases/release-notes.md | 4 ++++ releases/release-timeline.md | 1 + 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/TOC.md b/TOC.md index 1002877443ad..fd4d324df116 100644 --- a/TOC.md +++ b/TOC.md @@ -4,7 +4,7 @@ - [文档中心](https://docs.pingcap.com/zh) - 关于 TiDB - [TiDB 简介](/overview.md) - - [TiDB 7.4 Release Notes](/releases/release-7.4.0.md) + - [TiDB 7.5 Release Notes](/releases/release-7.5.0.md) - [功能概览](/basic-features.md) - [与 MySQL 的兼容性](/mysql-compatibility.md) - [使用限制](/tidb-limitations.md) @@ -1031,6 +1031,8 @@ - [版本发布时间线](/releases/release-timeline.md) - [TiDB 版本规则](/releases/versioning.md) - [TiDB 离线包](/binary-package.md) + - v7.5 + - [7.5.0](/releases/release-7.5.0.md) - v7.4 - [7.4.0-DMR](/releases/release-7.4.0.md) - v7.3 diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 81a834624b77..810dae9f5167 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -9,7 +9,7 @@ summary: 了解 TiDB 7.5.0 版本的新功能、兼容性变更、改进提升 TiDB 版本:7.5.0 -试用链接:[快速体验](https://docs.pingcap.com/zh/tidb/v7.5/quick-start-with-tidb) | [生产部署](https://docs.pingcap.com/zh/tidb/v7.5/production-deployment-using-tiup) | [下载离线包](https://cn.pingcap.com/product-community/?version=v7.5.0#version-list) +试用链接:[快速体验](https://docs.pingcap.com/zh/tidb/v7.5/quick-start-with-tidb) | [生产部署](https://docs.pingcap.com/zh/tidb/v7.5/production-deployment-using-tiup) | [下载离线包](https://cn.pingcap.com/product-community/) TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 diff --git a/releases/release-notes.md b/releases/release-notes.md index 1f01605f4906..b219b7349085 100644 --- a/releases/release-notes.md +++ b/releases/release-notes.md @@ -7,6 +7,10 @@ aliases: ['/docs-cn/dev/releases/release-notes/','/docs-cn/dev/releases/rn/'] TiDB 历史版本发布声明如下: +## 7.5 + +- [7.5.0](/releases/release-7.5.0.md): 2023-12-01 + ## 7.4 - [7.4.0-DMR](/releases/release-7.4.0.md): 2023-10-12 diff --git a/releases/release-timeline.md b/releases/release-timeline.md index 0183b0758f45..4af3246a9bfb 100644 --- a/releases/release-timeline.md +++ b/releases/release-timeline.md @@ -9,6 +9,7 @@ summary: 了解 TiDB 的版本发布时间线。 | 版本 | 发布日期 | | :--- | :--- | +| [7.5.0](/releases/release-7.5.0.md) | 2023-12-01 | | [7.1.2](/releases/release-7.1.2.md) | 2023-10-25 | | [7.4.0-DMR](/releases/release-7.4.0.md) | 2023-10-12 | | [6.5.5](/releases/release-6.5.5.md) | 2023-09-21 | From 0508c0a6e5b294f7d19dacb34a5a1f06ab405904 Mon Sep 17 00:00:00 2001 From: Aolin Date: Thu, 30 Nov 2023 11:16:04 +0800 Subject: [PATCH 93/93] update highlights Signed-off-by: Aolin --- releases/release-7.5.0.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/releases/release-7.5.0.md b/releases/release-7.5.0.md index 810dae9f5167..acef4b481f6f 100644 --- a/releases/release-7.5.0.md +++ b/releases/release-7.5.0.md @@ -36,7 +36,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 资源管控支持自动管理后台任务(实验特性,从 v7.4.0 开始引入) - 从 v7.1.0 开始,资源管控成为正式功能,该特性有助于缓解不同工作负载间的资源与存储访问干扰。TiDB v7.4.0 将此资源控制应用于后台任务。资源管控可以识别和管理后台任务,例如自动收集统计信息、备份和恢复、TiDB Lightning 批量数据导入以及在线 DDL。未来,所有后台任务都将纳入资源管控。 + 从 v7.1.0 开始,资源管控成为正式功能,该特性有助于缓解不同工作负载间的资源与存储访问干扰。TiDB v7.4.0 将此资源控制应用于后台任务的优先级。资源管控可以识别和管理后台任务执行的优先级,例如自动收集统计信息、备份和恢复、TiDB Lightning 批量数据导入以及在线 DDL。未来,所有后台任务都将纳入资源管控。 资源管控支持管理资源消耗超出预期的查询(实验特性,从 v7.2.0 开始引入) @@ -48,7 +48,7 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 MySQL 8.0 的默认字符集为 utf8mb4,其默认排序规则是 utf8mb4_0900_ai_ci。TiDB v7.4.0 增强了与 MySQL 8.0 的兼容性。现在你可以更轻松地将在 MySQL 8.0 中使用默认排序规则创建的数据库迁移或复制到 TiDB。 - 数据库管理与可观测性 + 数据库管理与可观测性 IMPORT INTO 语句集成 TiDB Lightning 物理导入模式的能力 (GA) 在 v7.2.0 之前,如需基于文件系统进行数据导入,你需要安装 TiDB Lightning 并使用其物理导入模式。目前,该功能已集成到 IMPORT INTO 语句中,你可以使用此语句快速导入数据,而无需安装任何额外的工具。该语句还支持分布式执行框架,可分布式执行导入任务,提升了大规模数据导入时的效率。 @@ -60,6 +60,10 @@ TiDB 7.5.0 为长期支持版本 (Long-Term Support Release, LTS)。 DDL 任务支持暂停和恢复操作 (GA) 添加索引可能会消耗大量资源并影响在线流量。即使在资源组中进行了限制,或对标记的节点进行了隔离,你仍然可能需要在紧急情况下暂停这些任务。从 v7.2.0 开始,TiDB 原生支持同时暂停任意数量的后台任务,释放所需的资源,无需取消或重启任务。 + + TiDB Dashboard 性能分析支持 TiKV 堆内存分析 + 在之前版本中调查 TiKV OOM 或内存使用高的问题时,往往需要在实例环境下手动运行 jeprof 生成 Heap Profile。从 v7.5.0 开始,TiKV 支持远程处理 Heap Profile,你可以通过 TiDB Dashboard 直接获取 Heap Profile 的火焰图和调用图。该功能提供了与 Go 堆内存分析同等的简单易用体验。 +