-
Notifications
You must be signed in to change notification settings - Fork 8.7k
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
optimize: acquire lock return fail-fast code in redis-pipeline mode. #4277
optimize: acquire lock return fail-fast code in redis-pipeline mode. #4277
Conversation
Codecov Report
@@ Coverage Diff @@
## develop #4277 +/- ##
=============================================
+ Coverage 48.55% 48.79% +0.23%
- Complexity 3791 3799 +8
=============================================
Files 724 724
Lines 24236 24211 -25
Branches 2970 2967 -3
=============================================
+ Hits 11768 11813 +45
+ Misses 11229 11158 -71
- Partials 1239 1240 +1
|
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 补充下1.5.0.md
按标题的意思这个pr应该是个optimize |
是的,原则上是pr3733的一个优化,因为pr3733并没有打包release版本,还处于develop分支。 |
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
Ⅰ. Describe what this PR did
When the local transaction and the global transaction are enabled, the branch registration fails to acquire the global lock, the lock holder is in the second-stage rollback, and the branch registration fails to be retried quickly, because the retry with the local transaction does not release the database lock , resulting in a two-phase rollback wait. Therefore, if a global lock is found in the Rollbacking state, the fail-fast code is returned directly.
Ⅱ. Does this pull request fix one issue?
#4267
Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews