Skip to content

Conversation

qiancai
Copy link
Owner

@qiancai qiancai commented Mar 4, 2025

First-time contributors' checklist

What is changed, added or deleted? (Required)

Which TiDB version(s) do your changes apply to? (Required)

Tips for choosing the affected version(s):

By default, CHOOSE MASTER ONLY so your changes will be applied to the next TiDB major or minor releases. If your PR involves a product feature behavior change or a compatibility change, CHOOSE THE AFFECTED RELEASE BRANCH(ES) AND MASTER.

For details, see tips for choosing the affected versions (in Chinese).

  • master (the latest development version)
  • v9.0 (TiDB 9.0 versions)
  • v8.5 (TiDB 8.5 versions)
  • v8.4 (TiDB 8.4 versions)
  • v8.3 (TiDB 8.3 versions)
  • v8.1 (TiDB 8.1 versions)
  • v7.5 (TiDB 7.5 versions)
  • v7.1 (TiDB 7.1 versions)
  • v6.5 (TiDB 6.5 versions)
  • v6.1 (TiDB 6.1 versions)
  • v5.4 (TiDB 5.4 versions)

What is the related PR or file link(s)?

  • This PR is translated from:
  • Other reference link(s):

Do your changes match any of the following descriptions?

  • Delete files
  • Change aliases
  • Need modification after applied to another branch
  • Might cause conflicts after applied to another branch

Summary by CodeRabbit

  • Documentation
    • Updated the checkpoint recovery guide with clearer descriptions of storage options and improved error messaging.
    • Added a comprehensive FAQ addressing common DDL questions, including details on concurrent execution and configuration nuances.
    • Introduced new configuration options to enhance TiKV's functionality and performance.
  • Chores
    • Introduced an automated review process to streamline documentation quality checks.

Copy link

coderabbitai bot commented Mar 4, 2025

Walkthrough

The pull request updates the documentation and CI configuration. In the checkpoint restore document, minor text errors are fixed and new sections are added detailing checkpoint data storage in downstream clusters and external storage, along with the introduction of a restored-ts timestamp. A new FAQ document on DDL functionality is added to explain concurrent DDL execution, fast index creation, and related configurations. Additionally, a new GitHub Actions workflow is introduced to automate AI code reviews on pull request events.

Changes

File(s) Change Summary
br/.../br-checkpoint-restore.md
faq/ddl-faq.md
Updated and added documentation: corrected typographical errors, expanded checkpoint recovery details, and introduced a new FAQ covering concurrent DDL execution, fast index creation, and DDL troubleshooting guidelines.
.github/.../doc_review.yml Added a new GitHub Actions workflow file to automate AI code reviews on pull requests, including repository checkout and execution of an AI code reviewer action with specified parameters.
.github/.../ci.yaml
.github/.../link-fail-fast.yaml
.github/.../prevent-deletion.yaml
Removed workflows related to CI, link checking, and preventing deletion of image files in pull requests.
tikv-configuration-file.md Introduced multiple new configuration options to enhance TiKV functionality, including memory quotas, transaction status cache capacity, and settings for read requests and compaction tasks.

Sequence Diagram(s)

sequenceDiagram
    participant PR as Pull Request
    participant GHW as GitHub Workflow
    participant CO as Checkout Action
    participant AICR as AI Code Reviewer

    PR->>GHW: Trigger event (open/sync/reopen)
    GHW->>CO: Checkout repository
    CO-->>GHW: Repository checked out
    GHW->>AICR: Execute AI Code Reviewer (with token, API key, model)
    AICR-->>GHW: Return review result
    GHW-->>PR: Post review feedback
Loading

Poem

In the code fields I hop with glee,
Fixing typos and docs with speed.
New workflows launch with a boundless cheer,
Automated reviews drawing near.
I'm the rabbit, dancing through the night,
Celebrating tech in pure delight!
🐇✨


🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

- synchronize
- reopened

permissions: write-all
Copy link

Choose a reason for hiding this comment

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

The permissions: write-all line is overly permissive and could pose a security risk. It is recommended to specify only the necessary permissions.

Suggested change
permissions: write-all
permissions: write-pull-requests

# 断点恢复

快照恢复或日志恢复会因为一些可恢复性错误导致提前结束,例如硬盘空间占满节点宕机等等一些突发情况。在 TiDB v7.1.0 之前,在错误被处理之后,之前恢复的进度会作废,你需要重新进行恢复。对大规模集群来说,会造成大量额外成本。
快照恢复或日志恢复会因为一些可恢复性错误导致提前结,例如硬盘空间占满,节点宕机等等一些突发情况。.在 TiDB v7.1.0 之前,在错误被处理之后,之前恢复的的进度会作废,你需要重新进行恢复。对大规模集群来说,会造成大量额外成本。
Copy link

Choose a reason for hiding this comment

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

There are grammatical errors and inconsistencies in the sentence. The word '结束' is missing a character, and there is an extra period after '突发情况'. Also, '的的' is redundant.

Suggested change
快照恢复或日志恢复会因为一些可恢复性错误导致提前结,例如硬盘空间占满,节点宕机等等一些突发情况。.在 TiDB v7.1.0 之前,在错误被处理之后,之前恢复的的进度会作废,你需要重新进行恢复。对大规模集群来说,会造成大量额外成本。
快照恢复或日志恢复会因为一些可恢复性错误导致提前结束,例如硬盘空间占满节点宕机等等一些突发情况。在 TiDB v7.1.0 之前,在错误被处理之后,之前恢复的进度会作废,你需要重新进行恢复。对大规模集群来说,会造成大量额外成本。

不建议进行跨大版本的断点恢复操作。对于使用 v8.5.0 之前长期支持 (Long-Term Support, LTS) 版本 br 恢复失败的集群,无法通过 v8.5.0 或更新的 LTS 版本 br 继续恢复,反之亦然。

## 实现细节
## 实现细节:将断点数据存储在下游集群
Copy link

Choose a reason for hiding this comment

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

The heading '实现细节:将断点数据存储在下游集群' is too specific and should be more general to align with the section's content. Consider revising it to maintain consistency with the broader context of '实现细节'.

Suggested change
## 实现细节:将断点数据存储在下游集群
## 实现细节

[PITR (Point-in-time recovery)](/br/br-pitr-guide.md) 恢复分为快照恢复和日志恢复两个阶段。

在第一次执行恢复时,br 工具首先进入快照恢复阶段。该阶段与上述只进行[快照恢复](#快照恢复-1)操作相同,断点数据,以及备份数据的上游集群的 ID 和备份数据的 BackupTS(即日志恢复的起始时间点 `start-ts`)会被记录到 `__TiDB_BR_Temporary_Snapshot_Restore_Checkpoint` 数据库中。如果在此阶段恢复失败,尝试继续断点恢复时无法再调整日志恢复的起始时间点 `start-ts`
在第一次执行恢复时,br 工具首先进入快照恢复阶段。断点数据,以及备份数据的上游集群的 ID 、备份数据的 BackupTS(即日志恢复的起始时间点 `start-ts`)和 PITR恢复的 `restored-ts` 会被记录到 `__TiDB_BR_Temporary_Snapshot_Restore_Checkpoint` 数据库中。如果在此阶段恢复失败,尝试继续断点恢复时无法再调整日志恢复的起始时间点 `start-ts``restored-ts`
Copy link

Choose a reason for hiding this comment

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

The sentence structure is unclear and could be improved for better readability. Consider rephrasing for clarity.

Suggested change
在第一次执行恢复时,br 工具首先进入快照恢复阶段。断点数据,以及备份数据的上游集群的 ID 、备份数据的 BackupTS(即日志恢复的起始时间点 `start-ts`和 PITR恢复的 `restored-ts` 会被记录到 `__TiDB_BR_Temporary_Snapshot_Restore_Checkpoint` 数据库中。如果在此阶段恢复失败,尝试继续断点恢复时无法再调整日志恢复的起始时间点 `start-ts``restored-ts`
在第一次执行恢复时,br 工具首先进入快照恢复阶段。断点数据、备份数据的上游集群 ID、备份数据的 BackupTS(即日志恢复的起始时间点 `start-ts`以及 PITR 恢复的 `restored-ts` 会被记录到 `__TiDB_BR_Temporary_Snapshot_Restore_Checkpoint` 数据库中。如果在此阶段恢复失败,尝试继续断点恢复时无法再调整日志恢复的起始时间点 `start-ts``restored-ts`


> **注意:**
>
> 在 v9.0.0 之后,因为 PITR 恢复引入了 table filter 特性,所以 PITR 恢复中的快照恢复阶段的结果受到日志恢复中 `restored-ts` 影响,因此在快照恢复阶段恢复失败,下一次重试需要相同的 `restored-ts` 了。
Copy link

Choose a reason for hiding this comment

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

The sentence is overly complex and could be simplified for better understanding.

Suggested change
> 在 v9.0.0 之后,因为 PITR 恢复引入了 table filter 特性,所以 PITR 恢复中的快照恢复阶段的结果受到日志恢复中 `restored-ts` 影响,因此在快照恢复阶段恢复失败,下一次重试需要相同的 `restored-ts`
在 v9.0.0 之后,由于 PITR 恢复引入了 table filter 特性,快照恢复阶段的结果会受到日志恢复中 `restored-ts` 的影响。因此,如果快照恢复阶段失败,下一次重试需要使用相同的 `restored-ts`


[PITR (Point-in-time recovery)](/br/br-pitr-guide.md) 恢复分为快照恢复和日志恢复两个阶段。

在第一次执行恢复时,br 工具首先进入快照恢复阶段。断点数据,以及备份数据的上游集群的 ID、备份数据的 BackupTS(即日志恢复的起始时间点 `start-ts`)和 PITR恢复的 `restored-ts` 会被记录到路径 `restore-{downstream-cluster-ID}/snapshot` 中。如果在此阶段恢复失败,尝试继续断点恢复时无法再调整日志恢复的起始时间点 `start-ts``restored-ts`
Copy link

Choose a reason for hiding this comment

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

The sentence structure is unclear and could be improved for better readability. Consider rephrasing for clarity.

Suggested change
在第一次执行恢复时,br 工具首先进入快照恢复阶段。断点数据,以及备份数据的上游集群的 ID、备份数据的 BackupTS(即日志恢复的起始时间点 `start-ts`和 PITR恢复的 `restored-ts` 会被记录到路径 `restore-{downstream-cluster-ID}/snapshot` 中。如果在此阶段恢复失败,尝试继续断点恢复时无法再调整日志恢复的起始时间点 `start-ts``restored-ts`
在第一次执行恢复时,br 工具首先进入快照恢复阶段。断点数据、备份数据的上游集群 ID、备份数据的 BackupTS(即日志恢复的起始时间点 `start-ts`以及 PITR 恢复的 `restored-ts` 会被记录到路径 `restore-{downstream-cluster-ID}/snapshot` 中。如果在此阶段恢复失败,尝试继续断点恢复时无法再调整日志恢复的起始时间点 `start-ts``restored-ts`


> **注意:**
>
> 在 v9.0.0 之后,因为 PITR 恢复引入了 table filter 特性,所以 PITR 恢复中的快照恢复阶段的结果受到日志恢复中 `restored-ts` 影响,因此在快照恢复阶段恢复失败,下一次重试需要相同的 `restored-ts` 了。
Copy link

Choose a reason for hiding this comment

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

The sentence is overly complex and could be simplified for better understanding.

Suggested change
> 在 v9.0.0 之后,因为 PITR 恢复引入了 table filter 特性,所以 PITR 恢复中的快照恢复阶段的结果受到日志恢复中 `restored-ts` 影响,因此在快照恢复阶段恢复失败,下一次重试需要相同的 `restored-ts`
在 v9.0.0 之后,由于 PITR 恢复引入了 table filter 特性,快照恢复阶段的结果会受到日志恢复中 `restored-ts` 的影响。因此,如果快照恢复阶段失败,下一次重试需要使用相同的 `restored-ts`

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (3)
.github/workflows/code_review.yml (2)

10-11: Review Permissions Setting.

Using permissions: write-all grants broad access. Consider evaluating whether a more restrictive, least-privilege permission model might be appropriate for security best practices.


16-18: Update Checkout Action Version.

Static analysis raised a concern regarding the version of the checkout action. The current use of actions/checkout@v3 may be outdated for certain runner requirements. Consider upgrading to a later version (e.g., v3.5) if available:

-        uses: actions/checkout@v3
+        uses: actions/[email protected]
🧰 Tools
🪛 actionlint (1.7.4)

17-17: the runner of "actions/checkout@v3" action is too old to run on GitHub Actions. update the action's version to fix this issue

(action)

br/br-checkpoint-restore.md (1)

8-8: Clarify Terminology in Recovery Description.

The sentence on line 8 uses "提前结". Please verify if this is the intended expression or if it should be "提前结束" to ensure clarity and consistency throughout the document.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 029108c and cf99f1e.

📒 Files selected for processing (2)
  • .github/workflows/code_review.yml (1 hunks)
  • br/br-checkpoint-restore.md (3 hunks)
🧰 Additional context used
🪛 actionlint (1.7.4)
.github/workflows/code_review.yml

17-17: the runner of "actions/checkout@v3" action is too old to run on GitHub Actions. update the action's version to fix this issue

(action)

⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: pull
🔇 Additional comments (8)
.github/workflows/code_review.yml (4)

1-2: Workflow Name is Clear.

The workflow’s name ("AI Code Review") effectively communicates its purpose.


3-9: Event Trigger Configuration is Well Defined.

The pull-request event triggers (opened, synchronize, and reopened) are correctly specified.


12-15: Job Configuration Appears Standard.

The job’s structure and environment (runs-on: ubuntu-latest) are configured appropriately.


19-26: AI Code Reviewer Step is Properly Configured.

The step that invokes the AI Code Reviewer with the required tokens, API provider, model name, and exclusion pattern is clear and correct.

br/br-checkpoint-restore.md (4)

68-72: New Downstream Checkpoint Section is Well Introduced.

The added section “实现细节:将断点数据存储在下游集群” clearly explains that, starting with TiDB v9.0.0, checkpoint data is stored in the downstream cluster by default—with an option to override via --checkpoint-storage. This addition is clear and informative.


88-89: PITR Restore Checkpoint Details Reviewed.

The description of how checkpoint data (including start-ts and restored-ts) is recorded during the initial snapshot restore phase is detailed. This feedback reiterates earlier review comments on similar content.


98-107: Enhanced External Storage Section Provides Clear Guidance.

The new section “实现细节:将断点数据存储在外部存储” comprehensively explains the alternative storage option for checkpoint data. The note and provided example command effectively clarify how to use the --checkpoint-storage parameter.


109-131: Directory Structure is Clearly Illustrated.

The outlined directory layout for externally stored checkpoint data is well presented, making it easier for users to understand the file organization.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (6)
faq/ddl-faq.md (6)

6-8: Consider Adding Blank Lines Around Headings
For improved readability and to conform with markdownlint (MD022), please add blank lines before and after headings (e.g. the “# DDL 常见问题” at line 6).


14-16: Review List Indentation Consistency
The ordered list starting at line 14 could benefit from consistent indentation. Adjusting the spacing may help satisfy markdownlint MD007 guidelines and enhance readability.


28-31: Refine Language and List Formatting in the DDL Priority Section
There appears to be a potential typo with the phrase “对与” where “对于” might be intended. Additionally, please review the bullet list formatting to ensure conformity with markdownlint (MD032 and MD007) rules.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~31-~31: 您的意思是“对"于"”吗?
Context: ...riables.md#tidb_ddl_reorg_priority) 对与 DDL 等任务如果用户在业务高峰期间,可以将优先级调低,这样 TiDB 集群会...

(YU7_YU8)

🪛 markdownlint-cli2 (0.17.2)

28-28: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


30-30: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)


30-30: Lists should be surrounded by blank lines
null

(MD032, blanks-around-lists)


38-40: Remove Trailing Punctuation from Heading
The heading “## 快速加索引方式的启动常见问题:” ends with a colon. To adhere to markdownlint MD026 recommendations, consider removing the trailing punctuation.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

38-38: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


38-38: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


44-54: Enhance Fenced Code Block Formatting
Consider adding blank lines immediately before and after the SQL fenced code block (lines 44–54) to improve visual separation and conform with markdownlint (MD031) guidelines.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

44-44: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)


54-54: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)


64-68: Adjust List Formatting in the System Variables Section
The unordered list under the “TiDB 系统变量设置” section (lines 64–68) would be clearer if preceded by a blank line and if its indentation were adjusted to meet markdownlint requirements (MD007 and MD032).

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

65-65: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)


65-65: Lists should be surrounded by blank lines
null

(MD032, blanks-around-lists)


67-67: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between cf99f1e and af3855c.

📒 Files selected for processing (1)
  • faq/ddl-faq.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
faq/ddl-faq.md

[uncategorized] ~31-~31: 您的意思是“对"于"”吗?
Context: ...riables.md#tidb_ddl_reorg_priority) 对与 DDL 等任务如果用户在业务高峰期间,可以将优先级调低,这样 TiDB 集群会...

(YU7_YU8)

🪛 markdownlint-cli2 (0.17.2)
faq/ddl-faq.md

28-28: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


30-30: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)


30-30: Lists should be surrounded by blank lines
null

(MD032, blanks-around-lists)


32-32: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)


33-33: Unordered list indentation
Expected: 4; Actual: 5

(MD007, ul-indent)


34-34: Unordered list indentation
Expected: 4; Actual: 5

(MD007, ul-indent)


35-35: Unordered list indentation
Expected: 4; Actual: 5

(MD007, ul-indent)


36-36: Unordered list indentation
Expected: 4; Actual: 5

(MD007, ul-indent)


38-38: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


38-38: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


42-42: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)


42-42: Lists should be surrounded by blank lines
null

(MD032, blanks-around-lists)


43-43: Unordered list indentation
Expected: 4; Actual: 5

(MD007, ul-indent)


43-43: Lists should be surrounded by blank lines
null

(MD032, blanks-around-lists)


44-44: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)


54-54: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)


65-65: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)


65-65: Lists should be surrounded by blank lines
null

(MD032, blanks-around-lists)


67-67: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)

🪛 GitHub Actions: Links (Fail Fast)
faq/ddl-faq.md

[error] 1-1: Cannot find file: file:///home/runner/work/docs-cn/docs-cn/tidb-configuration-file#temp-dir-new-in-v630

⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: pull
🔇 Additional comments (1)
faq/ddl-faq.md (1)

1-4: YAML Front Matter is Correctly Structured
The YAML header with the title and summary is clear and well-formatted.

🧰 Tools
🪛 GitHub Actions: Links (Fail Fast)

[error] 1-1: Cannot find file: file:///home/runner/work/docs-cn/docs-cn/tidb-configuration-file#temp-dir-new-in-v630

faq/ddl-faq.md Outdated
Comment on lines 42 to 43
- [`temp-dir`](/tidb-configuration-file#temp-dir-new-in-v630) 这个参数用来指定快速加索引模式执行本地磁盘路径。
- 对于 On Premises 用户, 需要用户提前挂载好 SSD 磁盘,配置好相应路径,然后进行升级操作,重启后检查 TiDB
Copy link

Choose a reason for hiding this comment

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

💡 Verification agent

🧩 Analysis chain

Verify the Link Reference for temp-dir
The link temp-dir is triggering pipeline errors (file not found). Please verify that the target file and anchor exist or adjust the reference as needed.


Below is a shell script to verify that the target file and its anchor actually exist in the repository. Please run the following script to check for the existence of a file matching tidb-configuration-file.md and to search within it for the anchor #temp-dir-new-in-v630:

Once you’ve run this script, please review the output:

  • If the file or the anchor isn’t found, update the link reference in faq/ddl-faq.md accordingly.
  • If both exist, you can safely ignore the pipeline error (or possibly update the reference to match the correct path).

Let me know the results so we can finalize any necessary adjustments.


🏁 Script executed:

#!/bin/bash
# Step 1: Locate the target markdown file
echo "Searching for tidb-configuration-file.md..."
fd -HI "tidb-configuration-file\.md" .

# Step 2: Check within each found file for the anchor "temp-dir-new-in-v630"
echo "Searching for anchor '#temp-dir-new-in-v630' in the found file(s)..."
rg "#temp-dir-new-in-v630" -i .

Length of output: 582


Anchor Reference Not Found in Target File

  • The target file tidb-configuration-file.md exists, but the anchor #temp-dir-new-in-v630 is not found in that file.
  • Please either:
    • Update tidb-configuration-file.md to include a heading or element with the anchor #temp-dir-new-in-v630, or
    • Adjust the link reference in faq/ddl-faq.md to match the correct, existing anchor in tidb-configuration-file.md.
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

42-42: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)


42-42: Lists should be surrounded by blank lines
null

(MD032, blanks-around-lists)


43-43: Unordered list indentation
Expected: 4; Actual: 5

(MD007, ul-indent)


43-43: Lists should be surrounded by blank lines
null

(MD032, blanks-around-lists)

faq/ddl-faq.md Outdated
- [`tidb_ddl_enable_fast_reorg`](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入)
这个系统变量在 TiDB v6.5 默认打开。
- [`tidb_ddl_disk_quota`](/system-variables.md#tidb_ddl_disk_quota-从-v630-版本开始引入)
这个系统变量用来控制快速加索引方式本地磁盘能够使用的限额,对于 on Premises 用户来说可以根据实际情况增加这个值。 No newline at end of file
Copy link

Choose a reason for hiding this comment

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

The file is missing a newline at the end. This can cause issues with version control systems and other tools that expect files to end with a newline.

Suggested change
这个系统变量用来控制快速加索引方式本地磁盘能够使用的限额,对于 on Premises 用户来说可以根据实际情况增加这个值。
这个系统变量用来控制快速加索引方式本地磁盘能够使用的限额,对于 on Premises 用户来说可以根据实际情况增加这个值。

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

♻️ Duplicate comments (1)
faq/ddl-faq.md (1)

46-48: ⚠️ Potential issue

Broken Link Reference for temp-dir.
The link temp-dir on line 46 is reported as broken by the pipeline. Please verify that the target file (tidb-configuration-file.md) and the anchor (#temp-dir-new-in-v630) exist; if not, update the link reference accordingly.

🧹 Nitpick comments (2)
faq/ddl-faq.md (2)

30-33: Typographical Correction in DDL Priority Explanation.
On line 33, the phrase “对与 DDL …” appears to be a typographical error. Consider changing “对与” to “对于” for improved clarity.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~33-~33: 您的意思是“对"于"”吗?
Context: ...riables.md#tidb_ddl_reorg_priority) 对与 DDL 等任务如果用户在业务高峰期间,可以将优先级调低,这样 TiDB 集群会...

(YU7_YU8)


49-59: Improve Fenced Code Block Formatting.
The SQL code block (lines 49-59) would benefit from extra blank lines before and after the fenced block to satisfy markdownlint (MD031 and MD032) guidelines. A simple adjustment here will enhance the readability of the sample query.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

49-49: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)


49-49: Lists should be surrounded by blank lines
null

(MD032, blanks-around-lists)


59-59: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between af3855c and 2891f17.

📒 Files selected for processing (1)
  • faq/ddl-faq.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
faq/ddl-faq.md

[uncategorized] ~33-~33: 您的意思是“对"于"”吗?
Context: ...riables.md#tidb_ddl_reorg_priority) 对与 DDL 等任务如果用户在业务高峰期间,可以将优先级调低,这样 TiDB 集群会...

(YU7_YU8)

🪛 markdownlint-cli2 (0.17.2)
faq/ddl-faq.md

49-49: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)


49-49: Lists should be surrounded by blank lines
null

(MD032, blanks-around-lists)


59-59: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)

🪛 GitHub Actions: Links (Fail Fast)
faq/ddl-faq.md

[error] 1-1: Cannot find file: file:///home/runner/work/docs-cn/docs-cn/tidb-configuration-file#temp-dir-new-in-v630

⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: pull
🔇 Additional comments (5)
faq/ddl-faq.md (5)

1-4: Front Matter Formatting Check.
The YAML front matter (lines 1-4) is correctly formatted with a clear title and summary that set the context for the document.

🧰 Tools
🪛 GitHub Actions: Links (Fail Fast)

[error] 1-1: Cannot find file: file:///home/runner/work/docs-cn/docs-cn/tidb-configuration-file#temp-dir-new-in-v630


6-9: Section Introduction Validation.
The section title and introduction (lines 6-9) clearly communicate the document’s purpose and provide a concise overview of DDL issues in TiDB.


10-27: Content Clarity on DDL Concurrency.
The explanation of concurrent DDL execution (lines 10-27) is informative and well structured. The content categorizes DDL statements and explains execution order and rules clearly.


64-69: Table Formatting Validation.
The table in lines 64-69 is well-structured and clearly presents the data. Ensure that it consistently follows the documentation style guidelines (if any additional table formatting rules apply).


72-75: Final Section on System Variables.
The section on TiDB system variables (lines 72-75) is clearly written and informative. A minor note: consider revisiting punctuation for consistency, though the current formatting is acceptable.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (5)
.github/workflows/doc_review.yml (2)

10-10: Review Permissions Setting

The file sets permissions: write-all, which grants broad permissions. For security and minimal privilege principles, consider specifying more granular scopes if possible.


16-18: Update Checkout Action Version

Static analysis indicates that the actions/checkout@v3 runner may be outdated. Please update it to a more recent minor version (for example, v3.5.3) to leverage the latest fixes and improvements.

-        uses: actions/checkout@v3
+        uses: actions/[email protected]
🧰 Tools
🪛 actionlint (1.7.4)

17-17: the runner of "actions/checkout@v3" action is too old to run on GitHub Actions. update the action's version to fix this issue

(action)

faq/ddl-faq.md (3)

10-10: Typographical Correction Needed in Section Header

The heading "## TiDB DDL 是否支持 DDL 语句间并行?具体的一些运行特是怎样的?" appears to have a typo. Consider changing "运行特" to "运行特点" for clarity.


29-33: Typographical Error in System Variable Description

The phrase "对与 DDL 等任务..." (line 33) seems to contain a typographical error. It likely should be "对于 DDL 等任务...". Please update the text to fix this.

-   对与 DDL 等任务如果用户在业务高峰期间,可以将优先级调低...
+   对于 DDL 等任务如果用户在业务高峰期间,可以将优先级调低...
🧰 Tools
🪛 LanguageTool

[uncategorized] ~33-~33: 您的意思是“对"于"”吗?
Context: ...riables.md#tidb_ddl_reorg_priority) 对与 DDL 等任务如果用户在业务高峰期间,可以将优先级调低,这样 TiDB 集群会...

(YU7_YU8)


34-38: Consistent List Indentation for System Variable References

The list of system variable references (lines 34–38) appears functional; however, ensure that the indentation of nested list items meets markdown lint guidelines for improved readability.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2891f17 and cb32342.

📒 Files selected for processing (2)
  • .github/workflows/doc_review.yml (1 hunks)
  • faq/ddl-faq.md (1 hunks)
🧰 Additional context used
🪛 actionlint (1.7.4)
.github/workflows/doc_review.yml

17-17: the runner of "actions/checkout@v3" action is too old to run on GitHub Actions. update the action's version to fix this issue

(action)

🪛 LanguageTool
faq/ddl-faq.md

[uncategorized] ~33-~33: 您的意思是“对"于"”吗?
Context: ...riables.md#tidb_ddl_reorg_priority) 对与 DDL 等任务如果用户在业务高峰期间,可以将优先级调低,这样 TiDB 集群会...

(YU7_YU8)

🪛 GitHub Actions: Links (Fail Fast)
faq/ddl-faq.md

[error] 1-1: Cannot find file: file:///home/runner/work/docs-cn/docs-cn/tidb-configuration-file#temp-dir-new-in-v630

⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: pull
🔇 Additional comments (6)
.github/workflows/doc_review.yml (3)

1-1: Workflow Naming is Clear

The workflow name "AI Code Review" clearly reflects its purpose.


3-9: Pull Request Trigger Configuration Looks Correct

The workflow is configured to run on pull request events (opened, synchronize, and reopened), which meets the intended review triggers.


19-27: AI Code Reviewer Step Configuration Approved

The "AI Code Reviewer" step correctly passes required inputs such as GITHUB_TOKEN, API_PROVIDER, and the API key/model. The explicit continue-on-error: false ensures the workflow fails when issues arise.

faq/ddl-faq.md (3)

1-4: Front Matter is Well Defined

The YAML front matter with title and summary is clear and sets the context for the document.

🧰 Tools
🪛 GitHub Actions: Links (Fail Fast)

[error] 1-1: Cannot find file: file:///home/runner/work/docs-cn/docs-cn/tidb-configuration-file#temp-dir-new-in-v630


6-9: Document Introduction is Clear

The title and introductory sentence effectively introduce the document's purpose.


73-77: Ensure End-of-File Newline

It appears the file may be missing a newline at the end. To avoid potential issues with version control and tooling, please add a final newline.

faq/ddl-faq.md Outdated
Comment on lines 46 to 48
- [`temp-dir`](/tidb-configuration-file#temp-dir-new-in-v630) 这个参数用来指定快速加索引模式执行本地磁盘路径。
- 对于 On Premises 用户, 需要用户提前挂载好 SSD 磁盘,配置好相应路径,然后进行升级操作,重启后检查 TiDB

Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

Verify Link Reference for temp-dir

The link [temp-dir](/tidb-configuration-file#temp-dir-new-in-v630) is triggering pipeline errors due to a missing or incorrect anchor in the target file. Please verify that the file tidb-configuration-file.md contains the anchor temp-dir-new-in-v630 or update the link accordingly.

faq/ddl-faq.md Outdated

## TiDB DDL 是否支持 DDL 语句间并行?具体的一些运行特是怎样的?

在 TiDB v6.2 之后,TiDB 提供并发 DDL(concurrent DDL) 执行的能力。 并发 DDL 主要是提供 DDL 语句间的并发执行支持。这里和以前的 DDL 执行将会发生如下变:
Copy link

Choose a reason for hiding this comment

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

There is a typo in the text. The word '变' is incomplete and should be '变化'.

Suggested change
在 TiDB v6.2 之后,TiDB 提供并发 DDL(concurrent DDL) 执行的能力。 并发 DDL 主要是提供 DDL 语句间的并发执行支持。这里和以前的 DDL 执行将会发生如下变
在 TiDB v6.2 之后,TiDB 提供并发 DDL(concurrent DDL) 执行的能力。 并发 DDL 主要是提供 DDL 语句间的并发执行支持。这里和以前的 DDL 执行将会发生如下变化

faq/ddl-faq.md Outdated
- [`tidb_ddl_enable_fast_reorg`](/system-variables.md#tidb_ddl_enable_fast_reorg-从-v630-版本开始引入)
这个系统变量在 TiDB v6.5 默认打开。
- [`tidb_ddl_disk_quota`](/system-variables.md#tidb_ddl_disk_quota-从-v630-版本开始引入)
这个系统变量用来控制快速加索引方式本地磁盘能够使用的限额,对于 on Premises 用户来说可以根据实际情况增加这个值。 No newline at end of file
Copy link

Choose a reason for hiding this comment

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

The file is missing a newline at the end. This is a common best practice to ensure proper file handling in version control systems.

Suggested change
这个系统变量用来控制快速加索引方式本地磁盘能够使用的限额,对于 on Premises 用户来说可以根据实际情况增加这个值。
这个系统变量用来控制快速加索引方式本地磁盘能够使用的限额,对于 on Premises 用户来说可以根据实际情况增加这个值。


### end-point-memory-quota <span class="version-mark">从 v8.2.0 版本开始引入</span>

* TiKV Coproccessor 请求可以使用的内存上限,超过该值后后续的 Coprocessor 请求将被拒绝并报错(server is busy)。
Copy link

Choose a reason for hiding this comment

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

The description of end-point-memory-quota is unclear and lacks context. It should specify what happens when the memory quota is exceeded and provide more details about the error handling mechanism.

Suggested change
* TiKV Coproccessor 请求可以使用的内存上限,超过该值后后续的 Coprocessor 请求将被拒绝并报错(server is busy
* TiKV Coprocessor 请求可以使用的内存上限。当内存使用超过该值时,后续的 Coprocessor 请求将被拒绝,并返回 `server is busy` 错误。该配置项用于防止 Coprocessor 请求占用过多内存,影响系统稳定性

## txn-status-cache-capacity <span class="version-mark">从 v7.6.0 版本开始引入</span>

+ 设置 TiKV 内的事务状态 cache 的容量。不建议用户随意修改。
Copy link

Choose a reason for hiding this comment

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

The description for txn-status-cache-capacity is too vague and lacks context. It should explain what the cache is used for and why users should not modify it arbitrarily. This will help users understand the purpose and implications of this configuration.

Suggested change
+ 设置 TiKV 内的事务状态 cache 的容量。不建议用户随意修改。
+ 设置 TiKV 内的事务状态缓存容量。该缓存用于存储事务状态信息,以加速事务处理。不建议用户随意修改,因为不合理的配置可能导致性能下降或内存使用过高

## txn-status-cache-capacity <span class="version-mark">从 v7.6.0 版本开始引入</span>

+ 设置 TiKV 内的事务状态 cache 的容量。不建议用户随意修改。
+ 默认值:5120000
Copy link

Choose a reason for hiding this comment

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

The default value should be accompanied by a brief explanation of why this value was chosen or its typical use case. This will help users understand the rationale behind the default setting.

Suggested change
+ 默认值:5120000
+ 默认值:5120000(适用于大多数场景,确保事务状态缓存能够高效处理事务状态信息)


### follower-read-max-log-gap <span class="version-mark">从 v7.4.0 版本开始引入</span>

+ follower 处理读请求时允许的最大日志落后数目,超出则拒绝读请求。
Copy link

Choose a reason for hiding this comment

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

The description of follower-read-max-log-gap is unclear. It should specify what '日志落后数目' refers to and why it is important for follower reads.

Suggested change
+ follower 处理读请求时允许的最大日志落后数目,超出则拒绝读请求。
+ follower 处理读请求时允许的最大 Raft 日志落后数目,超出则拒绝读请求。该配置用于确保 follower 读取的数据不会过于陈旧


### inspect-cpu-util-thd <span class="version-mark">从 v7.6.0 版本开始引入</span>

+ TiKV 进行慢节点检测时判定节点 CPU 是否处于繁忙状态的阈值。范围 [0%, 100%]
Copy link

Choose a reason for hiding this comment

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

The description of inspect-cpu-util-thd could be more precise. It should clarify what '慢节点检测' refers to and how this threshold impacts the detection.

Suggested change
+ TiKV 进行慢节点检测时判定节点 CPU 是否处于繁忙状态的阈值。范围 [0%, 100%]
+ TiKV 进行慢节点检测时判定节点 CPU 是否处于繁忙状态的阈值。当节点 CPU 使用率超过该阈值时,TiKV 会将其标记为慢节点。范围 [0%, 100%]

## rocksdb.defaultcf | rocksdb.writecf | rocksdb.lockcf
## rocksdb.defaultcf | rocksdb.writecf | rocksdb.lockcf | rocksdb.raftcf

rocksdb defaultcf、rocksdb writecf 和 rocksdb lockcf 相关的配置项。
Copy link

Choose a reason for hiding this comment

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

The description does not include rocksdb.raftcf, which is now part of the section title. This omission could confuse users who are looking for information about rocksdb.raftcf.

Suggested change
rocksdb defaultcf、rocksdb writecf 和 rocksdb lockcf 相关的配置项。
rocksdb defaultcf、rocksdb writecf、rocksdb lockcf 和 rocksdb raftcf 相关的配置项。


### `max-compactions` <span class="version-mark">从 v6.6.0 版本开始引入</span>

+ 最大 compaction 任务并发数。0 表示不限制。
Copy link

Choose a reason for hiding this comment

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

The description for max-compactions is unclear. It should specify whether this setting applies globally or per instance, and what the implications are for setting it to 0.

Suggested change
+ 最大 compaction 任务并发数。0 表示不限制。
+ 最大 compaction 任务并发数。0 表示不限制。该配置项适用于每个 TiKV 实例,设置为 0 时表示不限制并发数,但可能会增加系统资源消耗。


### `compression-level` <span class="version-mark">从 v7.4.0 版本开始引入</span>

+ 设置 raft-engine 在写 raft log 文件时所采用的 lz4 压缩算法的压缩效率,范围 [1, 16],越低压缩速率越高,但压缩率越低。
Copy link

Choose a reason for hiding this comment

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

The description of the compression-level parameter is unclear and could be misinterpreted. The phrase '越低压缩速率越高,但压缩率越低' is ambiguous and may confuse users. It should be rephrased for clarity.

Suggested change
+ 设置 raft-engine 在写 raft log 文件时所采用的 lz4 压缩算法的压缩效率,范围 [1, 16],越低压缩速率越高,但压缩率越低
+ 设置 raft-engine 在写 raft log 文件时所采用的 lz4 压缩算法的压缩效率,范围 [1, 16]。数值越小,压缩速度越快,但压缩后的文件大小越大;数值越大,压缩速度越慢,但压缩后的文件大小越小

+ 是否开启内存引擎以加速多版本查询。关于内存引擎的详细信息,参见 [TiKV MVCC 内存引擎](/tikv-in-memory-engine.md)
+ 默认值:false(即关闭内存引擎)
+ 建议 TiKV 节点至少配置 8 GiB 内存,推荐配置 32 GiB 或更多内存以获得更佳性能。
Copy link

Choose a reason for hiding this comment

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

The sentence about memory configuration is unclear and could be more precise. It should specify whether the memory requirement is per TiKV node or for the entire cluster. Additionally, the recommendation for 32 GiB should be justified or linked to relevant performance benchmarks.

Suggested change
+ 建议 TiKV 节点至少配置 8 GiB 内存,推荐配置 32 GiB 或更多内存以获得更佳性能
+ 建议每个 TiKV 节点至少配置 8 GiB 内存。为了获得更佳性能,推荐每个 TiKV 节点配置 32 GiB 或更多内存。具体内存需求取决于工作负载和集群规模,建议参考 [TiKV 性能调优指南](/tikv-performance-tuning.md) 进行配置

+ 是否开启内存引擎以加速多版本查询。关于内存引擎的详细信息,参见 [TiKV MVCC 内存引擎](/tikv-in-memory-engine.md)
+ 默认值:false(即关闭内存引擎)
+ 建议 TiKV 节点至少配置 8 GiB 内存,推荐配置 32 GiB 或更多内存以获得更佳性能。
+ 如果 TiKV 可用内存过低,即使将该配置项设置为 `true`,内存引擎也不会被启用。此时,你可以在 TiKV 的日志文件中查找与 `"in-memory engine is disabled because"` 相关的日志信息,以判断为何内存引擎未能启用。
Copy link

Choose a reason for hiding this comment

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

The phrase 'TiKV 可用内存过低' is vague. It should specify what constitutes '过低' (e.g., a specific threshold or percentage of total memory). Additionally, the log message reference could be more precise.

Suggested change
+ 如果 TiKV 可用内存过低,即使将该配置项设置为 `true`,内存引擎也不会被启用。此时,你可以在 TiKV 的日志文件中查找与 `"in-memory engine is disabled because"` 相关的日志信息,以判断为何内存引擎未能启用
+ 如果 TiKV 节点的可用内存低于 2 GiB(或总内存的 10%),即使将该配置项设置为 `true`,内存引擎也不会被启用。此时,你可以在 TiKV 的日志文件中查找包含 `"in-memory engine is disabled due to insufficient memory"` 的日志信息,以确认内存引擎未能启用的原因

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (7)
faq/ddl-faq.md (5)

6-8: Heading and Introduction Formatting

The main heading (“# DDL 常见问题”) and the introductory sentence (line 8) are clear. Consider ensuring there is a blank line after the heading (if not already present) for improved readability according to markdown best practices.


10-12: Section Heading on DDL Concurrency

The section heading “## TiDB DDL 是否支持 DDL 语句间并行?具体的一些运行特征是怎样的?” is descriptive. Please verify that the heading is consistently surrounded by blank lines (especially before and after) to satisfy markdownlint MD022 guidelines.


14-16: Nested List Indentation

The numbered list starting at line 14 (describing the “并发判断规则”) is informative. However, please ensure the nested list items (lines 15–16) have consistent indentation. This will help avoid markdownlint warnings (e.g. MD007 for unordered list indentation).


38-40: Trailing Punctuation in Heading

The heading “## 快速加索引方式的启动常见问题:” (line 38) ends with a full‐width colon “:”. Markdownlint (MD026) advises against trailing punctuation in headings. Consider removing the punctuation or rephrasing the heading for better consistency.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

38-38: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


38-38: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


55-56: Final Note on Configuration Behavior

The note in line 55 (“注意: 这个是一个配置参数,需要重启 TiDB 节点...”) clearly explains the expected behavior. Double-check that the sentence structure is consistent with the style guide and that a final newline is present at the end of the file to prevent version control issues.

tikv-configuration-file.md (2)

1067-1070: “inspect-cpu-util-thd” Parameter Clarity

The addition of inspect-cpu-util-thd (lines 1067–1070) sets the CPU utilization threshold for identifying slow nodes, with a default of 40%. Consider explicitly mentioning the unit (i.e. percentage) in the description if it isn’t already obvious to all readers.


1082-1085: “request-voter-replicated-index-interval” Details

This new parameter (lines 1082–1085) controls the interval at which witness nodes request the replicated Raft log positions from voters, with a default of “5分钟”. The information is concise; if possible, consider ensuring that the unit (“分钟”) is consistent with other time-related parameters (using either Chinese characters or a standard like “5min”).

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between cb32342 and 5a9de36.

📒 Files selected for processing (5)
  • .github/workflows/ci.yaml (0 hunks)
  • .github/workflows/link-fail-fast.yaml (0 hunks)
  • .github/workflows/prevent-deletion.yaml (0 hunks)
  • faq/ddl-faq.md (1 hunks)
  • tikv-configuration-file.md (8 hunks)
💤 Files with no reviewable changes (3)
  • .github/workflows/ci.yaml
  • .github/workflows/link-fail-fast.yaml
  • .github/workflows/prevent-deletion.yaml
🧰 Additional context used
🪛 LanguageTool
faq/ddl-faq.md

[uncategorized] ~31-~31: 您的意思是“对"于"”吗?
Context: ...riables.md#tidb_ddl_reorg_priority) 对与 DDL 等任务如果用户在业务高峰期间,可以将优先级调低,这样 TiDB 集群会...

(YU7_YU8)

🪛 markdownlint-cli2 (0.17.2)
faq/ddl-faq.md

28-28: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


30-30: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)


30-30: Lists should be surrounded by blank lines
null

(MD032, blanks-around-lists)


32-32: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)


33-33: Unordered list indentation
Expected: 4; Actual: 5

(MD007, ul-indent)


34-34: Unordered list indentation
Expected: 4; Actual: 5

(MD007, ul-indent)


35-35: Unordered list indentation
Expected: 4; Actual: 5

(MD007, ul-indent)


36-36: Unordered list indentation
Expected: 4; Actual: 5

(MD007, ul-indent)


38-38: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)


38-38: Trailing punctuation in heading
Punctuation: ':'

(MD026, no-trailing-punctuation)


42-42: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)


42-42: Lists should be surrounded by blank lines
null

(MD032, blanks-around-lists)


43-43: Unordered list indentation
Expected: 4; Actual: 5

(MD007, ul-indent)


43-43: Lists should be surrounded by blank lines
null

(MD032, blanks-around-lists)


44-44: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)


54-54: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)


65-65: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)


65-65: Lists should be surrounded by blank lines
null

(MD032, blanks-around-lists)


67-67: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)

⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: review
🔇 Additional comments (9)
faq/ddl-faq.md (3)

1-4: Front Matter is Correct and Clear

The YAML front matter (lines 1–4) properly defines the document title and summary. No changes needed here.


42-44: Verify Link Reference for temp-dir

The link [temp-dir](/tidb-configuration-file#temp-dir-new-in-v630) (line 42) refers to an anchor that—according to previous review comments—may not exist in the target file. Please verify that the target file contains a matching anchor (“temp-dir-new-in-v630”) or adjust the link so that it points to an existing section.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

42-42: Unordered list indentation
Expected: 0; Actual: 3

(MD007, ul-indent)


42-42: Lists should be surrounded by blank lines
null

(MD032, blanks-around-lists)


43-43: Unordered list indentation
Expected: 4; Actual: 5

(MD007, ul-indent)


43-43: Lists should be surrounded by blank lines
null

(MD032, blanks-around-lists)


44-44: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)


44-54: SQL Code Block Formatting

The SQL code block (lines 44–54) is well formatted and clearly demonstrates how to use the SHOW CONFIG command. Ensure that it is preceded and followed by a blank line (if not already) to meet markdown best practices.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

44-44: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)


54-54: Fenced code blocks should be surrounded by blank lines
null

(MD031, blanks-around-fences)

tikv-configuration-file.md (6)

222-226: New “end-point-memory-quota” Parameter

The newly added section for end-point-memory-quota (lines 222–226) clearly explains that it limits the memory available for TiKV Coprocessor requests, with a default of “系统总内存大小的 45%” (capped at 500MB). Ensure that the description accurately reflects the behavior and that the percentage and size limit are correctly computed in context.


1063-1066: Introduction of “follower-read-max-log-gap”

The new parameter follower-read-max-log-gap (lines 1063–1066) is described as the maximum allowed log lag for follower nodes when processing read requests, with a default value of 100. The description is clear; verifying that this value is reasonable in real-world workloads would be worthwhile.


1072-1075: “inspect-kvdb-interval” Explanation

The new inspect-kvdb-interval parameter (lines 1072–1075) controls the interval for checking the KV disk during slow node detection. The note that this value is overridden to 0 when KVDB and RaftDB share the same mount path is important. Verify that this behavior is documented elsewhere for consistency.


1077-1080: “min-pending-apply-region-count” Parameter

The newly introduced min-pending-apply-region-count (lines 1077–1080) specifies the maximum number of regions busy applying Raft logs that allow leader migration. The explanation is clear and the default value of 10 seems in line with expected operation. No changes needed.


1087-1090: “slow-trend-unsensitive-cause” Parameter

The slow-trend-unsensitive-cause parameter (lines 1087–1090) adjusts the sensitivity of delay detection in the SlowTrend algorithm. With a default value of 10, the description is clear. No issues found.


1092-1095: “slow-trend-unsensitive-result” Parameter

The new slow-trend-unsensitive-result (lines 1092–1095) manages the QPS-side sensitivity in the SlowStrend algorithm. The default of 0.5 is clearly stated. This parameter appears well documented.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants