Skip to content

tikv: recorrect the settings of some configs and supplement missing annotations for several configs. (#20871) #20896

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

Merged

Conversation

ti-chi-bot
Copy link
Member

This is an automated cherry-pick of #20871

First-time contributors' checklist

What is changed, added or deleted? (Required)

As the title mentioned, this PR is used to recorrect the settings for some configurations in TiKV.

Meanwhile, for some newly introduced configurations, it supplements annotations for them.

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)?

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

@ti-chi-bot ti-chi-bot added area/engine Indicates that the Issue or PR belongs to the area of TP storage or Cloud storage. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. lgtm needs-1-more-lgtm Indicates a PR needs 1 more LGTM. ONCALL Relates to documentation oncall. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. type/cherry-pick-for-release-8.3 This PR is cherry-picked to release-8.3 from a source PR. labels Apr 30, 2025
@ti-chi-bot
Copy link
Member Author

@qiancai This PR has conflicts, I have hold it.
Please resolve them or ask others to resolve them, then comment /unhold to remove the hold label.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Hello @ti-chi-bot, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

Summary of Changes

This pull request focuses on updating and correcting configurations in TiKV, as well as adding missing annotations for newly introduced configurations. The changes primarily affect the releases/ directory, specifically the release notes for versions 7.6.0, 8.0.0, 8.1.0 and 8.1.2, and the tikv-configuration-file.md file. These updates include renaming configuration items, modifying default values, adding new configuration options, and deprecating old ones. The goal is to ensure accurate documentation and proper configuration settings for TiKV across different TiDB versions.

Highlights

  • Configuration Updates: Several TiKV configuration parameters have been updated, including renaming raftstore.report-min-resolved-ts-interval to raftstore.pd-report-min-resolved-ts-interval and modifying default values for parameters like rocksdb.defaultcf.titan.min-blob-size and rocksdb.titan.max-background-gc.
  • New Configuration Options: New configuration options have been added to TiKV, such as cdc.incremental-scan-concurrency-limit, raftstore.periodic-full-compact-start-times, raftstore.periodic-full-compact-start-max-cpu, storage.block-cache.low-pri-pool-ratio, and server.snap-min-ingest-size, providing more control over TiKV's behavior.
  • Documentation Updates: The release notes for TiDB versions 7.6.0, 8.0.0, 8.1.0 and 8.1.2 have been updated to reflect the configuration changes and additions, ensuring users are aware of the latest settings and options.
  • Deprecated Configurations: The enable-telemetry configuration in PD has been deprecated starting from v8.1.0, and conflict.max-record-rows in TiDB Lightning will be deprecated in a future release.

Changelog

Click here to see the changelog
  • releases/release-7.6.0.md
    • Renamed raftstore.report-min-resolved-ts-interval to raftstore.pd-report-min-resolved-ts-interval.
    • Modified default compression algorithm for blob-file-compression to zstd.
    • Modified default value for rocksdb.defaultcf.titan.min-blob-size to 32KB for new clusters.
    • Modified default value for rocksdb.titan.enabled to true for new clusters.
    • Added new configuration options: cdc.incremental-scan-concurrency-limit, gc.num-threads, raftstore.periodic-full-compact-start-times, raftstore.periodic-full-compact-start-max-cpu, raftstore.pd-report-min-resolved-ts-interval, and zstd-dict-size.
  • releases/release-8.0.0.md
    • Modified log-backup.initial-scan-rate-limit to add a minimum value of 1MiB.
    • Modified raftstore.store-io-pool-size to change the default value from 0 to 1.
    • Modified rocksdb.defaultcf.titan.blob-cache-size to indicate it only takes effect when shared-blob-cache is set to false.
    • Modified rocksdb.titan.max-background-gc to change the default value from 4 to 1.
    • Added gcp as an available type for security.encryption.master-key.vendor.
    • Added new configuration options: storage.block-cache.low-pri-pool-ratio, rocksdb.defaultcf.titan.shared-blob-cache, security.encryption.master-key.gcp.credential-file-path, and schedule.enable-heartbeat-breakdown-metrics.
    • Added new configuration options for TiDB Lightning and TiCDC.
  • releases/release-8.1.0.md
    • Deprecated enable-telemetry in PD.
    • Modified conflict.threshold in TiDB Lightning to change the default value from 9223372036854775807 to 10000.
    • Added new configuration option memory.enable-thread-exclusive-arena for TiKV.
    • Added new configuration options for TiCDC related to security.
  • releases/release-8.1.2.md
    • Added compatibility changes section.
    • Added new TiKV configuration item server.snap-min-ingest-size.
  • tikv-configuration-file.md
    • Added documentation for snap-min-ingest-size.
    • Added documentation for low-pri-pool-ratio.
    • Updated documentation for pd-report-min-resolved-ts-interval and removed documentation for report-min-resolved-ts-interval.
    • Updated documentation for max-background-gc.
    • Added documentation for incremental-scan-concurrency-limit.
    • Added documentation for enable-thread-exclusive-arena and in-memory engine configurations.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@ti-chi-bot ti-chi-bot bot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Apr 30, 2025
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request addresses the recorrection of settings for some configurations in TiKV and supplements missing annotations for newly introduced configurations. The changes appear to be well-organized and focused on improving the accuracy and completeness of the documentation. The PR description is clear about the changes and their purpose. The inclusion of affected TiDB versions is also helpful.

Merge Readiness

The pull request appears to be well-structured and addresses the stated objectives. The changes are focused on documentation, and the PR description provides sufficient context. There are no critical or high severity issues found, and the changes seem ready to be merged after addressing the review comments.

Comment on lines 2511 to 2514
+ Whether to enable the in-memory engine to accelerate multi-version queries. For more information about the in-memory engine, see [TiKV MVCC In-Memory Engine](/tikv-in-memory-engine.md)
+ Default value: `false` (in-memory engine is disabled)
+ It is recommended to configure at least 8 GiB of memory for the TiKV node, with 32 GiB or more for optimal performance.
+ If the available memory for the TiKV node is insufficient, the in-memory engine will not be enabled even if this configuration item is set to `true`. In such cases, check the TiKV log file for messages containing `"in-memory engine is disabled because"` to learn why the in-memory engine is not enabled.

Choose a reason for hiding this comment

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

low

Consider rephrasing "Whether to enable the in-memory engine to accelerate multi-version queries. For more information about the in-memory engine, see TiKV MVCC In-Memory Engine" for better clarity. For example, "Enables the in-memory engine to accelerate multi-version queries. For details, see TiKV MVCC In-Memory Engine"

@ti-chi-bot ti-chi-bot bot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Apr 30, 2025
@qiancai
Copy link
Collaborator

qiancai commented Apr 30, 2025

/approve

Copy link

ti-chi-bot bot commented Apr 30, 2025

[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

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ti-chi-bot ti-chi-bot bot added the approved label Apr 30, 2025
@qiancai qiancai removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Apr 30, 2025
@ti-chi-bot ti-chi-bot bot merged commit cfdf574 into pingcap:release-8.3 Apr 30, 2025
8 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved area/engine Indicates that the Issue or PR belongs to the area of TP storage or Cloud storage. lgtm needs-1-more-lgtm Indicates a PR needs 1 more LGTM. ONCALL Relates to documentation oncall. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. type/cherry-pick-for-release-8.3 This PR is cherry-picked to release-8.3 from a source PR.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants