YARN-6510. Fix profs stat file warning caused by process names that includes parenthesis. (Wilfred Spiegelenburg via Haibo Chen)

This commit is contained in:
Haibo Chen 2017-04-26 11:43:27 -07:00
parent edd693833b
commit 4f3ca0396a
2 changed files with 5 additions and 5 deletions

View File

@ -58,7 +58,7 @@ public class ProcfsBasedProcessTree extends ResourceCalculatorProcessTree {
private static final String PROCFS = "/proc/"; private static final String PROCFS = "/proc/";
private static final Pattern PROCFS_STAT_FILE_FORMAT = Pattern.compile( private static final Pattern PROCFS_STAT_FILE_FORMAT = Pattern.compile(
"^([\\d-]+)\\s\\(([^)]+)\\)\\s[^\\s]\\s([\\d-]+)\\s([\\d-]+)\\s" + "^([\\d-]+)\\s\\((.*)\\)\\s[^\\s]\\s([\\d-]+)\\s([\\d-]+)\\s" +
"([\\d-]+)\\s([\\d-]+\\s){7}(\\d+)\\s(\\d+)\\s([\\d-]+\\s){7}(\\d+)\\s" + "([\\d-]+)\\s([\\d-]+\\s){7}(\\d+)\\s(\\d+)\\s([\\d-]+\\s){7}(\\d+)\\s" +
"(\\d+)(\\s[\\d-]+){15}"); "(\\d+)(\\s[\\d-]+){15}");

View File

@ -419,7 +419,7 @@ public class TestProcfsBasedProcessTree {
new ProcessStatInfo(new String[]{"200", "process two", "100", "100", new ProcessStatInfo(new String[]{"200", "process two", "100", "100",
"100", "200000", "200", "2000", "400"}); "100", "200000", "200", "2000", "400"});
procInfos[2] = procInfos[2] =
new ProcessStatInfo(new String[]{"300", "proc3", "200", "100", new ProcessStatInfo(new String[]{"300", "proc(3)", "200", "100",
"100", "300000", "300", "3000", "600"}); "100", "300000", "300", "3000", "600"});
procInfos[3] = procInfos[3] =
new ProcessStatInfo(new String[]{"400", "proc4", "1", "400", "400", new ProcessStatInfo(new String[]{"400", "proc4", "1", "400", "400",
@ -555,7 +555,7 @@ public class TestProcfsBasedProcessTree {
new ProcessStatInfo(new String[]{"200", "process two", "100", "100", new ProcessStatInfo(new String[]{"200", "process two", "100", "100",
"100", "200000", "200"}); "100", "200000", "200"});
procInfos[2] = procInfos[2] =
new ProcessStatInfo(new String[]{"300", "proc3", "1", "300", "300", new ProcessStatInfo(new String[]{"300", "proc(3)", "1", "300", "300",
"300000", "300"}); "300000", "300"});
procInfos[3] = procInfos[3] =
new ProcessStatInfo(new String[]{"400", "proc4", "100", "100", new ProcessStatInfo(new String[]{"400", "proc4", "100", "100",
@ -748,7 +748,7 @@ public class TestProcfsBasedProcessTree {
new ProcessStatInfo(new String[]{"200", "process two", "100", "100", new ProcessStatInfo(new String[]{"200", "process two", "100", "100",
"100", "200000", "200", "2000", "400"}); "100", "200000", "200", "2000", "400"});
procInfos[2] = procInfos[2] =
new ProcessStatInfo(new String[]{"300", "proc3", "200", "100", new ProcessStatInfo(new String[]{"300", "proc(3)", "200", "100",
"100", "300000", "300", "3000", "600"}); "100", "300000", "300", "3000", "600"});
procInfos[3] = procInfos[3] =
new ProcessStatInfo(new String[]{"400", "proc4", "200", "100", new ProcessStatInfo(new String[]{"400", "proc4", "200", "100",
@ -771,7 +771,7 @@ public class TestProcfsBasedProcessTree {
String[] cmdLines = new String[numProcesses]; String[] cmdLines = new String[numProcesses];
cmdLines[0] = "proc1 arg1 arg2"; cmdLines[0] = "proc1 arg1 arg2";
cmdLines[1] = "process two arg3 arg4"; cmdLines[1] = "process two arg3 arg4";
cmdLines[2] = "proc3 arg5 arg6"; cmdLines[2] = "proc(3) arg5 arg6";
cmdLines[3] = "proc4 arg7 arg8"; cmdLines[3] = "proc4 arg7 arg8";
cmdLines[4] = "proc5 arg9 arg10"; cmdLines[4] = "proc5 arg9 arg10";
cmdLines[5] = "proc6 arg11 arg12"; cmdLines[5] = "proc6 arg11 arg12";