-
Notifications
You must be signed in to change notification settings - Fork 1.2k
tikv-configuration-file: update flow-control override behavior for v8.5.5 #21244
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tikv-configuration-file: update flow-control override behavior for v8.5.5 #21244
Conversation
….5.5 Update documentation for storage.flow-control.l0-files-threshold and storage.flow-control.soft-pending-compaction-bytes-limit to reflect the behavior change introduced in TiKV PR pingcap#18994. - v8.5.4 and earlier: flow-control config unconditionally overrides the corresponding RocksDB config. - From v8.5.5: flow-control config only overrides when it is smaller than the RocksDB config, to avoid weakening RocksDB's compaction acceleration mechanism when increasing flow-control thresholds. Also update the corresponding RocksDB config items (level0-slowdown-writes-trigger, soft-pending-compaction-bytes-limit) with the same version-specific behavior notes.
|
Hi @hhwyt. Thanks for your PR. I'm waiting for a pingcap member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
/ok-to-test |
|
@hbisheng: adding LGTM is restricted to approvers and reviewers in OWNERS files. DetailsIn response to this: Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
qiancai
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rest LGTM
tikv-configuration-file.md
Outdated
| + 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 加速机制。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| + 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 加速机制。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
要考虑另一种描述方式吗,就是直接让用户参考下面那个配置项的描述也可以?这样避免一旦版本逻辑变更,需要改四处地方。
| + 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)。 |
tikv-configuration-file.md
Outdated
| + 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 加速机制。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| + 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 加速机制。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
另一种描述方式
| + 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。 |
tikv-configuration-file.md
Outdated
| + 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` 覆盖;否则保持本配置不变。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| + 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 加速机制。 |
tikv-configuration-file.md
Outdated
| + 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` 覆盖;否则保持本配置不变。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| + 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 加速机制。 |
Use reference-based approach to avoid duplication: - In flow-control config items, use brief note block to reference RocksDB config items - In RocksDB config items, keep detailed version-specific behavior with links This makes future version logic changes easier to maintain (only 2 places instead of 4). Signed-off-by: hhwyt <[email protected]>
|
/ok-to-test |
|
@qiancai PTAL again, thx~ |
Synced from: pingcap/docs-cn#21244 Target PR: pingcap#22296 AI Provider: gemini Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
|
/approve |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: qiancai The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
@qiancai: You cannot manually add or delete the cherry pick approval state labels, only I and the tursted members have permission to do so. You can approve it in internal platform. DetailsIn response to removing label named approved. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the ti-community-infra/tichi repository. |
|
In response to a cherrypick label: new pull request created to branch |
Synced from: pingcap/docs-cn#21244 Target PR: pingcap#22296 AI Provider: gemini Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
What is changed, added or deleted? (Required)
ref tikv/tikv#18994
Update documentation for
storage.flow-control.l0-files-thresholdandstorage.flow-control.soft-pending-compaction-bytes-limitto reflect the behavior change introduced in TiKV PR #18994.Also update the corresponding RocksDB config items (
level0-slowdown-writes-trigger,soft-pending-compaction-bytes-limit) with the same version-specific behavior notes.Which TiDB version(s) do your changes apply to? (Required)
What is the related PR or file link(s)?
Do your changes match any of the following descriptions?