Skip to content

Conversation

@Oreoxmt
Copy link
Collaborator

@Oreoxmt Oreoxmt commented Jun 5, 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.

  • 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

@Oreoxmt Oreoxmt self-assigned this Jun 5, 2025
@Oreoxmt Oreoxmt added translation/doing This PR's assignee is translating this PR. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. v9.0-beta.2 This PR/issue applies to TiDB v9.0-beta.2. labels Jun 5, 2025
@ti-chi-bot
Copy link

ti-chi-bot bot commented Jun 5, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please ask for approval from oreoxmt. For more information see the Code Review Process.
Please ensure that each of them provides their approval before proceeding.

The full list of commands accepted by this bot can be found 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 size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Jun 5, 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.

Hello @Oreoxmt, 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

Hello! gemini-code-assist here, providing a summary of this pull request.

Based on the title and the changes in the patch, this PR aims to update the releases/release-9.0.0.md document to include placeholders for new features introduced in the v9.0-beta.2 release. The description is minimal, but the title and patch content clearly indicate the purpose is to prepare the release notes for documenting these new features across various categories like Scalability, Performance, Availability, Reliability, SQL, DB operations, Observability, Security, and Data migration.

Highlights

  • Release Notes Update: Adds placeholder entries to the v9.0.0 release notes document (releases/release-9.0.0.md) to mark spots for new features from the v9.0-beta.2 release.
  • Placeholder Structure: Each placeholder includes generic text prompting for a feature summary, value proposition, usage instructions, important aspects, and a link to documentation. They also include placeholders for issue numbers, contributor IDs, and a beta.2 marker.
  • Categorization: Placeholders are added under existing sections such as Scalability, Performance, Availability, Reliability, SQL, DB operations, Observability, Security, and Data migration, indicating that new features in beta.2 fall into these areas.

Changelog

  • releases/release-9.0.0.md
    • Added multiple placeholder entries for new features from v9.0-beta.2 under various sections (Scalability, Performance, Availability, Reliability, SQL, DB operations, Observability, Security, Data migration).
    • Each placeholder includes generic text and markers for issue links, contributor IDs, and documentation links, to be filled in later.
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.

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 adds placeholders for new features in the v9.0.0 release notes, specifically for v9.0-beta.2. The structure of the added placeholders is clear and consistent across different sections, providing good guidance for technical writers who will fill in the details later.

To improve the PR, please consider the following:

  1. PR Description: The "What is changed, added or deleted?" section in the PR description is currently empty. It would be helpful to briefly describe the changes made (e.g., "Added placeholders for v9.0-beta.2 features to the v9.0.0 release notes.").
  2. Affected TiDB Version: The "Which TiDB version(s) do your changes apply to?" checklist in the PR description is not filled. Please tick the appropriate version, which appears to be v9.0.

Overall, the changes in the release notes file itself are well-executed for their purpose.

Style Guide Adherence

The review was guided by the 'Documentation Review Style Guide'. Specifically, I checked for:

  • Clarity and simplicity of the added placeholder text (Style Guide Lines 14, 21).
  • Correct Markdown formatting, such as blank lines around list items (Style Guide Line 38).
  • Adherence to heading structure (Style Guide Line 39).

Summary of Findings

  • PR Description Incomplete: The PR description should be updated to include what was changed and which TiDB versions are affected. This helps reviewers and maintainers understand the PR's scope and impact more quickly.
  • Placeholder Quality: The added placeholders are clear, consistent, and well-structured, effectively guiding the content creation for new features in the release notes.

Merge Readiness

The changes to the release notes file are in good shape for adding placeholders. I recommend updating the PR description (detailing changes and affected TiDB version) before merging. As per my instructions, I am not authorized to approve pull requests, so please ensure other reviewers approve this PR before merging.

@hfxsd hfxsd self-requested a review June 20, 2025 08:45
@qiancai qiancai force-pushed the v9.0.0-beta.2-release-notes branch from b9d3fef to 666738d Compare June 23, 2025 07:33

Before v9.0.0, TiDB encounters significant performance bottlenecks when creating tables with foreign keys in certain SaaS scenarios, especially when the number of tables in a cluster reaches tens of millions. A large number of foreign key relationships further slows down the execution of DDL operations such as `CREATE TABLE` and `ADD COLUMN`.

Starting from v9.0.0, TiDB optimizes the handling of related metadata, significantly improving DDL performance in scenarios with extremely large table counts. According to internal tests, under idle cluster workload and with a connection to the DDL owner node, the table creation speed can reach up to 126 tables per second, and the average execution speed of the `ADD COLUMN` operation is approximately 45.5 tables per second.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
Starting from v9.0.0, TiDB optimizes the handling of related metadata, significantly improving DDL performance in scenarios with extremely large table counts. According to internal tests, under idle cluster workload and with a connection to the DDL owner node, the table creation speed can reach up to 126 tables per second, and the average execution speed of the `ADD COLUMN` operation is approximately 45.5 tables per second.
Starting from v9.0.0, TiDB optimizes the handling logic of related metadata, significantly improving DDL performance in scenarios with extremely large tables. According to internal tests, under idle cluster workload and with a connection to the DDL owner node, the table creation speed can reach up to 126 tables per second, and the average execution speed of the `ADD COLUMN` operation is approximately 45.5 tables per second.


* Introduce a mechanism for detecting connection interruption to automatically terminate running SQL statements on the server side once the client is disconnected [#60685](https://github.com/pingcap/tidb/pull/60685) @[Defined2014](https://github.com/Defined2014) **tw@hfxsd** <!--2060 beta.2-->

To improve resource utilization and system stability, TiDB v9.0.0 introduces a mechanism for detecting connection interruption. When a client connection is unexpectedly closed, TiDB terminates SQL statements that are still running on that connection, promptly releasing resources and preventing long-running invalid statements from impacting system performance.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
To improve resource utilization and system stability, TiDB v9.0.0 introduces a mechanism for detecting connection interruption. When a client connection is unexpectedly closed, TiDB terminates SQL statements that are still running on that connection, promptly releasing resources and preventing long-running invalid statements from impacting system performance.
To improve resource utilization and system stability, TiDB v9.0.0 introduces a mechanism for detecting connection interruption. When a client disconnects unexpectedly, TiDB proactively terminates SQL statements that are still running on that connection, promptly releasing resources and preventing long-running invalid statements from impacting system performance.


* Introduce the table mode to restrict read and write operations during data restore, improving task stability and data consistency [#59008](https://github.com/pingcap/tidb/issues/59008) @[fishiu](https://github.com/fishiu) @[River2000i](https://github.com/River2000i) @[Tristan1900](https://github.com/Tristan1900) @[Leavrth](https://github.com/Leavrth) **tw@hfxsd** <!--2056 beta.2-->

TiDB v9.0.0 introduces the table mode to enhance the stability and consistency of backup and restore tasks. When performing snapshot restore or PITR (Point-in-Time Recovery), the table mode of the target table is automatically set to `restore`. In this mode, all user read and write operations on the table are blocked. Once the restore process completes, the table mode automatically switches back to `normal`, allowing regular access to the table. This mechanism ensures greater stability and consistency during data recovery.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
TiDB v9.0.0 introduces the table mode to enhance the stability and consistency of backup and restore tasks. When performing snapshot restore or PITR (Point-in-Time Recovery), the table mode of the target table is automatically set to `restore`. In this mode, all user read and write operations on the table are blocked. Once the restore process completes, the table mode automatically switches back to `normal`, allowing regular access to the table. This mechanism ensures greater stability and consistency during data recovery.
TiDB v9.0.0 introduces the table mode to enhance the stability and consistency of backup and restore tasks. When performing snapshot restore or PITR (Point-in-Time Recovery), the table mode of the target table is automatically set to `restore`. In this mode, all read and write operations on the table are disallowed. Once the restore process completes, the table mode automatically switches back to `normal`, allowing regular read and write operations. This mechanism ensures greater stability and consistency during data recovery.


### SQL

* Support the `gb18030` character set and `gb18030_bin` and `gb18030_chinese_ci` collations [#17470](https://github.com/tikv/tikv/issues/17470) [#55791](https://github.com/pingcap/tidb/issues/55791) @[cbcwestwolf](https://github.com/cbcwestwolf) *tw@hfxsd* <!--1962 beta.2-->
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
* Support the `gb18030` character set and `gb18030_bin` and `gb18030_chinese_ci` collations [#17470](https://github.com/tikv/tikv/issues/17470) [#55791](https://github.com/pingcap/tidb/issues/55791) @[cbcwestwolf](https://github.com/cbcwestwolf) *tw@hfxsd* <!--1962 beta.2-->
* Support the `gb18030` character set, and `gb18030_bin` and `gb18030_chinese_ci` collations [#17470](https://github.com/tikv/tikv/issues/17470) [#55791](https://github.com/pingcap/tidb/issues/55791) @[cbcwestwolf](https://github.com/cbcwestwolf) *tw@hfxsd* <!--1962 beta.2-->


* Support the `gb18030` character set and `gb18030_bin` and `gb18030_chinese_ci` collations [#17470](https://github.com/tikv/tikv/issues/17470) [#55791](https://github.com/pingcap/tidb/issues/55791) @[cbcwestwolf](https://github.com/cbcwestwolf) *tw@hfxsd* <!--1962 beta.2-->

Starting from v9.0.0, TiDB supports the `gb18030` character set along with the `gb18030_bin` and `gb18030_chinese_ci` collations, enabling better handling of Chinese-language data storage and query requirements.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
Starting from v9.0.0, TiDB supports the `gb18030` character set along with the `gb18030_bin` and `gb18030_chinese_ci` collations, enabling better handling of Chinese-language data storage and query requirements.
Starting from v9.0.0, TiDB supports the `gb18030` character set along with the `gb18030_bin` and `gb18030_chinese_ci` collations, improving TiDB's ability to store and query data in Chinese.

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

Labels

do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. translation/doing This PR's assignee is translating this PR. v9.0-beta.2 This PR/issue applies to TiDB v9.0-beta.2.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants