From 9cb46348badff3ab76e0261d5768694554f55180 Mon Sep 17 00:00:00 2001 From: Frank945946 <108602632+Frank945946@users.noreply.github.com> Date: Wed, 24 Dec 2025 17:52:26 +0800 Subject: [PATCH 1/7] Update the Compatibility changes of release-8.5.4 --- releases/release-8.5.4.md | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/releases/release-8.5.4.md b/releases/release-8.5.4.md index 87e1e53021af1..83a9a176b4f36 100644 --- a/releases/release-8.5.4.md +++ b/releases/release-8.5.4.md @@ -61,26 +61,33 @@ Quick access: [Quick start](https://docs.pingcap.com/tidb/v8.5/quick-start-with- ## Compatibility changes -### System variables +## Highlights -- Change the default value of the [`tidb_mpp_store_fail_ttl`](https://docs.pingcap.com/tidb/v8.5/system-variables/#tidb_mpp_store_fail_ttl) system variable from `60s` to `0s`. This means TiDB no longer needs to wait before sending queries to newly started TiFlash nodes, as delays are no longer necessary to prevent query failures. [#61826](https://github.com/pingcap/tidb/issues/61826) @[gengliqi](https://github.com/gengliqi) +- Newly created v8.5.3 clusters can be smoothly upgraded to v8.5.4. However, this release includes **default value changes and behavior adjustments** for several system variables and configuration parameters that require attention. + - Most changes are **safe for general upgrades**, but **clusters with customized performance tuning, TiFlash, or TiKV compaction settings should review this section carefully**. + - Some legacy configuration items are **deprecated and no longer recommended**, and you should **migrate to the new configuration groups**. -- Starting from v8.5.4, the [`tidb_replica_read`](https://docs.pingcap.com/tidb/v8.5/system-variables/#tidb_replica_read-new-in-v40) system variable only takes effect on read-only SQL statements. This change improves data read safety and reduces overlaps with other features. [#62856](https://github.com/pingcap/tidb/issues/62856) @[you06](https://github.com/you06) +## System Variables -- Add the following system variables: +| Variable | Type | Default Value | Description | PR | Contributor | +|--------|------|---------------|-------------|----|-------------| +| [`tidb_mpp_store_fail_ttl`](https://docs.pingcap.com/tidb/v8.5/system-variables/#tidb_mpp_store_fail_ttl) | Default Value Change | `0` | Default value changed from `60s` → `0s`. TiDB no longer waits before sending queries to newly started TiFlash nodes, as delays are no longer necessary to prevent query failures. | [#61826](https://github.com/pingcap/tidb/issues/61826) | [@gengliqi](https://github.com/gengliqi) | +| [`tidb_replica_read`](https://docs.pingcap.com/tidb/v8.5/system-variables/#tidb_replica_read-new-in-v40) | Behavior Change | `leader` | Starting from v8.5.4, this variable only takes effect on read-only SQL statements. This improves data read safety and reduces overlaps with other features. | [#62856](https://github.com/pingcap/tidb/issues/62856) | [@you06](https://github.com/you06) | +| [`tidb_opt_enable_no_decorrelate_in_select`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_opt_enable_no_decorrelate_in_select-new-in-v854) | New | `OFF` | Controls whether to decorrelate subqueries in the `SELECT` list. | [#51116](https://github.com/pingcap/tidb/issues/51116) | [@terry1purcell](https://github.com/terry1purcell) | +| [`tidb_opt_enable_semi_join_rewrite`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_opt_enable_semi_join_rewrite-new-in-v854) | New | `OFF` | Controls whether to rewrite `EXISTS` subqueries. | [#44850](https://github.com/pingcap/tidb/issues/44850) | [@terry1purcell](https://github.com/terry1purcell) | +| [`tidb_stats_update_during_ddl`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_stats_update_during_ddl-new-in-v854) | New | `OFF` | When enabled, `ADD INDEX` collects statistics during DDL, allowing immediate optimizer usage. May increase DDL time on large tables. | [#57948](https://github.com/pingcap/tidb/issues/57948) | [@terry1purcell](https://github.com/terry1purcell), [@AilinKid](https://github.com/AilinKid) | - - [`tidb_opt_enable_no_decorrelate_in_select`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_opt_enable_no_decorrelate_in_select-new-in-v854): controls whether to decorrelate subqueries in the `SELECT` list. The default value is `OFF`. [#51116](https://github.com/pingcap/tidb/issues/51116) @[terry1purcell](https://github.com/terry1purcell) - - [`tidb_opt_enable_semi_join_rewrite`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_opt_enable_semi_join_rewrite-new-in-v854): controls whether to rewrite `EXISTS` subqueries. The default value is `OFF`. [#44850](https://github.com/pingcap/tidb/issues/44850) @[terry1purcell](https://github.com/terry1purcell) - - [`tidb_stats_update_during_ddl`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_stats_update_during_ddl-new-in-v854): controls whether to enable the embedded Analyze for DDL. The default value is `OFF`. [#57948](https://github.com/pingcap/tidb/issues/57948) @[terry1purcell](https://github.com/terry1purcell) @[AilinKid](https://github.com/AilinKid) +## Configuration Parameters -### Configuration parameters +| Configuration Parameter | Type | Default Value | Description | PR | Contributor | +|-------------------------|------|---------------|-------------|----|-------------| +| [`max-manifest-file-size`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#max-manifest-file-size) | Default Value Change | `256 MiB` | Increases the default value of `rocksdb.max-manifest-file-size` from `128 MiB` → `256 MiB`. This may affect users who rely on the previous default value. | [#18889](https://github.com/tikv/tikv/issues/18889) | [@glorv](https://github.com/glorv) | +| [`grpc-raft-conn-num`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#grpc-raft-conn-num) | Default Value Change | CPU core num / 8 | The default value is updated to `MAX(1, MIN(4, CPU core num / 8))`. When the number of CPU cores is ≥ 32, the maximum default number of connections is capped at 4. | [#18806](https://github.com/tikv/tikv/issues/18806) | [@LykxSassinator](https://github.com/LykxSassinator) | +| [`grpc-concurrency`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#grpc-concurrency) | Default Value Change | `grpc-raft-conn-num * 3 + 2` | The default value is calculated as `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/tidb/v8.5/tikv-configuration-file#region-compact-check-interval), [`region-compact-check-step`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-check-step), [`region-compact-min-tombstones`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-min-tombstones), [`region-compact-tombstones-percent`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-tombstones-percent), [`region-compact-min-redundant-rows`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-min-redundant-rows-new-in-v710), [`region-compact-redundant-rows-percent`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-redundant-rows-percent-new-in-v710) | Deprecated | – | Deprecated and replaced by the [`gc.auto-compaction`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file/#gcauto-compaction) configuration group for automatic compaction control. | [#18727](https://github.com/tikv/tikv/issues/18727) | [@v01dstar](https://github.com/v01dstar) | +| [`gc.auto-compaction.check-interval`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#check-interval-new-in-v757-and-v854), [`gc.auto-compaction.tombstone-num-threshold`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#tombstone-num-threshold-new-in-v757-and-v854), [`gc.auto-compaction.tombstone-percent-threshold`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#tombstone-percent-threshold-new-in-v757-and-v854), [`gc.auto-compaction.redundant-rows-threshold`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#redundant-rows-threshold-new-in-v757-and-v854), [`gc.auto-compaction.redundant-rows-percent-threshold`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#redundant-rows-percent-threshold-new-in-v757-and-v854), [`gc.auto-compaction.bottommost-level-force`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#bottommost-level-force-new-in-v757-and-v854) | New | – | New configuration group to control automatic compaction behavior. | [#18727](https://github.com/tikv/tikv/issues/18727) | [@v01dstar](https://github.com/v01dstar) | +| [`flash.graceful_wait_shutdown_timeout`](https://docs.pingcap.com/tidb/v8.5/tiflash-configuration#graceful_wait_shutdown_timeout-new-in-v854) | New | `600` | Maximum wait time (seconds) for TiFlash graceful shutdown. TiFlash continues running unfinished MPP tasks but rejects new ones. Shuts down immediately if all tasks finish; otherwise, it is forcibly shut down after the timeout. | [#10266](https://github.com/tiflash/issues/10266) | [@gengliqi](https://github.com/gengliqi) | -- Deprecate the following TiKV configuration items and replace them with the new [`gc.auto-compaction`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file/#gcauto-compaction) configuration group, which controls automatic compaction behavior. [#18727](https://github.com/tikv/tikv/issues/18727) @[v01dstar](https://github.com/v01dstar) - - - Deprecated configuration items: [`region-compact-check-interval`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-check-interval), [`region-compact-check-step`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-check-step), [`region-compact-min-tombstones`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-min-tombstones), [`region-compact-tombstones-percent`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-tombstones-percent), [`region-compact-min-redundant-rows`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-min-redundant-rows-new-in-v710), and [`region-compact-redundant-rows-percent`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-redundant-rows-percent-new-in-v710). - - New configuration items: [`gc.auto-compaction.check-interval`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#check-interval-new-in-v757-and-v854), [`gc.auto-compaction.tombstone-num-threshold`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#tombstone-num-threshold-new-in-v757-and-v854), [`gc.auto-compaction.tombstone-percent-threshold`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#tombstone-percent-threshold-new-in-v757-and-v854), [`gc.auto-compaction.redundant-rows-threshold`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#redundant-rows-threshold-new-in-v757-and-v854), [`gc.auto-compaction.redundant-rows-percent-threshold`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#redundant-rows-percent-threshold-new-in-v757-and-v854), and [`gc.auto-compaction.bottommost-level-force`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#bottommost-level-force-new-in-v757-and-v854). - -- Add a TiFlash configuration item [`flash.graceful_wait_shutdown_timeout`](https://docs.pingcap.com/tidb/v8.5/tiflash-configuration#graceful_wait_shutdown_timeout-new-in-v854), which controls the maximum wait time when shutting down a TiFlash server. The default value is `600` seconds. During this period, TiFlash continues running unfinished MPP tasks but does not accept new ones. If all running MPP tasks finish before this timeout, TiFlash shuts down immediately; otherwise, it is forcibly shut down after the wait time expires. [#10266](https://github.com/pingcap/tiflash/issues/10266) @[gengliqi](https://github.com/gengliqi) ### MySQL compatibility From 22fb72ad910a2908ada19408d206e718fd92f1d6 Mon Sep 17 00:00:00 2001 From: Frank945946 <108602632+Frank945946@users.noreply.github.com> Date: Wed, 24 Dec 2025 18:45:53 +0800 Subject: [PATCH 2/7] Update release-8.5.4.md --- releases/release-8.5.4.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.5.4.md b/releases/release-8.5.4.md index 83a9a176b4f36..930135382261f 100644 --- a/releases/release-8.5.4.md +++ b/releases/release-8.5.4.md @@ -85,7 +85,7 @@ Quick access: [Quick start](https://docs.pingcap.com/tidb/v8.5/quick-start-with- | [`grpc-raft-conn-num`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#grpc-raft-conn-num) | Default Value Change | CPU core num / 8 | The default value is updated to `MAX(1, MIN(4, CPU core num / 8))`. When the number of CPU cores is ≥ 32, the maximum default number of connections is capped at 4. | [#18806](https://github.com/tikv/tikv/issues/18806) | [@LykxSassinator](https://github.com/LykxSassinator) | | [`grpc-concurrency`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#grpc-concurrency) | Default Value Change | `grpc-raft-conn-num * 3 + 2` | The default value is calculated as `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/tidb/v8.5/tikv-configuration-file#region-compact-check-interval), [`region-compact-check-step`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-check-step), [`region-compact-min-tombstones`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-min-tombstones), [`region-compact-tombstones-percent`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-tombstones-percent), [`region-compact-min-redundant-rows`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-min-redundant-rows-new-in-v710), [`region-compact-redundant-rows-percent`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-redundant-rows-percent-new-in-v710) | Deprecated | – | Deprecated and replaced by the [`gc.auto-compaction`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file/#gcauto-compaction) configuration group for automatic compaction control. | [#18727](https://github.com/tikv/tikv/issues/18727) | [@v01dstar](https://github.com/v01dstar) | -| [`gc.auto-compaction.check-interval`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#check-interval-new-in-v757-and-v854), [`gc.auto-compaction.tombstone-num-threshold`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#tombstone-num-threshold-new-in-v757-and-v854), [`gc.auto-compaction.tombstone-percent-threshold`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#tombstone-percent-threshold-new-in-v757-and-v854), [`gc.auto-compaction.redundant-rows-threshold`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#redundant-rows-threshold-new-in-v757-and-v854), [`gc.auto-compaction.redundant-rows-percent-threshold`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#redundant-rows-percent-threshold-new-in-v757-and-v854), [`gc.auto-compaction.bottommost-level-force`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#bottommost-level-force-new-in-v757-and-v854) | New | – | New configuration group to control automatic compaction behavior. | [#18727](https://github.com/tikv/tikv/issues/18727) | [@v01dstar](https://github.com/v01dstar) | +| [`gc.auto-compaction.check-interval`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file/#check-interval-new-in-v757), [`gc.auto-compaction.tombstone-num-threshold`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file/#tombstone-num-threshold-new-in-v757), [`gc.auto-compaction.tombstone-percent-threshold`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file/#tombstone-percent-threshold-new-in-v757), [`gc.auto-compaction.redundant-rows-threshold`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file/#redundant-rows-threshold-new-in-v757), [`gc.auto-compaction.redundant-rows-percent-threshold`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file/#redundant-rows-percent-threshold-new-in-v757), [`gc.auto-compaction.bottommost-level-force`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file/#bottommost-level-force-new-in-v757) | New | – | New configuration group to control automatic compaction behavior. | [#18727](https://github.com/tikv/tikv/issues/18727) | [@v01dstar](https://github.com/v01dstar) | | [`flash.graceful_wait_shutdown_timeout`](https://docs.pingcap.com/tidb/v8.5/tiflash-configuration#graceful_wait_shutdown_timeout-new-in-v854) | New | `600` | Maximum wait time (seconds) for TiFlash graceful shutdown. TiFlash continues running unfinished MPP tasks but rejects new ones. Shuts down immediately if all tasks finish; otherwise, it is forcibly shut down after the timeout. | [#10266](https://github.com/tiflash/issues/10266) | [@gengliqi](https://github.com/gengliqi) | From 77a475cec4a3e9ce78b86580d03b3ce20b24ba4e Mon Sep 17 00:00:00 2001 From: Grace Cai Date: Mon, 12 Jan 2026 13:57:40 +0800 Subject: [PATCH 3/7] format udpates --- releases/release-8.5.4.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/releases/release-8.5.4.md b/releases/release-8.5.4.md index 930135382261f..05fe94e1133c4 100644 --- a/releases/release-8.5.4.md +++ b/releases/release-8.5.4.md @@ -61,13 +61,11 @@ Quick access: [Quick start](https://docs.pingcap.com/tidb/v8.5/quick-start-with- ## Compatibility changes -## Highlights +Newly created v8.5.3 clusters can be smoothly upgraded to v8.5.4. However, this release includes **default value changes and behavior adjustments** for several system variables and configuration parameters that require attention. +- Most changes are **safe for general upgrades**, but **clusters with customized performance tuning, TiFlash, or TiKV compaction settings should review this section carefully**. +- Some legacy configuration items are **deprecated and no longer recommended**, and you should **migrate to the new configuration groups**. -- Newly created v8.5.3 clusters can be smoothly upgraded to v8.5.4. However, this release includes **default value changes and behavior adjustments** for several system variables and configuration parameters that require attention. - - Most changes are **safe for general upgrades**, but **clusters with customized performance tuning, TiFlash, or TiKV compaction settings should review this section carefully**. - - Some legacy configuration items are **deprecated and no longer recommended**, and you should **migrate to the new configuration groups**. - -## System Variables +### System variables | Variable | Type | Default Value | Description | PR | Contributor | |--------|------|---------------|-------------|----|-------------| @@ -77,7 +75,7 @@ Quick access: [Quick start](https://docs.pingcap.com/tidb/v8.5/quick-start-with- | [`tidb_opt_enable_semi_join_rewrite`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_opt_enable_semi_join_rewrite-new-in-v854) | New | `OFF` | Controls whether to rewrite `EXISTS` subqueries. | [#44850](https://github.com/pingcap/tidb/issues/44850) | [@terry1purcell](https://github.com/terry1purcell) | | [`tidb_stats_update_during_ddl`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_stats_update_during_ddl-new-in-v854) | New | `OFF` | When enabled, `ADD INDEX` collects statistics during DDL, allowing immediate optimizer usage. May increase DDL time on large tables. | [#57948](https://github.com/pingcap/tidb/issues/57948) | [@terry1purcell](https://github.com/terry1purcell), [@AilinKid](https://github.com/AilinKid) | -## Configuration Parameters +### Configuration parameters | Configuration Parameter | Type | Default Value | Description | PR | Contributor | |-------------------------|------|---------------|-------------|----|-------------| From d5c2cf78043fb69c59acc6ec395779fb666569d5 Mon Sep 17 00:00:00 2001 From: qiancai Date: Mon, 12 Jan 2026 14:44:14 +0800 Subject: [PATCH 4/7] sync from zh changes --- releases/release-8.5.4.md | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/releases/release-8.5.4.md b/releases/release-8.5.4.md index 05fe94e1133c4..c530ffcbdb604 100644 --- a/releases/release-8.5.4.md +++ b/releases/release-8.5.4.md @@ -61,31 +61,31 @@ Quick access: [Quick start](https://docs.pingcap.com/tidb/v8.5/quick-start-with- ## Compatibility changes -Newly created v8.5.3 clusters can be smoothly upgraded to v8.5.4. However, this release includes **default value changes and behavior adjustments** for several system variables and configuration parameters that require attention. -- Most changes are **safe for general upgrades**, but **clusters with customized performance tuning, TiFlash, or TiKV compaction settings should review this section carefully**. -- Some legacy configuration items are **deprecated and no longer recommended**, and you should **migrate to the new configuration groups**. +Newly created v8.5.3 clusters can be smoothly upgraded to v8.5.4. However, v8.5.4 introduces several **default value changes and behavior adjustments** for system variables and configuration parameters. Before upgrading, pay attention to the following: + +- Most changes are safe for routine upgrades. However, if your cluster has undergone performance tuning, such as customized TiFlash and TiKV compaction configurations, review this section carefully. +- Some legacy configuration items are deprecated in v8.5.4 and no longer recommended. It is recommended that you migrate them to the corresponding new configuration group provided in this section. ### System variables -| Variable | Type | Default Value | Description | PR | Contributor | -|--------|------|---------------|-------------|----|-------------| -| [`tidb_mpp_store_fail_ttl`](https://docs.pingcap.com/tidb/v8.5/system-variables/#tidb_mpp_store_fail_ttl) | Default Value Change | `0` | Default value changed from `60s` → `0s`. TiDB no longer waits before sending queries to newly started TiFlash nodes, as delays are no longer necessary to prevent query failures. | [#61826](https://github.com/pingcap/tidb/issues/61826) | [@gengliqi](https://github.com/gengliqi) | -| [`tidb_replica_read`](https://docs.pingcap.com/tidb/v8.5/system-variables/#tidb_replica_read-new-in-v40) | Behavior Change | `leader` | Starting from v8.5.4, this variable only takes effect on read-only SQL statements. This improves data read safety and reduces overlaps with other features. | [#62856](https://github.com/pingcap/tidb/issues/62856) | [@you06](https://github.com/you06) | -| [`tidb_opt_enable_no_decorrelate_in_select`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_opt_enable_no_decorrelate_in_select-new-in-v854) | New | `OFF` | Controls whether to decorrelate subqueries in the `SELECT` list. | [#51116](https://github.com/pingcap/tidb/issues/51116) | [@terry1purcell](https://github.com/terry1purcell) | -| [`tidb_opt_enable_semi_join_rewrite`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_opt_enable_semi_join_rewrite-new-in-v854) | New | `OFF` | Controls whether to rewrite `EXISTS` subqueries. | [#44850](https://github.com/pingcap/tidb/issues/44850) | [@terry1purcell](https://github.com/terry1purcell) | -| [`tidb_stats_update_during_ddl`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_stats_update_during_ddl-new-in-v854) | New | `OFF` | When enabled, `ADD INDEX` collects statistics during DDL, allowing immediate optimizer usage. May increase DDL time on large tables. | [#57948](https://github.com/pingcap/tidb/issues/57948) | [@terry1purcell](https://github.com/terry1purcell), [@AilinKid](https://github.com/AilinKid) | +| Variable | Change type | Description | +|---------|------|-------------| +| [`tidb_mpp_store_fail_ttl`](https://docs.pingcap.com/tidb/v8.5/system-variables/#tidb_mpp_store_fail_ttl) | Modified | Changes the default value from `60s` to `0s`. This means TiDB no longer needs to wait before sending queries to newly started TiFlash nodes, as delays are no longer necessary to prevent query failures. [#61826](https://github.com/pingcap/tidb/issues/61826) [@gengliqi](https://github.com/gengliqi) | +| [`tidb_replica_read`](https://docs.pingcap.com/tidb/v8.5/system-variables/#tidb_replica_read-new-in-v40) | Modified | Starting from v8.5.4, this variable only takes effect on read-only SQL statements. This improves data read safety and reduces overlaps with other features. [#62856](https://github.com/pingcap/tidb/issues/62856) [@you06](https://github.com/you06) | +| [`tidb_opt_enable_no_decorrelate_in_select`](https://docs.pingcap.com/tidb/v8.5/system-variables/#tidb_opt_enable_no_decorrelate_in_select-new-in-v854) | Newly added | Controls whether to decorrelate subqueries in the `SELECT` list. The default value is `OFF`. [#51116](https://github.com/pingcap/tidb/issues/51116) [@terry1purcell](https://github.com/terry1purcell) | +| [`tidb_opt_enable_semi_join_rewrite`](https://docs.pingcap.com/tidb/v8.5/system-variables/#tidb_opt_enable_semi_join_rewrite-new-in-v854) | Newly added | Controls whether to rewrite `EXISTS` subqueries. The default value is `OFF`. [#44850](https://github.com/pingcap/tidb/issues/44850) [@terry1purcell](https://github.com/terry1purcell) | +| [`tidb_stats_update_during_ddl`](https://docs.pingcap.com/tidb/v8.5/system-variables/#tidb_stats_update_during_ddl-new-in-v854) | Newly added | Controls whether to enable [`ANALYZE` Embedded in DDL Statements](https://docs.pingcap.com/tidb/v8.5/ddl_embedded_analyze). The default value is `OFF`. When enabled, the `ADD INDEX` DDL statement collects statistics for the new index during execution, allowing the optimizer to use the index immediately after it is added. Note that enabling this variable might increase DDL execution time when adding indexes to large tables. [#57948](https://github.com/pingcap/tidb/issues/57948) [@terry1purcell](https://github.com/terry1purcell) [@AilinKid](https://github.com/AilinKid) | ### Configuration parameters -| Configuration Parameter | Type | Default Value | Description | PR | Contributor | -|-------------------------|------|---------------|-------------|----|-------------| -| [`max-manifest-file-size`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#max-manifest-file-size) | Default Value Change | `256 MiB` | Increases the default value of `rocksdb.max-manifest-file-size` from `128 MiB` → `256 MiB`. This may affect users who rely on the previous default value. | [#18889](https://github.com/tikv/tikv/issues/18889) | [@glorv](https://github.com/glorv) | -| [`grpc-raft-conn-num`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#grpc-raft-conn-num) | Default Value Change | CPU core num / 8 | The default value is updated to `MAX(1, MIN(4, CPU core num / 8))`. When the number of CPU cores is ≥ 32, the maximum default number of connections is capped at 4. | [#18806](https://github.com/tikv/tikv/issues/18806) | [@LykxSassinator](https://github.com/LykxSassinator) | -| [`grpc-concurrency`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#grpc-concurrency) | Default Value Change | `grpc-raft-conn-num * 3 + 2` | The default value is calculated as `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/tidb/v8.5/tikv-configuration-file#region-compact-check-interval), [`region-compact-check-step`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-check-step), [`region-compact-min-tombstones`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-min-tombstones), [`region-compact-tombstones-percent`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-tombstones-percent), [`region-compact-min-redundant-rows`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-min-redundant-rows-new-in-v710), [`region-compact-redundant-rows-percent`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-redundant-rows-percent-new-in-v710) | Deprecated | – | Deprecated and replaced by the [`gc.auto-compaction`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file/#gcauto-compaction) configuration group for automatic compaction control. | [#18727](https://github.com/tikv/tikv/issues/18727) | [@v01dstar](https://github.com/v01dstar) | -| [`gc.auto-compaction.check-interval`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file/#check-interval-new-in-v757), [`gc.auto-compaction.tombstone-num-threshold`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file/#tombstone-num-threshold-new-in-v757), [`gc.auto-compaction.tombstone-percent-threshold`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file/#tombstone-percent-threshold-new-in-v757), [`gc.auto-compaction.redundant-rows-threshold`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file/#redundant-rows-threshold-new-in-v757), [`gc.auto-compaction.redundant-rows-percent-threshold`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file/#redundant-rows-percent-threshold-new-in-v757), [`gc.auto-compaction.bottommost-level-force`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file/#bottommost-level-force-new-in-v757) | New | – | New configuration group to control automatic compaction behavior. | [#18727](https://github.com/tikv/tikv/issues/18727) | [@v01dstar](https://github.com/v01dstar) | -| [`flash.graceful_wait_shutdown_timeout`](https://docs.pingcap.com/tidb/v8.5/tiflash-configuration#graceful_wait_shutdown_timeout-new-in-v854) | New | `600` | Maximum wait time (seconds) for TiFlash graceful shutdown. TiFlash continues running unfinished MPP tasks but rejects new ones. Shuts down immediately if all tasks finish; otherwise, it is forcibly shut down after the timeout. | [#10266](https://github.com/tiflash/issues/10266) | [@gengliqi](https://github.com/gengliqi) | - +| Configuration file or component | Configuration parameter | Change type | Description | +|--------------------------------|--------------------------|------|-------------| +| TiKV | [`rocksdb.max-manifest-file-size`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#max-manifest-file-size) | Modified | Changes the default value from `128MiB` to `256MiB` to avoid frequent manifest file compactions that could affect overall performance when a single TiKV node contains a large number of SST files. [#18889](https://github.com/tikv/tikv/issues/18889) [@glorv](https://github.com/glorv) | +| TiKV | [`grpc-raft-conn-num`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#grpc-raft-conn-num) | Modified | Changes the default value from `1` to `MAX(1, MIN(4, CPU cores / 8))`, which enables gRPC-related thread settings to adapt to the number of CPU cores. When the number of CPU cores equals or exceeds 32, the maximum default number of connections is 4. [#18806](https://github.com/tikv/tikv/issues/18806) [@LykxSassinator](https://github.com/LykxSassinator) | +| TiKV | [`grpc-concurrency`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#grpc-concurrency) | Modified | Changes the default value from `5` to `grpc-raft-conn-num * 3 + 2`, which enables gRPC-related thread settings to adapt to the number of CPU cores. [#18806](https://github.com/tikv/tikv/issues/18806) [@LykxSassinator](https://github.com/LykxSassinator) | +| TiKV | [`region-compact-check-interval`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-check-interval), [`region-compact-check-step`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-check-step), [`region-compact-min-tombstones`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-min-tombstones), [`region-compact-tombstones-percent`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-tombstones-percent), [`region-compact-min-redundant-rows`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-min-redundant-rows-new-in-v710), [`region-compact-redundant-rows-percent`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-redundant-rows-percent-new-in-v710) | Deprecated | These configuration items are replaced by the [`gc.auto-compaction`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file/#gcauto-compaction) configuration group, which controls automatic compaction behavior. [#18727](https://github.com/tikv/tikv/issues/18727) [@v01dstar](https://github.com/v01dstar) | +| TiKV | [`gc.auto-compaction`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file/#gcauto-compaction) configuration group: [`gc.auto-compaction.check-interval`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file/#check-interval-new-in-v757-and-v854), [`gc.auto-compaction.tombstone-num-threshold`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file/#tombstone-num-threshold-new-in-v757-and-v854), [`gc.auto-compaction.tombstone-percent-threshold`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#tombstone-percent-threshold-new-in-v757-and-v854), [`gc.auto-compaction.redundant-rows-threshold`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#redundant-rows-threshold-new-in-v757-and-v854), [`gc.auto-compaction.redundant-rows-percent-threshold`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#redundant-rows-percent-threshold-new-in-v757-and-v854), [`gc.auto-compaction.bottommost-level-force`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#bottommost-level-force-new-in-v757-and-v854) | New | This configuration group controls automatic compaction behavior. [#18727](https://github.com/tikv/tikv/issues/18727) [@v01dstar](https://github.com/v01dstar) | +| TiFlash | [`flash.graceful_wait_shutdown_timeout`](https://docs.pingcap.com/tidb/v8.5/tiflash-configuration#graceful_wait_shutdown_timeout-new-in-v854) | New | Controls the maximum wait time (in seconds) for a graceful TiFlash shutdown. The default value is `600`. When shutting down TiFlash, it continues executing unfinished MPP tasks but no longer accepts new MPP tasks. If all MPP tasks finish before the timeout, TiFlash shuts down immediately; otherwise, it is forcibly shut down after the timeout expires. [#10266](https://github.com/pingcap/tiflash/issues/10266) [@gengliqi](https://github.com/gengliqi) | ### MySQL compatibility From 18d7221e14b890498937e00d841c7ff1ad5fc85e Mon Sep 17 00:00:00 2001 From: qiancai Date: Mon, 12 Jan 2026 14:53:41 +0800 Subject: [PATCH 5/7] Update release-8.5.4.md --- releases/release-8.5.4.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/release-8.5.4.md b/releases/release-8.5.4.md index c530ffcbdb604..2ce4ccb8fb8ae 100644 --- a/releases/release-8.5.4.md +++ b/releases/release-8.5.4.md @@ -64,7 +64,7 @@ Quick access: [Quick start](https://docs.pingcap.com/tidb/v8.5/quick-start-with- Newly created v8.5.3 clusters can be smoothly upgraded to v8.5.4. However, v8.5.4 introduces several **default value changes and behavior adjustments** for system variables and configuration parameters. Before upgrading, pay attention to the following: - Most changes are safe for routine upgrades. However, if your cluster has undergone performance tuning, such as customized TiFlash and TiKV compaction configurations, review this section carefully. -- Some legacy configuration items are deprecated in v8.5.4 and no longer recommended. It is recommended that you migrate them to the corresponding new configuration group provided in this section. +- Some legacy TiKV configuration items are deprecated in v8.5.4 and no longer recommended. As a replacement, it is recommended that you use the new TiKV configuration group provided in this section. ### System variables From 50e29aca878c2d1a4a937962cbee5d6733e269c8 Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Mon, 12 Jan 2026 20:15:24 +0800 Subject: [PATCH 6/7] Apply suggestions from code review --- releases/release-8.5.4.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/releases/release-8.5.4.md b/releases/release-8.5.4.md index 2ce4ccb8fb8ae..66596b90d33d4 100644 --- a/releases/release-8.5.4.md +++ b/releases/release-8.5.4.md @@ -70,22 +70,22 @@ Newly created v8.5.3 clusters can be smoothly upgraded to v8.5.4. However, v8.5. | Variable | Change type | Description | |---------|------|-------------| -| [`tidb_mpp_store_fail_ttl`](https://docs.pingcap.com/tidb/v8.5/system-variables/#tidb_mpp_store_fail_ttl) | Modified | Changes the default value from `60s` to `0s`. This means TiDB no longer needs to wait before sending queries to newly started TiFlash nodes, as delays are no longer necessary to prevent query failures. [#61826](https://github.com/pingcap/tidb/issues/61826) [@gengliqi](https://github.com/gengliqi) | -| [`tidb_replica_read`](https://docs.pingcap.com/tidb/v8.5/system-variables/#tidb_replica_read-new-in-v40) | Modified | Starting from v8.5.4, this variable only takes effect on read-only SQL statements. This improves data read safety and reduces overlaps with other features. [#62856](https://github.com/pingcap/tidb/issues/62856) [@you06](https://github.com/you06) | -| [`tidb_opt_enable_no_decorrelate_in_select`](https://docs.pingcap.com/tidb/v8.5/system-variables/#tidb_opt_enable_no_decorrelate_in_select-new-in-v854) | Newly added | Controls whether to decorrelate subqueries in the `SELECT` list. The default value is `OFF`. [#51116](https://github.com/pingcap/tidb/issues/51116) [@terry1purcell](https://github.com/terry1purcell) | -| [`tidb_opt_enable_semi_join_rewrite`](https://docs.pingcap.com/tidb/v8.5/system-variables/#tidb_opt_enable_semi_join_rewrite-new-in-v854) | Newly added | Controls whether to rewrite `EXISTS` subqueries. The default value is `OFF`. [#44850](https://github.com/pingcap/tidb/issues/44850) [@terry1purcell](https://github.com/terry1purcell) | -| [`tidb_stats_update_during_ddl`](https://docs.pingcap.com/tidb/v8.5/system-variables/#tidb_stats_update_during_ddl-new-in-v854) | Newly added | Controls whether to enable [`ANALYZE` Embedded in DDL Statements](https://docs.pingcap.com/tidb/v8.5/ddl_embedded_analyze). The default value is `OFF`. When enabled, the `ADD INDEX` DDL statement collects statistics for the new index during execution, allowing the optimizer to use the index immediately after it is added. Note that enabling this variable might increase DDL execution time when adding indexes to large tables. [#57948](https://github.com/pingcap/tidb/issues/57948) [@terry1purcell](https://github.com/terry1purcell) [@AilinKid](https://github.com/AilinKid) | +| [`tidb_mpp_store_fail_ttl`](/system-variables.md#tidb_mpp_store_fail_ttl) | Modified | Changes the default value from `60s` to `0s`. This means TiDB no longer needs to wait before sending queries to newly started TiFlash nodes, as delays are no longer necessary to prevent query failures. [#61826](https://github.com/pingcap/tidb/issues/61826) [@gengliqi](https://github.com/gengliqi) | +| [`tidb_replica_read`](/system-variables.md#tidb_replica_read-new-in-v40) | Modified | Starting from v8.5.4, this variable only takes effect on read-only SQL statements. This improves data read safety and reduces overlaps with other features. [#62856](https://github.com/pingcap/tidb/issues/62856) [@you06](https://github.com/you06) | +| [`tidb_opt_enable_no_decorrelate_in_select`](/system-variables.md#tidb_opt_enable_no_decorrelate_in_select-new-in-v854) | Newly added | Controls whether to decorrelate subqueries in the `SELECT` list. The default value is `OFF`. [#51116](https://github.com/pingcap/tidb/issues/51116) [@terry1purcell](https://github.com/terry1purcell) | +| [`tidb_opt_enable_semi_join_rewrite`](/system-variables.md#tidb_opt_enable_semi_join_rewrite-new-in-v854) | Newly added | Controls whether to rewrite `EXISTS` subqueries. The default value is `OFF`. [#44850](https://github.com/pingcap/tidb/issues/44850) [@terry1purcell](https://github.com/terry1purcell) | +| [`tidb_stats_update_during_ddl`](/system-variables.md#tidb_stats_update_during_ddl-new-in-v854) | Newly added | Controls whether to enable [`ANALYZE` Embedded in DDL Statements](/ddl_embedded_analyze.md). The default value is `OFF`. When enabled, the `ADD INDEX` DDL statement collects statistics for the new index during execution, allowing the optimizer to use the index immediately after it is added. Note that enabling this variable might increase DDL execution time when adding indexes to large tables. [#57948](https://github.com/pingcap/tidb/issues/57948) [@terry1purcell](https://github.com/terry1purcell) [@AilinKid](https://github.com/AilinKid) | ### Configuration parameters | Configuration file or component | Configuration parameter | Change type | Description | |--------------------------------|--------------------------|------|-------------| -| TiKV | [`rocksdb.max-manifest-file-size`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#max-manifest-file-size) | Modified | Changes the default value from `128MiB` to `256MiB` to avoid frequent manifest file compactions that could affect overall performance when a single TiKV node contains a large number of SST files. [#18889](https://github.com/tikv/tikv/issues/18889) [@glorv](https://github.com/glorv) | +| TiKV | [`rocksdb.max-manifest-file-size`](/tikv-configuration-file.md#max-manifest-file-size) | Modified | Changes the default value from `128MiB` to `256MiB` to avoid frequent manifest file compactions that could affect overall performance when a single TiKV node contains a large number of SST files. [#18889](https://github.com/tikv/tikv/issues/18889) [@glorv](https://github.com/glorv) | | TiKV | [`grpc-raft-conn-num`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#grpc-raft-conn-num) | Modified | Changes the default value from `1` to `MAX(1, MIN(4, CPU cores / 8))`, which enables gRPC-related thread settings to adapt to the number of CPU cores. When the number of CPU cores equals or exceeds 32, the maximum default number of connections is 4. [#18806](https://github.com/tikv/tikv/issues/18806) [@LykxSassinator](https://github.com/LykxSassinator) | | TiKV | [`grpc-concurrency`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#grpc-concurrency) | Modified | Changes the default value from `5` to `grpc-raft-conn-num * 3 + 2`, which enables gRPC-related thread settings to adapt to the number of CPU cores. [#18806](https://github.com/tikv/tikv/issues/18806) [@LykxSassinator](https://github.com/LykxSassinator) | -| TiKV | [`region-compact-check-interval`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-check-interval), [`region-compact-check-step`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-check-step), [`region-compact-min-tombstones`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-min-tombstones), [`region-compact-tombstones-percent`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-tombstones-percent), [`region-compact-min-redundant-rows`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-min-redundant-rows-new-in-v710), [`region-compact-redundant-rows-percent`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-redundant-rows-percent-new-in-v710) | Deprecated | These configuration items are replaced by the [`gc.auto-compaction`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file/#gcauto-compaction) configuration group, which controls automatic compaction behavior. [#18727](https://github.com/tikv/tikv/issues/18727) [@v01dstar](https://github.com/v01dstar) | -| TiKV | [`gc.auto-compaction`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file/#gcauto-compaction) configuration group: [`gc.auto-compaction.check-interval`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file/#check-interval-new-in-v757-and-v854), [`gc.auto-compaction.tombstone-num-threshold`](https://docs.pingcap.com/tidb/stable/tikv-configuration-file/#tombstone-num-threshold-new-in-v757-and-v854), [`gc.auto-compaction.tombstone-percent-threshold`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#tombstone-percent-threshold-new-in-v757-and-v854), [`gc.auto-compaction.redundant-rows-threshold`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#redundant-rows-threshold-new-in-v757-and-v854), [`gc.auto-compaction.redundant-rows-percent-threshold`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#redundant-rows-percent-threshold-new-in-v757-and-v854), [`gc.auto-compaction.bottommost-level-force`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#bottommost-level-force-new-in-v757-and-v854) | New | This configuration group controls automatic compaction behavior. [#18727](https://github.com/tikv/tikv/issues/18727) [@v01dstar](https://github.com/v01dstar) | -| TiFlash | [`flash.graceful_wait_shutdown_timeout`](https://docs.pingcap.com/tidb/v8.5/tiflash-configuration#graceful_wait_shutdown_timeout-new-in-v854) | New | Controls the maximum wait time (in seconds) for a graceful TiFlash shutdown. The default value is `600`. When shutting down TiFlash, it continues executing unfinished MPP tasks but no longer accepts new MPP tasks. If all MPP tasks finish before the timeout, TiFlash shuts down immediately; otherwise, it is forcibly shut down after the timeout expires. [#10266](https://github.com/pingcap/tiflash/issues/10266) [@gengliqi](https://github.com/gengliqi) | +| TiKV |
  • [`region-compact-check-interval`](/tikv-configuration-file.md#region-compact-check-interval)
  • [`region-compact-check-step`](/tikv-configuration-file.md#region-compact-check-step)
  • [`region-compact-min-tombstones`](/tikv-configuration-file.md#region-compact-min-tombstones)
  • [`region-compact-tombstones-percent`](/tikv-configuration-file.md#region-compact-tombstones-percent)
  • [`region-compact-min-redundant-rows`](/tikv-configuration-file.md#region-compact-min-redundant-rows-new-in-v710)
  • [`region-compact-redundant-rows-percent`](/tikv-configuration-file.md#region-compact-redundant-rows-percent-new-in-v710)
| Deprecated | These configuration items are replaced by the [`gc.auto-compaction`](/tikv-configuration-file.md#gcauto-compaction) configuration group, which controls automatic compaction behavior. [#18727](https://github.com/tikv/tikv/issues/18727) [@v01dstar](https://github.com/v01dstar) | +| TiKV | [`gc.auto-compaction`](/tikv-configuration-file.md#gcauto-compaction) configuration group:
  • [`gc.auto-compaction.check-interval`](/tikv-configuration-file.md#check-interval-new-in-v757-and-v854)
  • [`gc.auto-compaction.tombstone-num-threshold`](/tikv-configuration-file.md#tombstone-num-threshold-new-in-v757-and-v854), [`gc.auto-compaction.tombstone-percent-threshold`](/tikv-configuration-file.md#tombstone-percent-threshold-new-in-v757-and-v854)
  • [`gc.auto-compaction.redundant-rows-threshold`](/tikv-configuration-file.md#redundant-rows-threshold-new-in-v757-and-v854)
  • [`gc.auto-compaction.redundant-rows-percent-threshold`](/tikv-configuration-file.md#redundant-rows-percent-threshold-new-in-v757-and-v854)
  • [`gc.auto-compaction.bottommost-level-force`](/tikv-configuration-file.md#bottommost-level-force-new-in-v757-and-v854)
| New | This configuration group controls automatic compaction behavior. [#18727](https://github.com/tikv/tikv/issues/18727) [@v01dstar](https://github.com/v01dstar) | +| TiFlash | [`flash.graceful_wait_shutdown_timeout`](/tiflash-configuration.md#graceful_wait_shutdown_timeout-new-in-v854) | New | Controls the maximum wait time (in seconds) for a graceful TiFlash shutdown. The default value is `600`. When shutting down TiFlash, it continues executing unfinished MPP tasks but no longer accepts new MPP tasks. If all MPP tasks finish before the timeout, TiFlash shuts down immediately; otherwise, it is forcibly shut down after the timeout expires. [#10266](https://github.com/pingcap/tiflash/issues/10266) [@gengliqi](https://github.com/gengliqi) | ### MySQL compatibility From 650503d0099a82a510bfc53419ed852f7657fa1d Mon Sep 17 00:00:00 2001 From: xixirangrang Date: Mon, 12 Jan 2026 20:26:50 +0800 Subject: [PATCH 7/7] Apply suggestions from code review --- releases/release-8.5.4.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/releases/release-8.5.4.md b/releases/release-8.5.4.md index 66596b90d33d4..9a5700a5166ff 100644 --- a/releases/release-8.5.4.md +++ b/releases/release-8.5.4.md @@ -70,22 +70,22 @@ Newly created v8.5.3 clusters can be smoothly upgraded to v8.5.4. However, v8.5. | Variable | Change type | Description | |---------|------|-------------| -| [`tidb_mpp_store_fail_ttl`](/system-variables.md#tidb_mpp_store_fail_ttl) | Modified | Changes the default value from `60s` to `0s`. This means TiDB no longer needs to wait before sending queries to newly started TiFlash nodes, as delays are no longer necessary to prevent query failures. [#61826](https://github.com/pingcap/tidb/issues/61826) [@gengliqi](https://github.com/gengliqi) | -| [`tidb_replica_read`](/system-variables.md#tidb_replica_read-new-in-v40) | Modified | Starting from v8.5.4, this variable only takes effect on read-only SQL statements. This improves data read safety and reduces overlaps with other features. [#62856](https://github.com/pingcap/tidb/issues/62856) [@you06](https://github.com/you06) | -| [`tidb_opt_enable_no_decorrelate_in_select`](/system-variables.md#tidb_opt_enable_no_decorrelate_in_select-new-in-v854) | Newly added | Controls whether to decorrelate subqueries in the `SELECT` list. The default value is `OFF`. [#51116](https://github.com/pingcap/tidb/issues/51116) [@terry1purcell](https://github.com/terry1purcell) | -| [`tidb_opt_enable_semi_join_rewrite`](/system-variables.md#tidb_opt_enable_semi_join_rewrite-new-in-v854) | Newly added | Controls whether to rewrite `EXISTS` subqueries. The default value is `OFF`. [#44850](https://github.com/pingcap/tidb/issues/44850) [@terry1purcell](https://github.com/terry1purcell) | -| [`tidb_stats_update_during_ddl`](/system-variables.md#tidb_stats_update_during_ddl-new-in-v854) | Newly added | Controls whether to enable [`ANALYZE` Embedded in DDL Statements](/ddl_embedded_analyze.md). The default value is `OFF`. When enabled, the `ADD INDEX` DDL statement collects statistics for the new index during execution, allowing the optimizer to use the index immediately after it is added. Note that enabling this variable might increase DDL execution time when adding indexes to large tables. [#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/tidb/v8.5/system-variables#tidb_mpp_store_fail_ttl) | Modified | Changes the default value from `60s` to `0s`. This means TiDB no longer needs to wait before sending queries to newly started TiFlash nodes, as delays are no longer necessary to prevent query failures. [#61826](https://github.com/pingcap/tidb/issues/61826) [@gengliqi](https://github.com/gengliqi) | +| [`tidb_replica_read`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_replica_read-new-in-v40) | Modified | Starting from v8.5.4, this variable only takes effect on read-only SQL statements. This improves data read safety and reduces overlaps with other features. [#62856](https://github.com/pingcap/tidb/issues/62856) [@you06](https://github.com/you06) | +| [`tidb_opt_enable_no_decorrelate_in_select`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_opt_enable_no_decorrelate_in_select-new-in-v854) | Newly added | Controls whether to decorrelate subqueries in the `SELECT` list. The default value is `OFF`. [#51116](https://github.com/pingcap/tidb/issues/51116) [@terry1purcell](https://github.com/terry1purcell) | +| [`tidb_opt_enable_semi_join_rewrite`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_opt_enable_semi_join_rewrite-new-in-v854) | Newly added | Controls whether to rewrite `EXISTS` subqueries. The default value is `OFF`. [#44850](https://github.com/pingcap/tidb/issues/44850) [@terry1purcell](https://github.com/terry1purcell) | +| [`tidb_stats_update_during_ddl`](https://docs.pingcap.com/tidb/v8.5/system-variables#tidb_stats_update_during_ddl-new-in-v854) | Newly added | Controls whether to enable [`ANALYZE` Embedded in DDL Statements](https://docs.pingcap.com/tidb/v8.5/ddl_embedded_analyze). The default value is `OFF`. When enabled, the `ADD INDEX` DDL statement collects statistics for the new index during execution, allowing the optimizer to use the index immediately after it is added. Note that enabling this variable might increase DDL execution time when adding indexes to large tables. [#57948](https://github.com/pingcap/tidb/issues/57948) [@terry1purcell](https://github.com/terry1purcell) [@AilinKid](https://github.com/AilinKid) | ### Configuration parameters | Configuration file or component | Configuration parameter | Change type | Description | |--------------------------------|--------------------------|------|-------------| -| TiKV | [`rocksdb.max-manifest-file-size`](/tikv-configuration-file.md#max-manifest-file-size) | Modified | Changes the default value from `128MiB` to `256MiB` to avoid frequent manifest file compactions that could affect overall performance when a single TiKV node contains a large number of SST files. [#18889](https://github.com/tikv/tikv/issues/18889) [@glorv](https://github.com/glorv) | +| TiKV | [`rocksdb.max-manifest-file-size`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#max-manifest-file-size) | Modified | Changes the default value from `128MiB` to `256MiB` to avoid frequent manifest file compactions that could affect overall performance when a single TiKV node contains a large number of SST files. [#18889](https://github.com/tikv/tikv/issues/18889) [@glorv](https://github.com/glorv) | | TiKV | [`grpc-raft-conn-num`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#grpc-raft-conn-num) | Modified | Changes the default value from `1` to `MAX(1, MIN(4, CPU cores / 8))`, which enables gRPC-related thread settings to adapt to the number of CPU cores. When the number of CPU cores equals or exceeds 32, the maximum default number of connections is 4. [#18806](https://github.com/tikv/tikv/issues/18806) [@LykxSassinator](https://github.com/LykxSassinator) | | TiKV | [`grpc-concurrency`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#grpc-concurrency) | Modified | Changes the default value from `5` to `grpc-raft-conn-num * 3 + 2`, which enables gRPC-related thread settings to adapt to the number of CPU cores. [#18806](https://github.com/tikv/tikv/issues/18806) [@LykxSassinator](https://github.com/LykxSassinator) | -| TiKV |
  • [`region-compact-check-interval`](/tikv-configuration-file.md#region-compact-check-interval)
  • [`region-compact-check-step`](/tikv-configuration-file.md#region-compact-check-step)
  • [`region-compact-min-tombstones`](/tikv-configuration-file.md#region-compact-min-tombstones)
  • [`region-compact-tombstones-percent`](/tikv-configuration-file.md#region-compact-tombstones-percent)
  • [`region-compact-min-redundant-rows`](/tikv-configuration-file.md#region-compact-min-redundant-rows-new-in-v710)
  • [`region-compact-redundant-rows-percent`](/tikv-configuration-file.md#region-compact-redundant-rows-percent-new-in-v710)
| Deprecated | These configuration items are replaced by the [`gc.auto-compaction`](/tikv-configuration-file.md#gcauto-compaction) configuration group, which controls automatic compaction behavior. [#18727](https://github.com/tikv/tikv/issues/18727) [@v01dstar](https://github.com/v01dstar) | -| TiKV | [`gc.auto-compaction`](/tikv-configuration-file.md#gcauto-compaction) configuration group:
  • [`gc.auto-compaction.check-interval`](/tikv-configuration-file.md#check-interval-new-in-v757-and-v854)
  • [`gc.auto-compaction.tombstone-num-threshold`](/tikv-configuration-file.md#tombstone-num-threshold-new-in-v757-and-v854), [`gc.auto-compaction.tombstone-percent-threshold`](/tikv-configuration-file.md#tombstone-percent-threshold-new-in-v757-and-v854)
  • [`gc.auto-compaction.redundant-rows-threshold`](/tikv-configuration-file.md#redundant-rows-threshold-new-in-v757-and-v854)
  • [`gc.auto-compaction.redundant-rows-percent-threshold`](/tikv-configuration-file.md#redundant-rows-percent-threshold-new-in-v757-and-v854)
  • [`gc.auto-compaction.bottommost-level-force`](/tikv-configuration-file.md#bottommost-level-force-new-in-v757-and-v854)
| New | This configuration group controls automatic compaction behavior. [#18727](https://github.com/tikv/tikv/issues/18727) [@v01dstar](https://github.com/v01dstar) | -| TiFlash | [`flash.graceful_wait_shutdown_timeout`](/tiflash-configuration.md#graceful_wait_shutdown_timeout-new-in-v854) | New | Controls the maximum wait time (in seconds) for a graceful TiFlash shutdown. The default value is `600`. When shutting down TiFlash, it continues executing unfinished MPP tasks but no longer accepts new MPP tasks. If all MPP tasks finish before the timeout, TiFlash shuts down immediately; otherwise, it is forcibly shut down after the timeout expires. [#10266](https://github.com/pingcap/tiflash/issues/10266) [@gengliqi](https://github.com/gengliqi) | +| TiKV |
  • [`region-compact-check-interval`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-check-interval)
  • [`region-compact-check-step`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-check-step)
  • [`region-compact-min-tombstones`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-min-tombstones)
  • [`region-compact-tombstones-percent`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-tombstones-percent)
  • [`region-compact-min-redundant-rows`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-min-redundant-rows-new-in-v710)
  • [`region-compact-redundant-rows-percent`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#region-compact-redundant-rows-percent-new-in-v710)
| Deprecated | These configuration items are replaced by the [`gc.auto-compaction`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#gcauto-compaction) configuration group, which controls automatic compaction behavior. [#18727](https://github.com/tikv/tikv/issues/18727) [@v01dstar](https://github.com/v01dstar) | +| TiKV | [`gc.auto-compaction`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#gcauto-compaction) configuration group:
  • [`gc.auto-compaction.check-interval`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#check-interval-new-in-v757-and-v854)
  • [`gc.auto-compaction.tombstone-num-threshold`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#tombstone-num-threshold-new-in-v757-and-v854), [`gc.auto-compaction.tombstone-percent-threshold`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#tombstone-percent-threshold-new-in-v757-and-v854)
  • [`gc.auto-compaction.redundant-rows-threshold`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#redundant-rows-threshold-new-in-v757-and-v854)
  • [`gc.auto-compaction.redundant-rows-percent-threshold`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#redundant-rows-percent-threshold-new-in-v757-and-v854)
  • [`gc.auto-compaction.bottommost-level-force`](https://docs.pingcap.com/tidb/v8.5/tikv-configuration-file#bottommost-level-force-new-in-v757-and-v854)
| New | This configuration group controls automatic compaction behavior. [#18727](https://github.com/tikv/tikv/issues/18727) [@v01dstar](https://github.com/v01dstar) | +| TiFlash | [`flash.graceful_wait_shutdown_timeout`](https://docs.pingcap.com/tidb/v8.5/tiflash-configuration#graceful_wait_shutdown_timeout-new-in-v854) | New | Controls the maximum wait time (in seconds) for a graceful TiFlash shutdown. The default value is `600`. When shutting down TiFlash, it continues executing unfinished MPP tasks but no longer accepts new MPP tasks. If all MPP tasks finish before the timeout, TiFlash shuts down immediately; otherwise, it is forcibly shut down after the timeout expires. [#10266](https://github.com/pingcap/tiflash/issues/10266) [@gengliqi](https://github.com/gengliqi) | ### MySQL compatibility