[ http://issues.apache.org/jira/browse/NUTCH-151?page=all ]
Jerome Charron resolved NUTCH-151:
----------------------------------
Resolution: Fixed
Changes committed : http://svn.apache.org/viewcvs.cgi?rev=368060&view=rev
Thanks Paul.
> 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
> Type: Bug
> Components: indexer
> Versions: 0.8-dev
> Environment: all
> Reporter: Paul Baclace
> Fix For: 0.8-dev
> 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