HADOOP-15731. TestDistributedShell fails on Windows. Contributed by Botong Huang.

This commit is contained in:
Giovanni Matteo Fumarola 2018-09-07 14:19:10 -07:00
parent a9392bdb17
commit 37032a3aca
2 changed files with 12 additions and 4 deletions

View File

@ -715,7 +715,9 @@ public boolean run() throws IOException, YarnException {
// Set java executable command // Set java executable command
LOG.info("Setting up app master command"); LOG.info("Setting up app master command");
vargs.add(Environment.JAVA_HOME.$$() + "/bin/java"); // Need extra quote here because JAVA_HOME might contain space on Windows,
// e.g. C:/Program Files/Java...
vargs.add("\"" + Environment.JAVA_HOME.$$() + "/bin/java\"");
// Set Xmx based on am memory size // Set Xmx based on am memory size
vargs.add("-Xmx" + amMemory + "m"); vargs.add("-Xmx" + amMemory + "m");
// Set class name // Set class name

View File

@ -758,6 +758,12 @@ private boolean checkIPs(String hostname, String localIP, String appIP)
} }
private String getSleepCommand(int sec) {
// Windows doesn't have a sleep command, ping -n does the trick
return Shell.WINDOWS ? "ping -n " + (sec + 1) + " 127.0.0.1 >nul"
: "sleep " + sec;
}
@Test @Test
public void testDSRestartWithPreviousRunningContainers() throws Exception { public void testDSRestartWithPreviousRunningContainers() throws Exception {
String[] args = { String[] args = {
@ -766,7 +772,7 @@ public void testDSRestartWithPreviousRunningContainers() throws Exception {
"--num_containers", "--num_containers",
"1", "1",
"--shell_command", "--shell_command",
"sleep 8", getSleepCommand(8),
"--master_memory", "--master_memory",
"512", "512",
"--container_memory", "--container_memory",
@ -801,7 +807,7 @@ public void testDSAttemptFailuresValidityIntervalSucess() throws Exception {
"--num_containers", "--num_containers",
"1", "1",
"--shell_command", "--shell_command",
"sleep 8", getSleepCommand(8),
"--master_memory", "--master_memory",
"512", "512",
"--container_memory", "--container_memory",
@ -839,7 +845,7 @@ public void testDSAttemptFailuresValidityIntervalFailed() throws Exception {
"--num_containers", "--num_containers",
"1", "1",
"--shell_command", "--shell_command",
"sleep 8", getSleepCommand(8),
"--master_memory", "--master_memory",
"512", "512",
"--container_memory", "--container_memory",