zhuzilong2013 commented on code in PR #6518:
URL: https://github.com/apache/hadoop/pull/6518#discussion_r1519420043
##########
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java:
##########
@@ -1582,6 +1582,10 @@ void startStandbyServices(final Configuration conf,
boolean isObserver)
standbyCheckpointer = new StandbyCheckpointer(conf, this);
standbyCheckpointer.start();
}
+ if (isNoManualAndResourceLowSafeMode()) {
+ LOG.info("Standby should not enter safe mode when resources are low,
exiting safe mode.");
+ leaveSafeMode(false);
Review Comment:
Consider the following scenario:
Initially, nn-1 is active and nn-2 is standby. The insufficient resources of
both nn-1 and nn-2 in dfs.namenode.name.dir, the NameNodeResourceMonitor
detects the resource issue and puts nn01 into safemode.
At this point, nn-1 is in safemode (ON) and active, while nn-2 is in
safemode (OFF) and standby.
After a period of time, the resources in nn-2's dfs.namenode.name.dir
recover, triggering failover.
Now, nn-1 is in safe mode (ON) and standby, while nn-2 is in safe mode (OFF)
and active.
Afterward, the resources in nn-1's dfs.namenode.name.dir recover.
However, since nn-1 is standby but in safemode (ON), it unable to exit safe
mode automatically.
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]