You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by wh...@apache.org on 2015/04/09 01:00:14 UTC
hadoop git commit: Revert HDFS-7808.
Repository: hadoop
Updated Branches:
refs/heads/branch-2 8104d5226 -> 35816c438
Revert HDFS-7808.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/35816c43
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/35816c43
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/35816c43
Branch: refs/heads/branch-2
Commit: 35816c438da2685b2298cd73b26b716d185bcbe4
Parents: 8104d52
Author: Haohui Mai <wh...@apache.org>
Authored: Wed Apr 8 15:59:55 2015 -0700
Committer: Haohui Mai <wh...@apache.org>
Committed: Wed Apr 8 16:00:10 2015 -0700
----------------------------------------------------------------------
hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 ---
.../apache/hadoop/hdfs/tools/DFSHAAdmin.java | 20 ++++++++++++++++++++
.../hadoop/hdfs/tools/TestDFSHAAdmin.java | 20 ++++++++++++++++++++
.../hdfs/tools/TestDFSHAAdminMiniCluster.java | 3 +++
4 files changed, 43 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/35816c43/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
index 32957a5..4612a1d 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
+++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
@@ -928,9 +928,6 @@ Release 2.7.0 - UNRELEASED
HDFS-6662. WebHDFS cannot open a file if its path contains "%".
(Gerson Carlos via wheat9)
- HDFS-7808. Remove obsolete -ns options in in DFSHAAdmin.java.
- (Arshad Mohammad via wheat9)
-
HDFS-7788. Post-2.6 namenode may not start up with an image containing
inodes created with an old release. (Rushabh Shah via kihwal)
http://git-wip-us.apache.org/repos/asf/hadoop/blob/35816c43/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSHAAdmin.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSHAAdmin.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSHAAdmin.java
index 6b6fb30..e9c611d 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSHAAdmin.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/DFSHAAdmin.java
@@ -18,6 +18,7 @@
package org.apache.hadoop.hdfs.tools;
import java.io.PrintStream;
+import java.util.Arrays;
import java.util.Collection;
import org.apache.commons.logging.Log;
@@ -97,6 +98,25 @@ public class DFSHAAdmin extends HAAdmin {
printUsage(errOut);
return -1;
}
+
+ int i = 0;
+ String cmd = argv[i++];
+
+ if ("-ns".equals(cmd)) {
+ if (i == argv.length) {
+ errOut.println("Missing nameservice ID");
+ printUsage(errOut);
+ return -1;
+ }
+ nameserviceId = argv[i++];
+ if (i >= argv.length) {
+ errOut.println("Missing command");
+ printUsage(errOut);
+ return -1;
+ }
+ argv = Arrays.copyOfRange(argv, i, argv.length);
+ }
+
return super.runCmd(argv);
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/35816c43/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/TestDFSHAAdmin.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/TestDFSHAAdmin.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/TestDFSHAAdmin.java
index 8ecc71a..33da4d4 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/TestDFSHAAdmin.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/TestDFSHAAdmin.java
@@ -147,6 +147,17 @@ public class TestDFSHAAdmin {
}
@Test
+ public void testNameserviceOption() throws Exception {
+ assertEquals(-1, runTool("-ns"));
+ assertOutputContains("Missing nameservice ID");
+ assertEquals(-1, runTool("-ns", "ns1"));
+ assertOutputContains("Missing command");
+ // "ns1" isn't defined but we check this lazily and help doesn't use the ns
+ assertEquals(0, runTool("-ns", "ns1", "-help", "transitionToActive"));
+ assertOutputContains("Transitions the service into Active");
+ }
+
+ @Test
public void testNamenodeResolution() throws Exception {
Mockito.doReturn(STANDBY_READY_RESULT).when(mockProtocol).getServiceStatus();
assertEquals(0, runTool("-getServiceState", "nn1"));
@@ -268,6 +279,15 @@ public class TestDFSHAAdmin {
}
@Test
+ public void testFailoverWithFencerAndNameservice() throws Exception {
+ Mockito.doReturn(STANDBY_READY_RESULT).when(mockProtocol).getServiceStatus();
+ HdfsConfiguration conf = getHAConf();
+ conf.set(DFSConfigKeys.DFS_HA_FENCE_METHODS_KEY, getFencerTrueCommand());
+ tool.setConf(conf);
+ assertEquals(0, runTool("-ns", "ns1", "-failover", "nn1", "nn2"));
+ }
+
+ @Test
public void testFailoverWithFencerConfiguredAndForce() throws Exception {
Mockito.doReturn(STANDBY_READY_RESULT).when(mockProtocol).getServiceStatus();
HdfsConfiguration conf = getHAConf();
http://git-wip-us.apache.org/repos/asf/hadoop/blob/35816c43/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/TestDFSHAAdminMiniCluster.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/TestDFSHAAdminMiniCluster.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/TestDFSHAAdminMiniCluster.java
index 9047279..2910004 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/TestDFSHAAdminMiniCluster.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/tools/TestDFSHAAdminMiniCluster.java
@@ -157,6 +157,9 @@ public class TestDFSHAAdminMiniCluster {
assertEquals(0, runTool("-failover", "nn1", "nn2"));
assertEquals(0, runTool("-failover", "nn2", "nn1"));
+ // Test failover with fencer and nameservice
+ assertEquals(0, runTool("-ns", "minidfs-ns", "-failover", "nn2", "nn1"));
+
// Fencer has not run yet, since none of the above required fencing
assertEquals("", Files.toString(tmpFile, Charsets.UTF_8));