diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index 3d4b57fb4f6..51531e879eb 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -295,6 +295,9 @@ Release 0.23.3 - UNRELEASED HDFS-1765. Block Replication should respect under-replication block priority. (Uma Maheswara Rao G via eli) + HDFS-3093. Fix bug where namenode -format interpreted the -force flag in + reverse. (todd) + BREAKDOWN OF HDFS-1623 SUBTASKS HDFS-2179. Add fencing framework and mechanisms for NameNode HA. (todd) 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 d67984939d6..c53a374dcfd 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 @@ -207,7 +207,7 @@ public long getProtocolVersion(String protocol, /** Format a new filesystem. Destroys any filesystem that may already * exist at this location. **/ public static void format(Configuration conf) throws IOException { - format(conf, false); + format(conf, true); } static NameNodeMetrics metrics; @@ -644,12 +644,12 @@ public InetSocketAddress getHttpAddress() { * for each existing directory and format them. * * @param conf - * @param isConfirmationNeeded + * @param force * @return true if formatting was aborted, false otherwise * @throws IOException */ private static boolean format(Configuration conf, - boolean isConfirmationNeeded) + boolean force) throws IOException { String nsId = DFSUtil.getNamenodeNameServiceId(conf); String namenodeId = HAUtil.getNameNodeId(conf, nsId); @@ -659,7 +659,7 @@ private static boolean format(Configuration conf, Collection dirsToFormat = FSNamesystem.getNamespaceDirs(conf); List editDirsToFormat = FSNamesystem.getNamespaceEditsDirs(conf); - if (!confirmFormat(dirsToFormat, isConfirmationNeeded, true)) { + if (!confirmFormat(dirsToFormat, force, true)) { return true; // aborted } @@ -868,7 +868,7 @@ public static NameNode createNameNode(String argv[], Configuration conf) switch (startOpt) { case FORMAT: - boolean aborted = format(conf, true); + boolean aborted = format(conf, false); System.exit(aborted ? 1 : 0); return null; // avoid javac warning case GENCLUSTERID: