Revert HDFS-7808.
This commit is contained in:
parent
8104d52269
commit
35816c438d
|
@ -928,9 +928,6 @@ Release 2.7.0 - UNRELEASED
|
||||||
HDFS-6662. WebHDFS cannot open a file if its path contains "%".
|
HDFS-6662. WebHDFS cannot open a file if its path contains "%".
|
||||||
(Gerson Carlos via wheat9)
|
(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
|
HDFS-7788. Post-2.6 namenode may not start up with an image containing
|
||||||
inodes created with an old release. (Rushabh Shah via kihwal)
|
inodes created with an old release. (Rushabh Shah via kihwal)
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
package org.apache.hadoop.hdfs.tools;
|
package org.apache.hadoop.hdfs.tools;
|
||||||
|
|
||||||
import java.io.PrintStream;
|
import java.io.PrintStream;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
|
@ -97,6 +98,25 @@ public class DFSHAAdmin extends HAAdmin {
|
||||||
printUsage(errOut);
|
printUsage(errOut);
|
||||||
return -1;
|
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);
|
return super.runCmd(argv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -146,6 +146,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
|
@Test
|
||||||
public void testNamenodeResolution() throws Exception {
|
public void testNamenodeResolution() throws Exception {
|
||||||
Mockito.doReturn(STANDBY_READY_RESULT).when(mockProtocol).getServiceStatus();
|
Mockito.doReturn(STANDBY_READY_RESULT).when(mockProtocol).getServiceStatus();
|
||||||
|
@ -267,6 +278,15 @@ public class TestDFSHAAdmin {
|
||||||
assertEquals(0, runTool("-failover", "nn1", "nn2"));
|
assertEquals(0, runTool("-failover", "nn1", "nn2"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@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
|
@Test
|
||||||
public void testFailoverWithFencerConfiguredAndForce() throws Exception {
|
public void testFailoverWithFencerConfiguredAndForce() throws Exception {
|
||||||
Mockito.doReturn(STANDBY_READY_RESULT).when(mockProtocol).getServiceStatus();
|
Mockito.doReturn(STANDBY_READY_RESULT).when(mockProtocol).getServiceStatus();
|
||||||
|
|
|
@ -157,6 +157,9 @@ public class TestDFSHAAdminMiniCluster {
|
||||||
assertEquals(0, runTool("-failover", "nn1", "nn2"));
|
assertEquals(0, runTool("-failover", "nn1", "nn2"));
|
||||||
assertEquals(0, runTool("-failover", "nn2", "nn1"));
|
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
|
// Fencer has not run yet, since none of the above required fencing
|
||||||
assertEquals("", Files.toString(tmpFile, Charsets.UTF_8));
|
assertEquals("", Files.toString(tmpFile, Charsets.UTF_8));
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue