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 ca3adf588c
commit 16333782c1
2 changed files with 12 additions and 4 deletions

View File

@ -854,7 +854,9 @@ public boolean run() throws IOException, YarnException {
// Set java executable 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
vargs.add("-Xmx" + amMemory + "m");
// Set class name

View File

@ -776,6 +776,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
public void testDSRestartWithPreviousRunningContainers() throws Exception {
String[] args = {
@ -784,7 +790,7 @@ public void testDSRestartWithPreviousRunningContainers() throws Exception {
"--num_containers",
"1",
"--shell_command",
"sleep 8",
getSleepCommand(8),
"--master_memory",
"512",
"--container_memory",
@ -819,7 +825,7 @@ public void testDSAttemptFailuresValidityIntervalSucess() throws Exception {
"--num_containers",
"1",
"--shell_command",
"sleep 8",
getSleepCommand(8),
"--master_memory",
"512",
"--container_memory",
@ -857,7 +863,7 @@ public void testDSAttemptFailuresValidityIntervalFailed() throws Exception {
"--num_containers",
"1",
"--shell_command",
"sleep 8",
getSleepCommand(8),
"--master_memory",
"512",
"--container_memory",