Umeshkumar9414 commented on code in PR #5816:
URL: https://github.com/apache/hbase/pull/5816#discussion_r1561513882
##########
hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/ServerRemoteProcedure.java:
##########
@@ -137,6 +140,10 @@ synchronized void remoteOperationDone(MasterProcedureEnv
env, Throwable error) {
getProcId());
return;
}
+ //below persistence is added so that if report goes to last active master,
it throws exception
+ state =
MasterProcedureProtos.ServerRemoteProcedureState.SERVER_REMOTE_PROCEDURE_REPORT_SUCCEED;
+
env.getMasterServices().getMasterProcedureExecutor().getStore().update(this);
+
complete(env, error);
Review Comment:
If I have to call the `complete` method in `execute` methods, I have to
store the Error as `complete` methods are using that to take the decision.
Another solution can be I play with the state. According to the error in
`remoteOperationDone` method, I can change the state and then take all the
decisions in `complete` method based on the state. But I don't think this would
be possible without introducing some state specific to some parent procedure
like SnapshotVerifyProcedure.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]