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
HDDS-1603. Handle Ratis Append Failure in Container State Machine. Contributed by Supratim Deka #1019
Conversation
💔 -1 overall
This message was automatically generated. |
…ntributed by Supratim Deka
💔 -1 overall
This message was automatically generated. |
💔 -1 overall
This message was automatically generated. |
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.
The patch looks good to me.
@@ -545,18 +545,28 @@ private void handlePipelineFailure(RaftGroupId groupId, | |||
+ roleInfoProto.getRole()); | |||
} | |||
|
|||
triggerPipelineClose(groupId, msg, |
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.
Lets have 2 Reasons, a) candidate failed, b) leader failed
try { | ||
pipelineManager.getPipeline(openPipeline.getId()); | ||
} catch (PipelineNotFoundException e) { | ||
Assert.assertTrue("pipeline should exist", false); |
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.
In Junit, the test will exit if an uncaught exception is thrown, so this might not be needed.
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.
+1, will hold off submitting since @mukul1987 has couple of questions.
+1, from me as well. Lets create followup jira for the review comments. |
💔 -1 overall
This message was automatically generated. |
…ntributed by Supratim Deka (apache#1019)
* Adding parameterized tests for legacy-offset file * Adding test for checking precedence between offset files
…ntributed by Supratim Deka (apache#1019)
https://issues.apache.org/jira/browse/HDDS-1603
The scope of this jira is to build on https://issues.apache.org/jira/browse/RATIS-573
and define the handling for Ratis log append failure in Ozone Container State Machine.
Ratis-573 is not available in trunk. So this patch starts with an entry point in XceiverServerRatis which will be hooked up to notifyLogFailed() callback defined in StateMachine as part of RATIS-573.
Notify Ratis volume unhealthy to the Datanode is not implemented in this patch