[ http://issues.apache.org/jira/browse/NUTCH-151?page=all ]

Sami Siren closed NUTCH-151.
----------------------------


> CommandRunner can hang after the main thread exec is finished and has 
> inefficient busy loop
> -------------------------------------------------------------------------------------------
>
>                 Key: NUTCH-151
>                 URL: http://issues.apache.org/jira/browse/NUTCH-151
>             Project: Nutch
>          Issue Type: Bug
>          Components: indexer
>    Affects Versions: 0.8
>         Environment: all
>            Reporter: Paul Baclace
>             Fix For: 0.8
>
>         Attachments: CommandRunner.060110.patch, CommandRunner.java, 
> CommandRunner.java.patch
>
>
> I encountered a case where the JVM of a Tasktracker child did not exit after 
> the main thread returned; a thread dump showed only the threads named STDOUT 
> and STDERR from CommandRunner as non-daemon threads, and both were doing a 
> read().
> CommandRunner usually works correctly when the subprocess is expected to be 
> finished before the timeout or when no timeout is used. By _usually_, I mean 
> in the absence of external thread interrupts.  The busy loop that waits for 
> the process to finish has a sleep that is skipped over by an exception; this 
> causes the waiting main thread to compete with the subprocess in a tight loop 
> and effectively reduces the available cpu by 50%.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to