This is an automated email from the ASF dual-hosted git repository. hexiaoqiao pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/trunk by this push: new 37f9ccdc868c HDFS-17368. HA: Standby should exit safemode when resources are available. (#6518). Contributed by Zilong Zhu. 37f9ccdc868c is described below commit 37f9ccdc868c28d03d59881b7fe3c5d3abbb5f6e Author: Zilong Zhu <zhuzilong2...@gmail.com> AuthorDate: Tue Mar 26 17:35:55 2024 +0800 HDFS-17368. HA: Standby should exit safemode when resources are available. (#6518). Contributed by Zilong Zhu. Signed-off-by: He Xiaoqiao <hexiaoq...@apache.org> --- .../org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java | 11 +++++++---- .../apache/hadoop/hdfs/server/namenode/ha/TestHASafeMode.java | 7 +++++++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java index 075398f000ec..542cc370465e 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java @@ -1578,6 +1578,10 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean, 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); + } } /** @@ -5253,10 +5257,9 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean, String cmd = "Use \"hdfs dfsadmin -safemode leave\" to turn safe mode off."; synchronized (this) { if (resourceLowSafeMode) { - return "Resources are low on NN. Please add or free up more resources" - + "then turn off safe mode manually. NOTE: If you turn off safe " - + "mode before adding resources, the NN will immediately return to " - + "safe mode. " + cmd; + return "Resources are low on NN. Please add or free up more resources. " + + "NOTE: If you turn off safe mode before adding resources, the " + + "NN will immediately return to safe mode. "; } else if (manualSafeMode) { return "It was turned on manually. " + cmd; } diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestHASafeMode.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestHASafeMode.java index 4766c4cecc9b..0ac9eae7f540 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestHASafeMode.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/TestHASafeMode.java @@ -999,4 +999,11 @@ public class TestHASafeMode { () -> miniCluster.transitionToObserver(0)); } } + + @Test + public void testTransitionToStandbyWhenSafeModeWithResourcesLow() throws Exception { + NameNodeAdapter.enterSafeMode(nn0, true); + cluster.transitionToStandby(0); + assertFalse("SNN should not enter safe mode when resources low", nn0.isInSafeMode()); + } } --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org