-
Notifications
You must be signed in to change notification settings - Fork 5.9k
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
Associate each region with an independent backoffer (#17568) #17584
Associate each region with an independent backoffer (#17568) #17584
Conversation
Signed-off-by: sre-bot <[email protected]>
/run-all-tests |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
/run-all-tests |
@sre-bot merge failed. |
/merge |
/run-all-tests |
@sre-bot merge failed. |
/run-all-tests |
/merge |
/run-all-tests |
/merge |
Your auto merge job has been accepted, waiting for:
|
@sre-bot merge failed. |
/run-all-tests |
cherry-pick #17568 to release-3.1
Signed-off-by: Xintao [email protected]
What problem does this PR solve?
Issue Number: close tikv/tikv#7853
Problem Summary:
The backoffer of the boRegionMiss has a backoff mechanism with a starting time of 2ms and a maximum of 500ms. After log verification, a SQL command will share the same backoffer, that is, if multiple regions return epoch not match error, then the backoffer will quickly rise to 500ms. It is easy to exceed the preset time limit of 40s, causing SQL errors on the client.
What is changed and how it works?
What's Changed: Add a function to get Backoffer
How it Works: Use a Map to store backoffer with specific region id
Related changes
Check List
Tests
Before this PR, the SQL usually returns
region is unavailable
Side effects
No
Release note
Backoffer
for each region to avoid the SQL command timeout issue when multiple region requests fail at the same time