Skip to content
Open
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 19 additions & 14 deletions releases/release-8.5.4.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 发布包含若干系统变量和配置参数的默认值变更和行为调整,需要注意以下要点:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
新建的 v8.5.3 集群可以平滑升级到 v8.5.4。但 v8.5.4 发布包含若干系统变量和配置参数的默认值变更和行为调整,需要注意以下要点
新建的 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 进行了自定义配置的集群,需要仔细检查本节内容。
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- 大多数变更对于常规升级是安全的,但对于曾进行过性能调优、使用 TiFlash、或对 TiKV compaction 进行了自定义配置的集群,需要仔细检查本节内容。
- 大多数变更对于常规升级是安全的,但对于曾进行过性能调优、包含 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` [@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 兼容性

Expand Down