YARN-485. TestProcfsProcessTree#testProcessTree() doesn't wait long enough for the process to die. (kkambatl via tucu)
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1457938 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
1036f637cc
commit
d311bf9c24
|
@ -52,6 +52,9 @@ Release 2.0.5-beta - UNRELEASED
|
|||
YARN-196. Nodemanager should be more robust in handling connection failure
|
||||
to ResourceManager when a cluster is started (Xuan Gong via hitesh)
|
||||
|
||||
YARN-485. TestProcfsProcessTree#testProcessTree() doesn't wait long enough
|
||||
for the process to die. (kkambatl via tucu)
|
||||
|
||||
Release 2.0.4-alpha - UNRELEASED
|
||||
|
||||
INCOMPATIBLE CHANGES
|
||||
|
|
|
@ -18,6 +18,8 @@
|
|||
|
||||
package org.apache.hadoop.yarn.util;
|
||||
|
||||
import static org.junit.Assert.fail;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.File;
|
||||
|
@ -183,11 +185,20 @@ public class TestProcfsBasedProcessTree {
|
|||
// destroy the process and all its subprocesses
|
||||
destroyProcessTree(pid);
|
||||
|
||||
if (isSetsidAvailable()) { // whole processtree should be gone
|
||||
Assert.assertFalse("Proceesses in process group live",
|
||||
isAnyProcessInTreeAlive(p));
|
||||
} else {// process should be gone
|
||||
Assert.assertFalse("ProcessTree must have been gone", isAlive(pid));
|
||||
boolean isAlive = true;
|
||||
for (int tries = 100; tries > 0; tries--) {
|
||||
if (isSetsidAvailable()) {// whole processtree
|
||||
isAlive = isAnyProcessInTreeAlive(p);
|
||||
} else {// process
|
||||
isAlive = isAlive(pid);
|
||||
}
|
||||
if (!isAlive) {
|
||||
break;
|
||||
}
|
||||
Thread.sleep(100);
|
||||
}
|
||||
if (isAlive) {
|
||||
fail("ProcessTree shouldn't be alive");
|
||||
}
|
||||
|
||||
LOG.info("Process-tree dump follows: \n" + processTreeDump);
|
||||
|
|
Loading…
Reference in New Issue