Corner case exists in detecting Java process deaths that might lead to orphan 
pipes processes lying around in memory
--------------------------------------------------------------------------------------------------------------------

                 Key: HADOOP-2719
                 URL: https://issues.apache.org/jira/browse/HADOOP-2719
             Project: Hadoop Core
          Issue Type: Bug
          Components: pipes
    Affects Versions: 0.16.0
            Reporter: Devaraj Das
            Priority: Minor
             Fix For: 0.17.0


In HADOOP-2092, the child pipes process periodically pings the parent Java 
process to find out whether it is alive. The ping cycle is 5 seconds. Consider 
the following scenario:
1) The Java task dies at the beginning of the ping cycle
2) A new Java task starts and binds to the same port as the earlier Java task's 
port
3) The pipes process wakes up and does a ping - it will still be successful 
since the port number hasn't changed
This will lead to orphan processes lying around in memory. The detection of 
parent process deaths can be made more reliable at least on Unix'ish platforms 
by checking whether the parent process ID is 1, and if so exit. This will take 
care of the most common platform that hadoop is run on. For non-unix platforms, 
the existing ping mechanism can be retained. Thoughts?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to