Uploaded image for project: 'Hadoop Map/Reduce'
  1. Hadoop Map/Reduce
  2. MAPREDUCE-390

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

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • None
    • None
    • None
    • None

    Description

      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?

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              ddas Devaraj Das
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: