[ 
https://issues.apache.org/jira/browse/YARN-6763?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16076381#comment-16076381
 ] 

Bibin A Chundatt edited comment on YARN-6763 at 7/7/17 6:02 PM:
----------------------------------------------------------------

{noformat}
root@bibinpc:/proc/1452# ps -ef | grep systemd
root       256     1  0 Jul04 ?        00:00:03 /lib/systemd/systemd-journald
root       289     1  0 Jul04 ?        00:00:00 /lib/systemd/systemd-udevd
root       942     1  0 Jul04 ?        00:00:00 /lib/systemd/systemd-logind
root       954     1  0 Jul04 ?        00:00:00 /sbin/cgmanager -m name=systemd
message+   963     1  0 Jul04 ?        00:04:10 /usr/bin/dbus-daemon --system 
--address=systemd: --nofork --nopidfile --systemd-activation
systemd+  1066     1  0 Jul04 ?        00:00:01 /lib/systemd/systemd-resolved
bibin     1452     1  0 Jul04 ?        00:00:00 /lib/systemd/systemd --user
bibin     1478  1452  0 Jul04 ?        00:00:57 /usr/bin/dbus-daemon --session 
--address=systemd: --nofork --nopidfile --systemd-activation
root      2450     1  0 Jul04 ?        00:00:00 /lib/systemd/systemd --user
root      2459 27405  0 16:51 pts/7    00:00:00 grep --color=auto systemd
root      2475  2450  0 Jul04 ?        00:00:00 /usr/bin/dbus-daemon --session 
--address=systemd: --nofork --nopidfile --systemd-activation
{noformat}
user is started with systemd user session *bibin* the process id is 1452.
So the daemon  *Orphan process*  parent is not *1* .
{noformat}
root@bibinpc:~# ps -ef | grep sleep
bibin     3342  1545  0 Jul05 ?        00:00:00 sleep infinity
root     25169  1452  0 14:03 ?        00:00:00 sleep 300
{noformat}

The orphan is not added to parent based on  *session ID* since the parent for 
daemon process is !=1
{code}
        if (!pID.equals("1")) {
          ProcessInfo pInfo = entry.getValue();
          String ppid = pInfo.getPpid();
          // If parent is init and process is not session leader,
          // attach to sessionID
          if (ppid.equals("1")) {
              String sid = pInfo.getSessionId().toString();
              if (!pID.equals(sid)) {
                 ppid = sid;
              }
          }
{code}



was (Author: bibinchundatt):
{noformat}
root@bibinpc:/proc/1452# ps -ef | grep systemd
root       256     1  0 Jul04 ?        00:00:03 /lib/systemd/systemd-journald
root       289     1  0 Jul04 ?        00:00:00 /lib/systemd/systemd-udevd
root       942     1  0 Jul04 ?        00:00:00 /lib/systemd/systemd-logind
root       954     1  0 Jul04 ?        00:00:00 /sbin/cgmanager -m name=systemd
message+   963     1  0 Jul04 ?        00:04:10 /usr/bin/dbus-daemon --system 
--address=systemd: --nofork --nopidfile --systemd-activation
systemd+  1066     1  0 Jul04 ?        00:00:01 /lib/systemd/systemd-resolved
bibin     1452     1  0 Jul04 ?        00:00:00 /lib/systemd/systemd --user
bibin     1478  1452  0 Jul04 ?        00:00:57 /usr/bin/dbus-daemon --session 
--address=systemd: --nofork --nopidfile --systemd-activation
root      2450     1  0 Jul04 ?        00:00:00 /lib/systemd/systemd --user
root      2459 27405  0 16:51 pts/7    00:00:00 grep --color=auto systemd
root      2475  2450  0 Jul04 ?        00:00:00 /usr/bin/dbus-daemon --session 
--address=systemd: --nofork --nopidfile --systemd-activation
{noformat}
*Orphan process*  parent is not *1*
{noformat}
root@bibinpc:~# ps -ef | grep sleep
bibin     3342  1545  0 Jul05 ?        00:00:00 sleep infinity
root     25169  1452  0 14:03 ?        00:00:00 sleep 300
{noformat}

The orphan is not added to parent based on  *session ID*
{code}
        if (!pID.equals("1")) {
          ProcessInfo pInfo = entry.getValue();
          String ppid = pInfo.getPpid();
          // If parent is init and process is not session leader,
          // attach to sessionID
          if (ppid.equals("1")) {
              String sid = pInfo.getSessionId().toString();
              if (!pID.equals(sid)) {
                 ppid = sid;
              }
          }
{code}


> TestProcfsBasedProcessTree#testProcessTree fails in trunk
> ---------------------------------------------------------
>
>                 Key: YARN-6763
>                 URL: https://issues.apache.org/jira/browse/YARN-6763
>             Project: Hadoop YARN
>          Issue Type: Test
>            Reporter: Bibin A Chundatt
>            Assignee: Nathan Roberts
>            Priority: Minor
>
> {code}
> Tests run: 5, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 7.949 sec <<< 
> FAILURE! - in org.apache.hadoop.yarn.util.TestProcfsBasedProcessTree
> testProcessTree(org.apache.hadoop.yarn.util.TestProcfsBasedProcessTree)  Time 
> elapsed: 7.119 sec  <<< FAILURE!
> java.lang.AssertionError: Child process owned by init escaped process tree.
>       at org.junit.Assert.fail(Assert.java:88)
>       at org.junit.Assert.assertTrue(Assert.java:41)
>       at 
> org.apache.hadoop.yarn.util.TestProcfsBasedProcessTree.testProcessTree(TestProcfsBasedProcessTree.java:184)
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to