-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Distributed Transaction: Action on commit prepared or redo prepared failure #16803
Distributed Transaction: Action on commit prepared or redo prepared failure #16803
Conversation
Review ChecklistHello reviewers! 👋 Please follow this checklist when reviewing this Pull Request. General
Tests
Documentation
New flags
If a workflow is added or modified:
Backward compatibility
|
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #16803 +/- ##
==========================================
- Coverage 69.52% 69.51% -0.01%
==========================================
Files 1568 1569 +1
Lines 202442 202555 +113
==========================================
+ Hits 140741 140815 +74
- Misses 61701 61740 +39 ☔ View full report in Codecov by Sentry. |
…store the error message Signed-off-by: Harshit Gangal <[email protected]>
Signed-off-by: Harshit Gangal <[email protected]>
Signed-off-by: Harshit Gangal <[email protected]>
Signed-off-by: Harshit Gangal <[email protected]>
Signed-off-by: Harshit Gangal <[email protected]>
Signed-off-by: Harshit Gangal <[email protected]>
e1ed8ad
to
0d2b8ee
Compare
b657d84
to
fcf3774
Compare
for _, preparedTx := range prepared { | ||
var conn *StatefulConnection | ||
|
||
txID, _ := dtids.TransactionID(preparedTx.Dtid) |
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.
After talking it over with H - maybe we could solve this by extracting the inside of the loop into a method, and using a defer in that method to check errors
Signed-off-by: Harshit Gangal <[email protected]>
Signed-off-by: Harshit Gangal <[email protected]>
fcf3774
to
83413ec
Compare
Signed-off-by: Harshit Gangal <[email protected]>
Signed-off-by: Harshit Gangal <[email protected]>
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
Signed-off-by: Harshit Gangal <[email protected]>
Description
This PR make changes to transaction recovery log state in resource managers.
On a commit prepared failure it checks if the error is retryable or not.
For a non-retryable error, the state is update to
FAILED
, error metric is updated and then they are are not prepared later.Same check happens on redo of prepared logs on a failure.
Once, the state is updated to
Failed
, a user intervention is needed to evaluate the root cause of the issue.This is a highly unlikely scenario and could have happened due to a bug in the system.
Related Issue(s)
Checklist