Skip to content
Merged
Changes from 1 commit
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
16 changes: 12 additions & 4 deletions tikv-configuration-file.md
Original file line number Diff line number Diff line change
Expand Up @@ -564,12 +564,16 @@ RocksDB 多个 CF 之间共享 block cache 的配置选项。

### `l0-files-threshold`

+ 当 KvDB 的 L0 文件个数达到该阈值时,流控机制开始工作。当 `enable` 的值为 `true` 时,会覆盖 `rocksdb.(defaultcf|writecf|lockcf).level0-slowdown-writes-trigger`的配置。
+ 当 KvDB 的 L0 文件个数达到该阈值时,流控机制开始工作。
+ v8.5.4 及之前版本:当 `enable` 的值为 `true` 时,该配置会直接覆盖 `rocksdb.(defaultcf|writecf|lockcf).level0-slowdown-writes-trigger`。
+ 从 v8.5.5 起:当 `enable` 的值为 `true` 时,仅当 `storage.flow-control.l0-files-threshold` 小于 `rocksdb.(defaultcf|writecf|lockcf).level0-slowdown-writes-trigger` 时才覆盖该 RocksDB 配置项,以避免在调大流控阈值时削弱 RocksDB 的 compaction 加速机制。
Copy link
Collaborator

@qiancai qiancai Jan 9, 2026

Choose a reason for hiding this comment

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

Suggested change
+ v8.5.4 及之前版本:`enable` 的值为 `true` 时,该配置会直接覆盖 `rocksdb.(defaultcf|writecf|lockcf).level0-slowdown-writes-trigger`
+ 从 v8.5.5 起:当 `enable` 的值为 `true` 时,仅当 `storage.flow-control.l0-files-threshold` 小于 `rocksdb.(defaultcf|writecf|lockcf).level0-slowdown-writes-trigger` 时才覆盖该 RocksDB 配置项,以避免在调大流控阈值时削弱 RocksDB 的 compaction 加速机制。
+ v8.5.4 及之前版本:当开启流控机制([`enable`](/tikv-configuration-file.md#enable) `true`时,该配置会直接覆盖 [`rocksdb.(defaultcf|writecf|lockcf).level0-slowdown-writes-trigger`](/tikv-configuration-file.md#level0-slowdown-writes-trigger)
+ 从 v8.5.5 和 v9.0.0 起:当开启流控机制([`enable`](/tikv-configuration-file.md#enable) `true`)时,该配置仅在其值小于 [`rocksdb.(defaultcf|writecf|lockcf).level0-slowdown-writes-trigger`](/tikv-configuration-file.md#level0-slowdown-writes-trigger) 时才覆盖 `rocksdb.(defaultcf|writecf|lockcf).level0-slowdown-writes-trigger`,以避免在调大流控阈值时削弱 RocksDB 的 compaction 加速机制。

Copy link
Collaborator

@qiancai qiancai Jan 9, 2026

Choose a reason for hiding this comment

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

要考虑另一种描述方式吗,就是直接让用户参考下面那个配置项的描述也可以?这样避免一旦版本逻辑变更,需要改四处地方。

Suggested change
+ v8.5.4 及之前版本:当 `enable` 的值为 `true` 时,该配置会直接覆盖 `rocksdb.(defaultcf|writecf|lockcf).level0-slowdown-writes-trigger`
+ 从 v8.5.5 起:当 `enable` 的值为 `true` 时,仅当 `storage.flow-control.l0-files-threshold` 小于 `rocksdb.(defaultcf|writecf|lockcf).level0-slowdown-writes-trigger` 时才覆盖该 RocksDB 配置项,以避免在调大流控阈值时削弱 RocksDB 的 compaction 加速机制。
> **注意**
>
> 当满足一定条件时,`rocksdb.(defaultcf|writecf|lockcf).level0-slowdown-writes-trigger` 的值会被该配置项覆盖。详细参考 [`rocksdb.(defaultcf|writecf|lockcf).level0-slowdown-writes-trigger`](/tikv-configuration-file.md#level0-slowdown-writes-trigger)

+ 默认值:20

### `soft-pending-compaction-bytes-limit`

+ 当 KvDB 的 pending compaction bytes 达到该阈值时,流控机制开始拒绝部分写入请求,报错 `ServerIsBusy`。当 `enable` 的值为 `true` 时,会覆盖 `rocksdb.(defaultcf|writecf|lockcf).soft-pending-compaction-bytes-limit` 的配置。
+ 当 KvDB 的 pending compaction bytes 达到该阈值时,流控机制开始拒绝部分写入请求,报错 `ServerIsBusy`。
+ v8.5.4 及之前版本:当 `enable` 的值为 `true` 时,该配置会直接覆盖 `rocksdb.(defaultcf|writecf|lockcf).soft-pending-compaction-bytes-limit`。
+ 从 v8.5.5 起:当 `enable` 的值为 `true` 时,仅当 `storage.flow-control.soft-pending-compaction-bytes-limit` 小于 `rocksdb.(defaultcf|writecf|lockcf).soft-pending-compaction-bytes-limit` 时才覆盖该 RocksDB 配置项,以避免在调大流控阈值时削弱 RocksDB 的 compaction 加速机制。
Copy link
Collaborator

@qiancai qiancai Jan 9, 2026

Choose a reason for hiding this comment

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

Suggested change
+ v8.5.4 及之前版本:`enable` 的值为 `true` 时,该配置会直接覆盖 `rocksdb.(defaultcf|writecf|lockcf).soft-pending-compaction-bytes-limit`
+ 从 v8.5.5 起:当 `enable` 的值为 `true` 时,仅当 `storage.flow-control.soft-pending-compaction-bytes-limit` 小于 `rocksdb.(defaultcf|writecf|lockcf).soft-pending-compaction-bytes-limit` 时才覆盖该 RocksDB 配置项,以避免在调大流控阈值时削弱 RocksDB 的 compaction 加速机制。
+ v8.5.4 及之前版本:当开启流控机制([`enable`](/tikv-configuration-file.md#enable) `true`时,该配置会直接覆盖 [`rocksdb.(defaultcf|writecf|lockcf).soft-pending-compaction-bytes-limit`](/tikv-configuration-file.md#soft-pending-compaction-bytes-limit-1)
+ 从 v8.5.5 和 v9.0.0 起:当开启流控机制([`enable`](/tikv-configuration-file.md#enable) `true`)时,该配置仅在其值小于 [`rocksdb.(defaultcf|writecf|lockcf).soft-pending-compaction-bytes-limit`](/tikv-configuration-file.md#soft-pending-compaction-bytes-limit-1) 时才覆盖 `rocksdb.(defaultcf|writecf|lockcf).soft-pending-compaction-bytes-limit`,以避免在调大流控阈值时削弱 RocksDB 的 compaction 加速机制。

Copy link
Collaborator

@qiancai qiancai Jan 9, 2026

Choose a reason for hiding this comment

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

另一种描述方式

Suggested change
+ v8.5.4 及之前版本:当 `enable` 的值为 `true` 时,该配置会直接覆盖 `rocksdb.(defaultcf|writecf|lockcf).soft-pending-compaction-bytes-limit`
+ 从 v8.5.5 起:当 `enable` 的值为 `true` 时,仅当 `storage.flow-control.soft-pending-compaction-bytes-limit` 小于 `rocksdb.(defaultcf|writecf|lockcf).soft-pending-compaction-bytes-limit` 时才覆盖该 RocksDB 配置项,以避免在调大流控阈值时削弱 RocksDB 的 compaction 加速机制。
> **注意**
>
> 当满足一定条件时,`rocksdb.(defaultcf|writecf|lockcf).soft-pending-compaction-bytes-limit` 的值会被该配置项覆盖。详细参考 [`rocksdb.(defaultcf|writecf|lockcf).soft-pending-compaction-bytes-limit`](/tikv-configuration-file.md#soft-pending-compaction-bytes-limit-1。

+ 默认值:"192GiB"

### `hard-pending-compaction-bytes-limit`
Expand Down Expand Up @@ -1636,7 +1640,9 @@ rocksdb defaultcf、rocksdb writecf 和 rocksdb lockcf 相关的配置项。

### `level0-slowdown-writes-trigger`

+ 触发 write stall 的 L0 文件最大个数。当 `storage.flow-control.enable` 的值为 `true` 时,`storage.flow-control.l0-files-threshold` 会覆盖此配置。
+ 触发 write stall 的 L0 文件最大个数。
+ v8.5.4 及之前版本:当 `storage.flow-control.enable` 的值为 `true` 时,该配置项会被 `storage.flow-control.l0-files-threshold` 直接覆盖。
+ 从 v8.5.5 起:当 `storage.flow-control.enable` 的值为 `true` 时,如果本配置项的值大于 `storage.flow-control.l0-files-threshold`,则本配置项会被 `storage.flow-control.l0-files-threshold` 覆盖;否则保持本配置不变。
Copy link
Collaborator

@qiancai qiancai Jan 9, 2026

Choose a reason for hiding this comment

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

Suggested change
+ v8.5.4 及之前版本:`storage.flow-control.enable` 的值为 `true` 时,该配置项会被 `storage.flow-control.l0-files-threshold` 直接覆盖。
+ 从 v8.5.5 起:当 `storage.flow-control.enable` 的值为 `true` 时,如果本配置项的值大于 `storage.flow-control.l0-files-threshold`,则本配置项会被 `storage.flow-control.l0-files-threshold` 覆盖;否则保持本配置不变
+ v8.5.4 及之前版本:当开启流控机制([`storage.flow-control.enable`](/tikv-configuration-file.md#enable) `true`时,该配置项会被 [`storage.flow-control.l0-files-threshold`](/tikv-configuration-file.md#l0-files-threshold) 直接覆盖。
+ 从 v8.5.5 和 v9.0.0 起:当开启流控机制([`storage.flow-control.enable`](/tikv-configuration-file.md#enable) `true`)时,该配置项仅在其值大于 [`storage.flow-control.l0-files-threshold`](/tikv-configuration-file.md#l0-files-threshold 时会被 `storage.flow-control.l0-files-threshold` 覆盖,以避免在调大流控阈值时削弱 RocksDB 的 compaction 加速机制

+ 默认值:20
+ 最小值:0

Expand Down Expand Up @@ -1693,7 +1699,9 @@ rocksdb defaultcf、rocksdb writecf 和 rocksdb lockcf 相关的配置项。

### `soft-pending-compaction-bytes-limit`

+ pending compaction bytes 的软限制。当 `storage.flow-control.enable` 的值为 `true` 时,`storage.flow-control.soft-pending-compaction-bytes-limit` 会覆盖此配置。
+ pending compaction bytes 的软限制。
+ v8.5.4 及之前版本:当 `storage.flow-control.enable` 的值为 `true` 时,该配置项会被 `storage.flow-control.soft-pending-compaction-bytes-limit` 直接覆盖。
+ 从 v8.5.5 起:当 `storage.flow-control.enable` 的值为 `true` 时,如果本配置项的值大于 `storage.flow-control.soft-pending-compaction-bytes-limit`,则本配置项会被 `storage.flow-control.soft-pending-compaction-bytes-limit` 覆盖;否则保持本配置不变。
Copy link
Collaborator

@qiancai qiancai Jan 9, 2026

Choose a reason for hiding this comment

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

Suggested change
+ v8.5.4 及之前版本:`storage.flow-control.enable` 的值为 `true` 时,该配置项会被 `storage.flow-control.soft-pending-compaction-bytes-limit` 直接覆盖。
+ 从 v8.5.5 起:当 `storage.flow-control.enable` 的值为 `true` 时,如果本配置项的值大于 `storage.flow-control.soft-pending-compaction-bytes-limit`,则本配置项会被 `storage.flow-control.soft-pending-compaction-bytes-limit` 覆盖;否则保持本配置不变
+ v8.5.4 及之前版本:当开启流控机制([`storage.flow-control.enable`](/tikv-configuration-file.md#enable) `true`时,该配置项会被 [`storage.flow-control.soft-pending-compaction-bytes-limit`](/tikv-configuration-file.md#soft-pending-compaction-bytes-limit) 直接覆盖。
+ 从 v8.5.5 和 v9.0.0 起:当开启流控机制([`storage.flow-control.enable`](/tikv-configuration-file.md#enable) `true`)时,该配置项仅在其值大于 [`storage.flow-control.soft-pending-compaction-bytes-limit`](/tikv-configuration-file.md#soft-pending-compaction-bytes-limit) 时会被 `storage.flow-control.soft-pending-compaction-bytes-limit` 覆盖,以避免在调大流控阈值时削弱 RocksDB 的 compaction 加速机制

+ 默认值:192GiB
+ 单位:KiB|MiB|GiB

Expand Down