HDFS-3093. Fix bug where namenode -format interpreted the -force flag in reverse. Contributed by Todd Lipcon.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1300814 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Todd Lipcon 2012-03-15 05:36:03 +00:00
parent 7609243e58
commit 59eb544744
2 changed files with 8 additions and 5 deletions

View File

@ -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)

View File

@ -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<URI> dirsToFormat = FSNamesystem.getNamespaceDirs(conf);
List<URI> 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: