diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index 95ef1ded2a0..e1466388104 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -379,6 +379,8 @@ Branch-2 ( Unreleased changes ) HDFS-3190. Simple refactors in existing NN code to assist QuorumJournalManager extension. (todd) + HDFS-3276. initializeSharedEdits should have a -nonInteractive flag (todd) + OPTIMIZATIONS HDFS-2982. Startup performance suffers when there are many edit log diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNode.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNode.java index 1aae5873bc0..38c84151656 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNode.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNode.java @@ -894,7 +894,10 @@ public class NameNode { StartupOption.ROLLBACK.getName() + "] | [" + StartupOption.FINALIZE.getName() + "] | [" + StartupOption.IMPORT.getName() + "] | [" + - StartupOption.INITIALIZESHAREDEDITS.getName() + "] | [" + + StartupOption.INITIALIZESHAREDEDITS.getName() + + " [" + StartupOption.FORCE.getName() + "] [" + + StartupOption.NONINTERACTIVE.getName() + "]" + + "] | [" + StartupOption.BOOTSTRAPSTANDBY.getName() + "] | [" + StartupOption.RECOVER.getName() + " [ " + StartupOption.FORCE.getName() + " ] ]"); @@ -964,6 +967,16 @@ public class NameNode { return startOpt; } else if (StartupOption.INITIALIZESHAREDEDITS.getName().equalsIgnoreCase(cmd)) { startOpt = StartupOption.INITIALIZESHAREDEDITS; + for (i = i + 1 ; i < argsLen; i++) { + if (StartupOption.NONINTERACTIVE.getName().equals(args[i])) { + startOpt.setInteractiveFormat(false); + } else if (StartupOption.FORCE.getName().equals(args[i])) { + startOpt.setForceFormat(true); + } else { + LOG.fatal("Invalid argument: " + args[i]); + return null; + } + } return startOpt; } else if (StartupOption.RECOVER.getName().equalsIgnoreCase(cmd)) { if (startOpt != StartupOption.REGULAR) { @@ -1073,7 +1086,9 @@ public class NameNode { return null; // avoid warning } case INITIALIZESHAREDEDITS: { - boolean aborted = initializeSharedEdits(conf, false, true); + boolean aborted = initializeSharedEdits(conf, + startOpt.getForceFormat(), + startOpt.getInteractiveFormat()); terminate(aborted ? 1 : 0); return null; // avoid warning }