Author: szetszwo
Date: Mon Mar 26 22:19:30 2012
New Revision: 1305633
URL: http://svn.apache.org/viewvc?rev=1305633&view=rev
Log:
svn merge -c 1305632 from trunk for HDFS-2413. Add an API
DistributedFileSystem.isInSafeMode() and change DistributedFileSystem to
@InterfaceAudience.LimitedPrivate.
Modified:
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/
(props changed)
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/
(props changed)
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DistributedFileSystem.java
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSAdmin.java
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestSafeMode.java
Propchange: hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/
------------------------------------------------------------------------------
Merged /hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs:r1305632
Modified:
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt?rev=1305633&r1=1305632&r2=1305633&view=diff
==============================================================================
---
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
(original)
+++
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
Mon Mar 26 22:19:30 2012
@@ -58,6 +58,10 @@ Release 0.23.3 - UNRELEASED
HDFS-2941. Add an administrative command to download a copy of the fsimage
from the NN. (atm)
+ HDFS-2413. Add an API DistributedFileSystem.isInSafeMode() and change
+ DistributedFileSystem to @InterfaceAudience.LimitedPrivate.
+ (harsh via szetszwo)
+
IMPROVEMENTS
HDFS-2018. Move all journal stream management code into one place.
Propchange:
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/
------------------------------------------------------------------------------
Merged
/hadoop/common/trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java:r1305632
Modified:
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DistributedFileSystem.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DistributedFileSystem.java?rev=1305633&r1=1305632&r2=1305633&view=diff
==============================================================================
---
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DistributedFileSystem.java
(original)
+++
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DistributedFileSystem.java
Mon Mar 26 22:19:30 2012
@@ -51,6 +51,7 @@ import org.apache.hadoop.hdfs.protocol.D
import org.apache.hadoop.hdfs.protocol.ExtendedBlock;
import org.apache.hadoop.hdfs.protocol.HdfsConstants;
import org.apache.hadoop.hdfs.protocol.HdfsConstants.DatanodeReportType;
+import org.apache.hadoop.hdfs.protocol.HdfsConstants.SafeModeAction;
import org.apache.hadoop.hdfs.protocol.HdfsConstants.UpgradeAction;
import org.apache.hadoop.hdfs.protocol.HdfsFileStatus;
import org.apache.hadoop.hdfs.protocol.HdfsLocatedFileStatus;
@@ -71,8 +72,8 @@ import org.apache.hadoop.util.Progressab
* DistributedFileSystem.
*
*****************************************************************/
[email protected]
[email protected]
[email protected]({ "MapReduce", "HBase" })
[email protected]
public class DistributedFileSystem extends FileSystem {
private Path workingDir;
private URI uri;
@@ -854,4 +855,14 @@ public class DistributedFileSystem exten
return super.getCanonicalServiceName();
}
}
+
+ /**
+ * Utility function that returns if the NameNode is in safemode or not.
+ *
+ * @return true if NameNode is in safemode, false otherwise.
+ * @throws IOException when there is an issue communicating with the NameNode
+ */
+ public boolean isInSafeMode() throws IOException {
+ return setSafeMode(SafeModeAction.SAFEMODE_GET);
+ }
}
Modified:
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSAdmin.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSAdmin.java?rev=1305633&r1=1305632&r2=1305633&view=diff
==============================================================================
---
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSAdmin.java
(original)
+++
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSAdmin.java
Mon Mar 26 22:19:30 2012
@@ -59,7 +59,7 @@ import org.apache.hadoop.util.StringUtil
import org.apache.hadoop.util.ToolRunner;
/**
- * This class provides some DFS administrative access.
+ * This class provides some DFS administrative access shell commands.
*/
@InterfaceAudience.Private
public class DFSAdmin extends FsShell {
@@ -396,7 +396,7 @@ public class DFSAdmin extends FsShell {
} catch (java.lang.InterruptedException e) {
throw new IOException("Wait Interrupted");
}
- inSafeMode = dfs.setSafeMode(action);
+ inSafeMode = dfs.isInSafeMode();
}
}
Modified:
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestSafeMode.java
URL:
http://svn.apache.org/viewvc/hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestSafeMode.java?rev=1305633&r1=1305632&r2=1305633&view=diff
==============================================================================
---
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestSafeMode.java
(original)
+++
hadoop/common/branches/branch-0.23/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestSafeMode.java
Mon Mar 26 22:19:30 2012
@@ -357,4 +357,19 @@ public class TestSafeMode {
assertEquals("", cluster.getNamesystem().getSafemode());
}
+ /*
+ * Tests some utility methods that surround the SafeMode's state.
+ * @throws IOException when there's an issue connecting to the test DFS.
+ */
+ public void testSafeModeUtils() throws IOException {
+ dfs = (DistributedFileSystem)cluster.getFileSystem();
+
+ // Enter safemode.
+ dfs.setSafeMode(SafeModeAction.SAFEMODE_ENTER);
+ assertTrue("State was expected to be in safemode.", dfs.isInSafeMode());
+
+ // Exit safemode.
+ dfs.setSafeMode(SafeModeAction.SAFEMODE_LEAVE);
+ assertFalse("State was expected to be out of safemode.",
dfs.isInSafeMode());
+ }
}