diff --git a/releases/release-8.5.4.md b/releases/release-8.5.4.md index c47266728d77..5d491e8e3dd4 100644 --- a/releases/release-8.5.4.md +++ b/releases/release-8.5.4.md @@ -61,26 +61,31 @@ TiDB 版本:8.5.4 ## 兼容性变更 -### 系统变量 - -- 系统变量 [`tidb_mpp_store_fail_ttl`](https://docs.pingcap.com/zh/tidb/v8.5/system-variables/#tidb_mpp_store_fail_ttl) 默认值从 `60s` 修改为 `0s`,意味着 TiDB 不再需要额外等待即可向新启动的 TiFlash 节点发送查询请求,无需再通过延迟来避免查询失败 [#61826](https://github.com/pingcap/tidb/issues/61826) @[gengliqi](https://github.com/gengliqi) +新建的 v8.5.3 集群可以平滑升级到 v8.5.4。但 v8.5.4 发布包含若干系统变量和配置参数的默认值变更和行为调整,需要注意以下要点: -- 系统变量 [`tidb_replica_read`](https://docs.pingcap.com/zh/tidb/v8.5/system-variables/#tidb_replica_read-从-v40-版本开始引入) 从 v8.5.4 开始仅对只读 SQL 语句生效,以提高数据读取的安全性并减少与其他功能的重叠 [#62856](https://github.com/pingcap/tidb/issues/62856) @[you06](https://github.com/you06) +- 大多数变更对于常规升级是安全的,但对于曾进行过性能调优、使用 TiFlash、或对 TiKV compaction 进行了自定义配置的集群,需要仔细检查本节内容。 +- 一些老旧配置项已被废弃,不再推荐使用,建议使用新的配置组。 -- 新增以下系统变量: +### 系统变量 - - [`tidb_opt_enable_no_decorrelate_in_select`](https://docs.pingcap.com/zh/tidb/v8.5/system-variables/#tidb_opt_enable_no_decorrelate_in_select-从-v854-版本开始引入):控制是否对 `SELECT` 列表中的子查询进行解关联操作,默认值为 `OFF` [#51116](https://github.com/pingcap/tidb/issues/51116) @[terry1purcell](https://github.com/terry1purcell) - - [`tidb_opt_enable_semi_join_rewrite`](https://docs.pingcap.com/zh/tidb/v8.5/system-variables/#tidb_opt_enable_semi_join_rewrite-从-v854-版本开始引入):控制是否改写 `EXISTS` 子查询,默认值为 `OFF` [#44850](https://github.com/pingcap/tidb/issues/44850) @[terry1purcell](https://github.com/terry1purcell) - - [`tidb_stats_update_during_ddl`](https://docs.pingcap.com/zh/tidb/v8.5/system-variables/#tidb_stats_update_during_ddl-从-v854-版本开始引入):控制是否开启内嵌于 DDL 的 Analyze 特性,默认值为 `OFF` [#57948](https://github.com/pingcap/tidb/issues/57948) @[terry1purcell](https://github.com/terry1purcell) @[AilinKid](https://github.com/AilinKid) +| 变量 | 类型 | 描述 | +|------|------|------| +| [`tidb_mpp_store_fail_ttl`](https://docs.pingcap.com/zh/tidb/v8.5/system-variables/#tidb_mpp_store_fail_ttl) | 修改 | 默认值从 `60s` 修改为 `0s`,意味着 TiDB 不再需要额外等待即可向新启动的 TiFlash 节点发送查询请求,无需再通过延迟来避免查询失败 [#61826](https://github.com/pingcap/tidb/issues/61826) @[gengliqi](https://github.com/gengliqi) | +| [`tidb_replica_read`](https://docs.pingcap.com/zh/tidb/v8.5/system-variables/#tidb_replica_read-从-v40-版本开始引入) | 修改 | 从 v8.5.4 开始,该变量仅对只读 SQL 语句生效,以提高数据读取安全性并减少与其他功能的重叠 [#62856](https://github.com/pingcap/tidb/issues/62856) @[you06](https://github.com/you06) | +| [`tidb_opt_enable_no_decorrelate_in_select`](https://docs.pingcap.com/zh/tidb/v8.5/system-variables/#tidb_opt_enable_no_decorrelate_in_select-从-v854-版本开始引入) | 新增 | 控制是否对 `SELECT` 列表中的子查询进行解关联操作,默认值为 `OFF` [#51116](https://github.com/pingcap/tidb/issues/51116) @[terry1purcell](https://github.com/terry1purcell) | +| [`tidb_opt_enable_semi_join_rewrite`](https://docs.pingcap.com/zh/tidb/v8.5/system-variables/#tidb_opt_enable_semi_join_rewrite-从-v854-版本开始引入) | 新增 | 控制是否改写 `EXISTS` 子查询,默认值为 `OFF` [#44850](https://github.com/pingcap/tidb/issues/44850) @[terry1purcell](https://github.com/terry1purcell) | +| [`tidb_stats_update_during_ddl`](https://docs.pingcap.com/zh/tidb/v8.5/system-variables/#tidb_stats_update_during_ddl-从-v854-版本开始引入) | 新增 | 控制是否开启[内嵌于 DDL 的 Analyze 特性](https://docs.pingcap.com/zh/tidb/v8.5/ddl_embedded_analyze),默认值为 `OFF`。启用后,`ADD INDEX` DDL 会在执行期间收集新索引的统计信息,使索引添加完成后,优化器可以立即使用该索引。需要注意的是,对于大表加索引的场景,启用该变量可能增加 DDL 执行时间。 [#57948](https://github.com/pingcap/tidb/issues/57948) @[terry1purcell](https://github.com/terry1purcell) @[AilinKid](https://github.com/AilinKid) | ### 配置参数 -- 废弃以下 TiKV 配置项,并由新的 [`gc.auto-compaction`](https://docs.pingcap.com/zh/tidb/v8.5/tikv-configuration-file/#gcauto-compaction) 配置项替代,用于控制自动 compaction 行为 [#18727](https://github.com/tikv/tikv/issues/18727) @[v01dstar](https://github.com/v01dstar) - - - 废弃配置项:[`region-compact-check-interval`](https://docs.pingcap.com/zh/tidb/v8.5/tikv-configuration-file#region-compact-check-interval)、[`region-compact-check-step`](https://docs.pingcap.com/zh/tidb/v8.5/tikv-configuration-file#region-compact-check-step)、[`region-compact-min-tombstones`](https://docs.pingcap.com/zh/tidb/v8.5/tikv-configuration-file#region-compact-min-tombstones)、[`region-compact-tombstones-percent`](https://docs.pingcap.com/zh/tidb/v8.5/tikv-configuration-file#region-compact-tombstones-percent)、[`region-compact-min-redundant-rows`](https://docs.pingcap.com/zh/tidb/v8.5/tikv-configuration-file#region-compact-min-redundant-rows-从-v710-版本开始引入) 和 [`region-compact-redundant-rows-percent`](https://docs.pingcap.com/zh/tidb/v8.5/tikv-configuration-file#region-compact-redundant-rows-percent-从-v710-版本开始引入)。 - - 新增配置项:[`gc.auto-compaction.check-interval`](https://docs.pingcap.com/zh/tidb/v8.5/tikv-configuration-file#check-interval-从-v757-和-v854-版本开始引入)、[`gc.auto-compaction.tombstone-num-threshold`](https://docs.pingcap.com/zh/tidb/v8.5/tikv-configuration-file#tombstone-num-threshold-从-v757-和-v854-版本开始引入)、[`gc.auto-compaction.tombstone-percent-threshold`](https://docs.pingcap.com/zh/tidb/v8.5/tikv-configuration-file#tombstone-percent-threshold-从-v757-和-v854-版本开始引入)、[`gc.auto-compaction.redundant-rows-threshold`](https://docs.pingcap.com/zh/tidb/v8.5/tikv-configuration-file#redundant-rows-threshold-从-v757-和-v854-版本开始引入)、[`gc.auto-compaction.redundant-rows-percent-threshold`](https://docs.pingcap.com/zh/tidb/v8.5/tikv-configuration-file#redundant-rows-percent-threshold-从-v757-和-v854-版本开始引入) 和 [`gc.auto-compaction.bottommost-level-force`](https://docs.pingcap.com/zh/tidb/v8.5/tikv-configuration-file#bottommost-level-force-从-v757-和-v854-版本开始引入)。 - -- 新增 TiFlash 配置项 [`flash.graceful_wait_shutdown_timeout`](https://docs.pingcap.com/zh/tidb/v8.5/tiflash-configuration#graceful_wait_shutdown_timeout-从-v854-版本开始引入),用于控制在关闭 TiFlash 服务器时的最长等待时间,默认值为 `600` 秒。在此期间,TiFlash 允许尚未完成的 MPP 任务继续执行,但不再接收新的 MPP 任务。如果所有正在运行的 MPP 任务都在此超时时间之前完成,TiFlash 将立即关闭;否则将在等待时间结束后强制关闭。 [#10266](https://github.com/pingcap/tiflash/issues/10266) @[gengliqi](https://github.com/gengliqi) +| 配置参数 | 类型 | 描述 | +|------|------|------| +| [`rocksdb.max-manifest-file-size`](https://docs.pingcap.com/zh/tidb/v8.5/tikv-configuration-file#max-manifest-file-size) | 修改 | 默认值从 `128MiB` 修改为 `256MiB`,以避免在单个 TiKV 节点的 SST 文件数量过多时,频繁触发 Manifest 文件的 compaction,从而影响整体性能 [#18889](https://github.com/tikv/tikv/issues/18889) @[glorv](https://github.com/glorv) | +| [`grpc-raft-conn-num`](https://docs.pingcap.com/zh/tidb/v8.5/tikv-configuration-file#grpc-raft-conn-num) | 修改 | 默认值从 `1` 修改为 `MAX(1, MIN(4, CPU 核数 / 8))`,当 CPU 核数 ≥ 32 时,最大默认连接数限制为 4 [#18806](https://github.com/tikv/tikv/issues/18806) @[LykxSassinator](https://github.com/LykxSassinator) | +| [`grpc-concurrency`](https://docs.pingcap.com/zh/tidb/v8.5/tikv-configuration-file#grpc-concurrency) | 修改 | 默认值从 `1` 修改为 `grpc-raft-conn-num * 3 + 2` [#18806](https://github.com/tikv/tikv/issues/18806) @[LykxSassinator](https://github.com/LykxSassinator) | +| [`region-compact-check-interval`](https://docs.pingcap.com/zh/tidb/v8.5/tikv-configuration-file#region-compact-check-interval), [`region-compact-check-step`](https://docs.pingcap.com/zh/tidb/v8.5/tikv-configuration-file#region-compact-check-step), [`region-compact-min-tombstones`](https://docs.pingcap.com/zh/tidb/v8.5/tikv-configuration-file#region-compact-min-tombstones), [`region-compact-tombstones-percent`](https://docs.pingcap.com/zh/tidb/v8.5/tikv-configuration-file#region-compact-tombstones-percent), [`region-compact-min-redundant-rows`](https://docs.pingcap.com/zh/tidb/v8.5/tikv-configuration-file#region-compact-min-redundant-rows-从-v710-版本开始引入), [`region-compact-redundant-rows-percent`](https://docs.pingcap.com/zh/tidb/v8.5/tikv-configuration-file#region-compact-redundant-rows-percent-从-v710-版本开始引入) | 废弃 | 由 [`gc.auto-compaction`](https://docs.pingcap.com/zh/tidb/v8.5/tikv-configuration-file/#gcauto-compaction) 配置组替代,用于控制自动 compaction 行为 [#18727](https://github.com/tikv/tikv/issues/18727) @[v01dstar](https://github.com/v01dstar) | +| [`gc.auto-compaction`](https://docs.pingcap.com/zh/tidb/v8.5/tikv-configuration-file/#gcauto-compaction) 配置组:[`gc.auto-compaction.check-interval`](https://docs.pingcap.com/zh/tidb/stable/tikv-configuration-file/#check-interval-从-v757-版本开始引入), [`gc.auto-compaction.tombstone-num-threshold`](https://docs.pingcap.com/zh/tidb/stable/tikv-configuration-file/#tombstone-num-threshold-从-v757-版本开始引入), [`gc.auto-compaction.tombstone-percent-threshold`](https://docs.pingcap.com/zh/tidb/v8.5/tikv-configuration-file#tombstone-percent-threshold-从-v757-版本开始引入), [`gc.auto-compaction.redundant-rows-threshold`](https://docs.pingcap.com/zh/tidb/v8.5/tikv-configuration-file#redundant-rows-threshold-从-v757-版本开始引入), [`gc.auto-compaction.redundant-rows-percent-threshold`](https://docs.pingcap.com/zh/tidb/v8.5/tikv-configuration-file#redundant-rows-percent-threshold-从-v757-版本开始引入), [`gc.auto-compaction.bottommost-level-force`](https://docs.pingcap.com/zh/tidb/v8.5/tikv-configuration-file#bottommost-level-force-从-v757-版本开始引入) | 新增 | 该配置组用于控制自动 compaction 行为 [#18727](https://github.com/tikv/tikv/issues/18727) @[v01dstar](https://github.com/v01dstar) | +| [`flash.graceful_wait_shutdown_timeout`](https://docs.pingcap.com/zh/tidb/v8.5/tiflash-configuration#graceful_wait_shutdown_timeout-从-v854-版本开始引入) | 新增 | 控制 TiFlash 优雅关闭的最长等待时间(秒),默认为 `600` 秒。当关闭 TiFlash 时,TiFlash 会继续执行尚未完成的 MPP 任务,但不再接收新的 MPP 任务。如果所有 MPP 任务在此超时时间前完成,TiFlash 将立即关闭;否则将在等待时间结束后强制关闭。[#10266](https://github.com/pingcap/tiflash/issues/10266) @[gengliqi](https://github.com/gengliqi) | ### MySQL 兼容性