Skip to content
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

Fix META does not properly handle E_RETRY_EXHAUSTED error codes (#6022) #6023

Closed
wants to merge 1 commit into from

Conversation

Datebasesystem
Copy link

@Datebasesystem Datebasesystem commented Apr 3, 2025

What type of PR is this?

  • bug
  • feature
  • enhancement

What problem(s) does this PR solve?

During the process of balancing data, META will keep asking STORAGE LEADER whether catch up data is complete. When the amount of data is relatively large, the storage transfers data for a long time, which may time out and return an error code to the leader E_RETRY_EXHAUSTED. At this time, the leader does not ask the current storage (that is, raft leader) for the progress of caatch up again, but asks the next hosts in the raft group. So there is one more invalid request.

How do you solve it?

Here the meta is for E_RETRY_EXHAUSTED error code, and should be retried directly on the current raft leader, not other hosts.

Special notes for your reviewer, ex. impact of this fix, design document, etc:

Checklist:

Tests:

  • Unit test(positive and negative cases)
  • Function test
  • Performance test
  • N/A

Affects:

  • Documentation affected (Please add the label if documentation needs to be modified.)
  • Incompatibility (If it breaks the compatibility, please describe it and add the label.)
  • If it's needed to cherry-pick (If cherry-pick to some branches is required, please label the destination version(s).)
  • Performance impacted: Consumes more CPU/Memory

Release notes:

Please confirm whether to be reflected in release notes and how to describe:

ex. Fixed the bug .....

@CLAassistant
Copy link

CLAassistant commented Apr 3, 2025

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.


Datebasesystem seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

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