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/2] 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/2] 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) |