From 72c1761711c24ab8c261be55a448a00a748dc1cb Mon Sep 17 00:00:00 2001 From: JmPotato Date: Sun, 27 Apr 2025 10:38:58 +0800 Subject: [PATCH 1/7] fix(pd): add missing configuration items for PD Signed-off-by: JmPotato --- pd-configuration-file.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/pd-configuration-file.md b/pd-configuration-file.md index 840bac8a271c..52b119ec4701 100644 --- a/pd-configuration-file.md +++ b/pd-configuration-file.md @@ -92,6 +92,21 @@ PD 配置文件比命令行参数支持更多的选项。你可以在 [conf/conf + compaction-mode 为 periodic 时为元信息数据库自动压缩的间隔时间;compaction-mode 设置为 revision 时为自动压缩的版本数。 + 默认值:1h +### `tick-interval` + ++ 等价于 etcd 的 `heartbeat-interval` 配置项,用于控制 PD 节点中内嵌的 etcd 之间的 Raft 心跳间隔。 ++ 默认值:500ms + +### `election-interval` + ++ 等价于 etcd 的 `election-timeout` 配置项,用于控制 PD 节点中内嵌的 etcd 的选举超时时间,即在超过该时间没有收到来自其他 etcd 节点的有效心跳后,当前 etcd 节点会发起 Raft 选举。 ++ 默认值:3000ms + +### `enable-prevote` + ++ 等价于 etcd 的 `enable-prevote` 配置项,用于控制 PD 节点中内嵌的 etcd 是否开启 Raft 预投票,启用后,etcd 会进行额外的选举阶段,以检查是否能获得足够的票数赢得选举,从而最大程度地减少服务中断。 ++ 默认值:true + ### `force-new-cluster` + 强制让该 PD 以一个新集群启动,且修改 raft 成员数为 1。 @@ -400,6 +415,16 @@ pd-server 相关配置项。 * 设置 PD 保留的 Hot Region 信息的最长时间。单位为天。 * 默认值: 7 +### `enable-heartbeat-breakdown-metrics` 从 v8.0.0 版本开始引入 + ++ 是否开启 Region 心跳指标拆分,用于统计 Region 心跳处理各阶段所消耗的时间。 ++ 默认值:true + +### `enable-heartbeat-concurrent-runner` 从 v8.0.0 版本开始引入 + ++ 是否开启 Region 心跳异步并发处理,开启后会使用一个执行器异步并发地处理 Region 心跳请求。 ++ 默认值:true + ## replication 副本相关的配置项。 From 4b63cda58adae6eb28de11ae28218c746df8fbf5 Mon Sep 17 00:00:00 2001 From: JmPotato Date: Mon, 28 Apr 2025 14:03:21 +0800 Subject: [PATCH 2/7] feat(config): update PD election-interval requirement Signed-off-by: JmPotato --- pd-configuration-file.md | 1 + 1 file changed, 1 insertion(+) diff --git a/pd-configuration-file.md b/pd-configuration-file.md index 52b119ec4701..315d6add7b61 100644 --- a/pd-configuration-file.md +++ b/pd-configuration-file.md @@ -101,6 +101,7 @@ PD 配置文件比命令行参数支持更多的选项。你可以在 [conf/conf + 等价于 etcd 的 `election-timeout` 配置项,用于控制 PD 节点中内嵌的 etcd 的选举超时时间,即在超过该时间没有收到来自其他 etcd 节点的有效心跳后,当前 etcd 节点会发起 Raft 选举。 + 默认值:3000ms ++ 该值必须至少为 `tick-interval` 的 5 倍,例如 `tick-interval` 为 500ms,则 `election-interval` 必须大于等于 2500ms。 ### `enable-prevote` From 03c914cd491e925a7e63c26eee432112dd317039 Mon Sep 17 00:00:00 2001 From: JmPotato Date: Mon, 28 Apr 2025 14:10:00 +0800 Subject: [PATCH 3/7] Address the bot's comments Signed-off-by: JmPotato --- pd-configuration-file.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pd-configuration-file.md b/pd-configuration-file.md index 315d6add7b61..20d61a95d226 100644 --- a/pd-configuration-file.md +++ b/pd-configuration-file.md @@ -94,7 +94,7 @@ PD 配置文件比命令行参数支持更多的选项。你可以在 [conf/conf ### `tick-interval` -+ 等价于 etcd 的 `heartbeat-interval` 配置项,用于控制 PD 节点中内嵌的 etcd 之间的 Raft 心跳间隔。 ++ 等价于 etcd 的 `heartbeat-interval` 配置项,用于控制 PD 节点中内嵌的 etcd 之间的 Raft 心跳间隔。较小的值可以提高故障检测速度,但会增加网络负载。 + 默认值:500ms ### `election-interval` @@ -105,7 +105,7 @@ PD 配置文件比命令行参数支持更多的选项。你可以在 [conf/conf ### `enable-prevote` -+ 等价于 etcd 的 `enable-prevote` 配置项,用于控制 PD 节点中内嵌的 etcd 是否开启 Raft 预投票,启用后,etcd 会进行额外的选举阶段,以检查是否能获得足够的票数赢得选举,从而最大程度地减少服务中断。 ++ 等价于 etcd 的 `enable-prevote` 配置项,用于控制 PD 节点中内嵌的 etcd 是否开启 Raft 预投票。启用后,etcd 会进行额外的选举阶段,以检查是否能获得足够的票数赢得选举,从而最大程度地减少服务中断。 + 默认值:true ### `force-new-cluster` @@ -418,12 +418,12 @@ pd-server 相关配置项。 ### `enable-heartbeat-breakdown-metrics` 从 v8.0.0 版本开始引入 -+ 是否开启 Region 心跳指标拆分,用于统计 Region 心跳处理各阶段所消耗的时间。 ++ 是否开启 Region 心跳指标拆分,用于统计 Region 心跳处理各阶段所消耗的时间,便于在监控上分析心跳处理中不同阶段所消耗的时间。 + 默认值:true ### `enable-heartbeat-concurrent-runner` 从 v8.0.0 版本开始引入 -+ 是否开启 Region 心跳异步并发处理,开启后会使用一个执行器异步并发地处理 Region 心跳请求。 ++ 是否开启 Region 心跳异步并发处理功能。开启后会使用独立的执行器异步并发处理 Region 心跳请求,可提高心跳处理吞吐量,降低延迟。 + 默认值:true ## replication From 40144811db98f129626513f9f942e07fea1da53c Mon Sep 17 00:00:00 2001 From: Test User Date: Tue, 29 Apr 2025 12:01:45 +0800 Subject: [PATCH 4/7] Update release-8.0.0.md --- releases/release-8.0.0.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/releases/release-8.0.0.md b/releases/release-8.0.0.md index b9fc9221c594..2e865d13f705 100644 --- a/releases/release-8.0.0.md +++ b/releases/release-8.0.0.md @@ -339,7 +339,9 @@ TiDB 版本:8.0.0 | TiKV | [`security.encryption.master-key.vendor`](/encryption-at-rest.md#通过-kms-指定主密钥) | 修改 | 主密钥可选的服务商类型新增 `gcp`。 | | TiKV | [`rocksdb.defaultcf.titan.shared-blob-cache`](/tikv-configuration-file.md#shared-blob-cache-从-v800-版本开始引入) | 新增 | 控制是否启用 Titan Blob 文件和 RocksDB Block 文件的共享缓存。默认值为 `true`。| | TiKV | [`security.encryption.master-key.gcp.credential-file-path`](/encryption-at-rest.md#通过-kms-指定主密钥) | 新增 | 在 `security.encryption.master-key.vendor` 为 `gcp` 时,用于指定 Google Cloud 认证凭证文件的路径。| -| TiDB Lightning | [`tikv-importer.duplicate-resolution`](/tidb-lightning/tidb-lightning-physical-import-mode-usage.md#旧版冲突检测从-v800-开始已被废弃) | 废弃 | 用于在物理导入模式下设置是否检测和解决唯一键冲突的记录。从 v8.0.0 开始被参数 [`conflict.strategy`](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-任务配置) 替代。 | +| PD | [`schedule.enable-heartbeat-breakdown-metrics`](/pd-configuration-file.md#enable-heartbeat-breakdown-metrics-从-v800-版本开始引入) | 新增 | 是否开启 Region 心跳指标拆分,用于统计 Region 心跳处理各阶段所消耗的时间,便于在监控上进行分析。默认值为 `true`。 | +| PD | [`schedule.enable-heartbeat-concurrent-runner`](/pd-configuration-file.md#enable-heartbeat-concurrent-runner-从-v800-版本开始引入) | 新增 | 是否开启 Region 心跳异步并发处理功能。开启后会使用独立的执行器异步并发处理 Region 心跳请求,可提高心跳处理吞吐量,降低延迟。默认值为 `true`。 | +| TiDB Lightning | [`tikv-importer.duplicate-resolution`](/tidb-lightning/tidb-lightning-physical-import-mode-usage.md#旧版冲突检测从-v800-开始已被废弃) | 废弃 | 用于在物理导入模式下设置是否检测和解决唯一键冲突的记录。从 v8.0.0 开始被参数 [`conflict.strategy`](/tidb-lightning/tidb-lightning-configuration.md) 替代。 | | TiDB Lightning | [`conflict.precheck-conflict-before-import`](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-任务配置) | 新增 | 控制是否开启前置冲突检测,即导入数据到 TiDB 前,先检查所需导入的数据是否存在冲突。该参数默认值为 `false`,表示仅开启后置冲突检测。仅当导入模式为物理导入模式 (`tikv-importer.backend = "local"`) 时可以使用该参数。 | | TiDB Lightning | [`logical-import-batch-rows`](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-任务配置) | 新增 | 在逻辑导入模式下,用于限制每个事务中可插入的最大行数,默认值为 `65536`。 | | TiDB Lightning | [`logical-import-batch-size`](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-任务配置) | 新增 | 在逻辑导入模式下,用于设置下游 TiDB 服务器上执行的每条 SQL 语句的最大值。默认值为 `"96KiB"`,单位可以为 KB、KiB、MB、MiB 等存储单位。 | From 072db8137eb4a2ca8306a27666111b79433ca161 Mon Sep 17 00:00:00 2001 From: Test User Date: Tue, 29 Apr 2025 12:01:45 +0800 Subject: [PATCH 5/7] Update release-8.0.0.md --- releases/release-8.0.0.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/releases/release-8.0.0.md b/releases/release-8.0.0.md index b9fc9221c594..d96ac9fcd1fd 100644 --- a/releases/release-8.0.0.md +++ b/releases/release-8.0.0.md @@ -339,6 +339,8 @@ TiDB 版本:8.0.0 | TiKV | [`security.encryption.master-key.vendor`](/encryption-at-rest.md#通过-kms-指定主密钥) | 修改 | 主密钥可选的服务商类型新增 `gcp`。 | | TiKV | [`rocksdb.defaultcf.titan.shared-blob-cache`](/tikv-configuration-file.md#shared-blob-cache-从-v800-版本开始引入) | 新增 | 控制是否启用 Titan Blob 文件和 RocksDB Block 文件的共享缓存。默认值为 `true`。| | TiKV | [`security.encryption.master-key.gcp.credential-file-path`](/encryption-at-rest.md#通过-kms-指定主密钥) | 新增 | 在 `security.encryption.master-key.vendor` 为 `gcp` 时,用于指定 Google Cloud 认证凭证文件的路径。| +| PD | [`schedule.enable-heartbeat-breakdown-metrics`](/pd-configuration-file.md#enable-heartbeat-breakdown-metrics-从-v800-版本开始引入) | 新增 | 是否开启 Region 心跳指标拆分,用于统计 Region 心跳处理各阶段所消耗的时间,便于在监控上进行分析。默认值为 `true`。 | +| PD | [`schedule.enable-heartbeat-concurrent-runner`](/pd-configuration-file.md#enable-heartbeat-concurrent-runner-从-v800-版本开始引入) | 新增 | 是否开启 Region 心跳异步并发处理功能。开启后会使用独立的执行器异步并发处理 Region 心跳请求,可提高心跳处理吞吐量,降低延迟。默认值为 `true`。 | | TiDB Lightning | [`tikv-importer.duplicate-resolution`](/tidb-lightning/tidb-lightning-physical-import-mode-usage.md#旧版冲突检测从-v800-开始已被废弃) | 废弃 | 用于在物理导入模式下设置是否检测和解决唯一键冲突的记录。从 v8.0.0 开始被参数 [`conflict.strategy`](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-任务配置) 替代。 | | TiDB Lightning | [`conflict.precheck-conflict-before-import`](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-任务配置) | 新增 | 控制是否开启前置冲突检测,即导入数据到 TiDB 前,先检查所需导入的数据是否存在冲突。该参数默认值为 `false`,表示仅开启后置冲突检测。仅当导入模式为物理导入模式 (`tikv-importer.backend = "local"`) 时可以使用该参数。 | | TiDB Lightning | [`logical-import-batch-rows`](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-任务配置) | 新增 | 在逻辑导入模式下,用于限制每个事务中可插入的最大行数,默认值为 `65536`。 | From d5d01d9f2717694654ad3372f01f839b8548f569 Mon Sep 17 00:00:00 2001 From: JmPotato Date: Tue, 29 Apr 2025 14:02:32 +0800 Subject: [PATCH 6/7] Address the comments Signed-off-by: JmPotato --- pd-configuration-file.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pd-configuration-file.md b/pd-configuration-file.md index 20d61a95d226..287da7b27804 100644 --- a/pd-configuration-file.md +++ b/pd-configuration-file.md @@ -94,18 +94,18 @@ PD 配置文件比命令行参数支持更多的选项。你可以在 [conf/conf ### `tick-interval` -+ 等价于 etcd 的 `heartbeat-interval` 配置项,用于控制 PD 节点中内嵌的 etcd 之间的 Raft 心跳间隔。较小的值可以提高故障检测速度,但会增加网络负载。 ++ 等价于 etcd 的 `heartbeat-interval` 配置项,用于控制不同 PD 节点中内嵌的 etcd 实例之间的 Raft 心跳间隔。较小的值可以提高故障检测速度,但会增加网络负载。 + 默认值:500ms ### `election-interval` -+ 等价于 etcd 的 `election-timeout` 配置项,用于控制 PD 节点中内嵌的 etcd 的选举超时时间,即在超过该时间没有收到来自其他 etcd 节点的有效心跳后,当前 etcd 节点会发起 Raft 选举。 ++ 等价于 etcd 的 `election-timeout` 配置项,用于控制 PD 节点中内嵌的 etcd 实例的选举超时时间,即在超过该时间没有收到来自其他 etcd 实例的有效心跳后,当前 etcd 实例会发起 Raft 选举。 + 默认值:3000ms -+ 该值必须至少为 `tick-interval` 的 5 倍,例如 `tick-interval` 为 500ms,则 `election-interval` 必须大于等于 2500ms。 ++ 该值必须至少为 [`tick-interval`](#tick-interval) 的 5 倍,例如 `tick-interval` 为 `500ms`,则 `election-interval` 必须大于等于 `2500ms`。 ### `enable-prevote` -+ 等价于 etcd 的 `enable-prevote` 配置项,用于控制 PD 节点中内嵌的 etcd 是否开启 Raft 预投票。启用后,etcd 会进行额外的选举阶段,以检查是否能获得足够的票数赢得选举,从而最大程度地减少服务中断。 ++ 等价于 etcd 的 `pre-vote` 配置项,用于控制 PD 节点中内嵌的 etcd 是否开启 Raft 预投票。启用后,etcd 会进行额外的选举阶段,以检查是否能获得足够的票数赢得选举,从而最大程度地减少服务中断。 + 默认值:true ### `force-new-cluster` @@ -418,7 +418,7 @@ pd-server 相关配置项。 ### `enable-heartbeat-breakdown-metrics` 从 v8.0.0 版本开始引入 -+ 是否开启 Region 心跳指标拆分,用于统计 Region 心跳处理各阶段所消耗的时间,便于在监控上分析心跳处理中不同阶段所消耗的时间。 ++ 是否开启 Region 心跳指标拆分,用于统计 Region 心跳处理各阶段所消耗的时间,便于在监控上进行分析。 + 默认值:true ### `enable-heartbeat-concurrent-runner` 从 v8.0.0 版本开始引入 From 05eeac365434246e2b96d0c18b30b6811a5b2b98 Mon Sep 17 00:00:00 2001 From: JmPotato Date: Wed, 30 Apr 2025 11:38:59 +0800 Subject: [PATCH 7/7] Update release-8.0.0.md Co-authored-by: Aolin --- releases/release-8.0.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/releases/release-8.0.0.md b/releases/release-8.0.0.md index d96ac9fcd1fd..6ca7315216ac 100644 --- a/releases/release-8.0.0.md +++ b/releases/release-8.0.0.md @@ -339,8 +339,8 @@ TiDB 版本:8.0.0 | TiKV | [`security.encryption.master-key.vendor`](/encryption-at-rest.md#通过-kms-指定主密钥) | 修改 | 主密钥可选的服务商类型新增 `gcp`。 | | TiKV | [`rocksdb.defaultcf.titan.shared-blob-cache`](/tikv-configuration-file.md#shared-blob-cache-从-v800-版本开始引入) | 新增 | 控制是否启用 Titan Blob 文件和 RocksDB Block 文件的共享缓存。默认值为 `true`。| | TiKV | [`security.encryption.master-key.gcp.credential-file-path`](/encryption-at-rest.md#通过-kms-指定主密钥) | 新增 | 在 `security.encryption.master-key.vendor` 为 `gcp` 时,用于指定 Google Cloud 认证凭证文件的路径。| -| PD | [`schedule.enable-heartbeat-breakdown-metrics`](/pd-configuration-file.md#enable-heartbeat-breakdown-metrics-从-v800-版本开始引入) | 新增 | 是否开启 Region 心跳指标拆分,用于统计 Region 心跳处理各阶段所消耗的时间,便于在监控上进行分析。默认值为 `true`。 | -| PD | [`schedule.enable-heartbeat-concurrent-runner`](/pd-configuration-file.md#enable-heartbeat-concurrent-runner-从-v800-版本开始引入) | 新增 | 是否开启 Region 心跳异步并发处理功能。开启后会使用独立的执行器异步并发处理 Region 心跳请求,可提高心跳处理吞吐量,降低延迟。默认值为 `true`。 | +| PD | [`schedule.enable-heartbeat-breakdown-metrics`](/pd-configuration-file.md#enable-heartbeat-breakdown-metrics-从-v800-版本开始引入) | 新增 | 控制是否开启 Region 心跳指标拆分,用于统计 Region 心跳处理各阶段所消耗的时间,便于在监控上进行分析。默认值为 `true`。 | +| PD | [`schedule.enable-heartbeat-concurrent-runner`](/pd-configuration-file.md#enable-heartbeat-concurrent-runner-从-v800-版本开始引入) | 新增 | 控制是否开启 Region 心跳异步并发处理功能。开启后会使用独立的执行器异步并发处理 Region 心跳请求,可提高心跳处理吞吐量,降低延迟。默认值为 `true`。 | | TiDB Lightning | [`tikv-importer.duplicate-resolution`](/tidb-lightning/tidb-lightning-physical-import-mode-usage.md#旧版冲突检测从-v800-开始已被废弃) | 废弃 | 用于在物理导入模式下设置是否检测和解决唯一键冲突的记录。从 v8.0.0 开始被参数 [`conflict.strategy`](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-任务配置) 替代。 | | TiDB Lightning | [`conflict.precheck-conflict-before-import`](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-任务配置) | 新增 | 控制是否开启前置冲突检测,即导入数据到 TiDB 前,先检查所需导入的数据是否存在冲突。该参数默认值为 `false`,表示仅开启后置冲突检测。仅当导入模式为物理导入模式 (`tikv-importer.backend = "local"`) 时可以使用该参数。 | | TiDB Lightning | [`logical-import-batch-rows`](/tidb-lightning/tidb-lightning-configuration.md#tidb-lightning-任务配置) | 新增 | 在逻辑导入模式下,用于限制每个事务中可插入的最大行数,默认值为 `65536`。 |