-
Notifications
You must be signed in to change notification settings - Fork 5.8k
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
autoid_service,meta/autoid: distinguish retriable error from non-retriable error #39215
Conversation
[REVIEW NOTIFICATION] This pull request has been approved by:
To complete the pull request process, please ask the reviewers in the list to review by filling The full list of commands accepted by this bot can be found here. Reviewer can indicate their review by submitting an approval review. |
/run-build-arm64 comment=true |
download tidb binary(linux arm64) at http://fileserver.pingcap.net/download/builds/pingcap/test/tidb/37359bd6f6c0a63f7e428e6d249742f9e397cbc8/centos7/tidb-linux-arm64.tar.gz |
/run-build-arm64 comment=true |
download tidb binary(linux arm64) at http://fileserver.pingcap.net/download/builds/pingcap/test/tidb/8673f3adfa4af70716b740eb8fb66dc93ffd0742/centos7/tidb-linux-arm64.tar.gz |
/run-unit-test |
/run-build |
/run-mysql-test |
1 similar comment
/run-mysql-test |
/merge |
This pull request has been accepted and is ready to merge. Commit hash: 209f23c
|
/run-build |
/run-check_dev |
/merge |
/run-all-tests |
TiDB MergeCI notify🔴 Bad News! New failing [2] after this pr merged.
|
What problem does this PR solve?
Issue Number: close #39214
Problem Summary:
When we run sysbench test, and when we run lightning, and also when flashback table ...
The autoid service hang is observed.
What is changed and how it works?
This commit fixes two places:
When it's a 'not leader' error, the autoid service part return error directly, which become a 'rpc error' by the grpc implementation.
The client will retry on 'rpc error'.
But not all the cases are this kind of error. We should have add the Error field to the kvproto response strucdt field.
For those non-retryable errors, the error should throw to the caller to avoid forever retry.
This may also cause connection fail and forever retry.
Check List
Tests
Side effects
Documentation
Release note
Please refer to Release Notes Language Style Guide to write a quality release note.