Skip to content

tiproxy: add a guide to enable tiproxy using tiup #20799

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
merged 5 commits into from
Apr 21, 2025

Conversation

djshow832
Copy link
Contributor

What is changed, added or deleted? (Required)

More and more users encountered a problem that after scaling out a tiproxy, tiproxy can't migrate sessions but reports warnings. This doc adds a guide to scale out tiproxy on an existing cluster.
Before TiUP v1.16.1, there were some bugfixes related to tiproxy, refer to https://github.com/pingcap/tiup/releases. Besides, adding deployment with TiUP v1.15.0 makes the steps longer. This doc removes the TiUP v1.15.0 steps and recommends v1.16.1.

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

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 @djshow832, 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 adds a guide to enable TiProxy using TiUP. The main goal is to provide documentation for users who want to scale out TiProxy on an existing cluster. The documentation recommends using TiUP v1.16.1 or later due to bug fixes related to TiProxy in previous versions. The changes involve modifying the tiproxy-overview.md file to include instructions for creating a new cluster with TiProxy and enabling TiProxy for an existing cluster.

Highlights

  • New Documentation: Adds a guide to enable TiProxy using TiUP, addressing the problem of session migration failures after scaling out TiProxy.
  • TiUP Version Recommendation: Recommends using TiUP v1.16.1 or later due to bug fixes related to TiProxy in previous versions.
  • Configuration Instructions: Provides detailed steps for configuring TiDB and TiProxy instances, including setting graceful-wait-before-shutdown for TiDB and configuring virtual IP for TiProxy.
  • Scaling Out TiProxy: Includes instructions for scaling out TiProxy instances for existing clusters, including configuring TiProxy in a separate topology file and reloading TiDB configuration.

Changelog

  • tiproxy/tiproxy-overview.md
    • Reorganized the document to include sections for creating a new cluster with TiProxy and enabling TiProxy for an existing cluster.
    • Removed the steps for TiUP versions prior to v1.16.1 and recommends using v1.16.1 or later.
    • Updated the configuration instructions for TiDB instances, focusing on the graceful-wait-before-shutdown setting.
    • Added instructions for configuring TiProxy instances, including setting ha.virtual-ip and ha.interface for high availability.
    • Included steps for scaling out TiProxy for existing clusters, including creating a separate topology file and reloading TiDB configuration.
    • Removed manual certificate generation steps, as TiUP now handles this automatically.
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.


A proxy's tale,
Sessions migrate, never fail,
TiUP guides the way,
Ensuring smooth play,
No client disconnects to bewail.

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 missing-translation-status This PR does not have translation status info. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Apr 18, 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 adds a guide to enable TiProxy using TiUP, which is helpful for users encountering issues with session migration after scaling out TiProxy. The changes include recommending TiUP v1.16.1 or later and providing detailed steps for creating a new cluster with TiProxy and enabling TiProxy for an existing cluster. Overall, the documentation is well-structured and informative.

Summary of Findings

  • Inconsistent terminology: The documentation uses both 'scaling out TiProxy' and 'enabling TiProxy'. While they refer to the same action, using consistent terminology would improve clarity.
  • Missing information: The documentation mentions configuring TiProxy instances in a separate topology file (tiproxy.toml) but doesn't provide a complete example, especially regarding the deploy_dir. This could lead to confusion for users.

Merge Readiness

The pull request is almost ready for merging. Addressing the identified issues, particularly the inconsistent terminology and the missing information in the example topology file, would enhance the documentation's clarity and usability. I am unable to approve this pull request, and recommend that others review and approve this code before merging.

@djshow832 djshow832 added translation/from-docs-cn This PR is translated from a PR in pingcap/docs-cn. and removed missing-translation-status This PR does not have translation status info. labels Apr 18, 2025
@hfxsd hfxsd self-assigned this Apr 18, 2025
@hfxsd hfxsd self-requested a review April 18, 2025 08:36
@hfxsd
Copy link
Collaborator

hfxsd commented Apr 18, 2025

/bot-review

@hfxsd hfxsd added the needs-cherry-pick-release-8.5 Should cherry pick this PR to release-8.5 branch. label Apr 18, 2025
Copy link

✅ AI review completed, 10 comments generated.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@hfxsd hfxsd requested a review from Oreoxmt April 21, 2025 09:36
Copy link
Collaborator

@Oreoxmt Oreoxmt left a comment

Choose a reason for hiding this comment

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

Rest LGTM

@ti-chi-bot ti-chi-bot bot added the needs-1-more-lgtm Indicates a PR needs 1 more LGTM. label Apr 21, 2025
@ti-chi-bot ti-chi-bot bot added lgtm and removed needs-1-more-lgtm Indicates a PR needs 1 more LGTM. labels Apr 21, 2025
Copy link

ti-chi-bot bot commented Apr 21, 2025

[LGTM Timeline notifier]

Timeline:

  • 2025-04-21 09:57:03.390597174 +0000 UTC m=+263167.202387540: ☑️ agreed by Oreoxmt.
  • 2025-04-21 11:30:25.761038754 +0000 UTC m=+268769.572829133: ☑️ agreed by hfxsd.

@hfxsd
Copy link
Collaborator

hfxsd commented Apr 21, 2025

/approve

Copy link

ti-chi-bot bot commented Apr 21, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: hfxsd

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 21, 2025
@ti-chi-bot ti-chi-bot bot merged commit 5685cad into pingcap:master Apr 21, 2025
9 checks passed
@ti-chi-bot
Copy link
Member

In response to a cherrypick label: new pull request created to branch release-8.5: #20822.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved lgtm needs-cherry-pick-release-8.5 Should cherry pick this PR to release-8.5 branch. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. translation/from-docs-cn This PR is translated from a PR in pingcap/docs-cn.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants