> >> Perhaps we could enhance the logic of the loop at Fetcher.java:
> >> 320. Currently this exits the fetcher when all threads exceed a
> >> timeout. Instead it could kill any thread that exceeds the
> >> timeout, and restart a new thread to replace it.  So instead of
> >> just keeping a count of fetcher threads, we could maintain a table
> >> of all running fetcher threads, each with a lastRequestStart time,
> >> rather than a global lastRequestStart. Then, in this loop, we can
> >> check to see if any thread has exceeded the maximum timeout, and,
> >> if it has, kill it and start a new thread.  When no urls remain,
> >> threads will exit and remove themselves from the set of threads,
> >> so the loop can exit as it does now, when there are no more
> >> running fetcher threads.  Does this make sense?  It would prevent
> >> all sorts thread hangs, not just in regexes.
> >
> > +1, sounds like a good solution to this.
>
> +1 a much better solution than my suggestion!

+1. Who take it?

Jérôme


--
http://motrech.free.fr/
http://www.frutch.org/

Reply via email to