linyiqun commented on a change in pull request #1430:
URL: https://github.com/apache/hadoop-ozone/pull/1430#discussion_r490045948
##########
File path:
hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
##########
@@ -994,6 +1005,45 @@ public static boolean omInit(OzoneConfiguration conf)
throws IOException,
}
}
+ public boolean applyAllPendingTransactions()
+ throws InterruptedException, IOException {
+
+ if (!isRatisEnabled) {
+ LOG.info("Ratis not enabled. Nothing to do.");
+ return true;
+ }
+
+ String purgeConfig = omRatisServer.getServer()
+ .getProperties().get(PURGE_UPTO_SNAPSHOT_INDEX_KEY);
+ if (!Boolean.parseBoolean(purgeConfig)) {
+ throw new IllegalStateException("Cannot prepare OM for Upgrade since " +
+ "raft.server.log.purge.upto.snapshot.index is not true");
+ }
+
+ waitForAllTxnsApplied(omRatisServer.getOmStateMachine(),
+ omRatisServer.getRaftGroup(),
+ (RaftServerProxy) omRatisServer.getServer(),
+ TimeUnit.MINUTES.toSeconds(5));
Review comment:
Can we make maxTimeToWaitSeconds configurable?
##########
File path:
hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
##########
@@ -1179,15 +1229,22 @@ public void start() throws IOException {
// Allow OM to start as Http Server failure is not fatal.
LOG.error("OM HttpServer failed to start.", ex);
}
- omRpcServer.start();
- isOmRpcServerRunning = true;
+ if (!prepareForUpgrade) {
+ omRpcServer.start();
+ isOmRpcServerRunning = true;
+ }
Review comment:
During prepareForUpgrade, the RPC server is not stared. So we should
also have the corresponding command to trigger to restart RPC server.
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]