Revert HDFS-7808.
This commit is contained in:
parent
6af0d74a75
commit
bd4c99bece
@ -1235,9 +1235,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)
|
||||
|
||||
|
@ -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 @@ protected int runCmd(String[] argv) throws Exception {
|
||||
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);
|
||||
}
|
||||
|
||||
|
@ -146,6 +146,17 @@ private void assertOutputContains(String string) {
|
||||
}
|
||||
}
|
||||
|
||||
@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();
|
||||
@ -267,6 +278,15 @@ public void testFailoverWithFencerConfigured() throws Exception {
|
||||
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
|
||||
public void testFailoverWithFencerConfiguredAndForce() throws Exception {
|
||||
Mockito.doReturn(STANDBY_READY_RESULT).when(mockProtocol).getServiceStatus();
|
||||
|
@ -157,6 +157,9 @@ public void testFencer() throws Exception {
|
||||
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));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user