mahout-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sean Owen <sro...@gmail.com>
Subject Re: Possible multi thread issue in AbstractDifferenceRecommenderEvaluator
Date Fri, 24 Sep 2010 06:15:08 GMT
The logic seems OK to me. invokeAll() kicks off all the Callables. It
waits for all to finish on account of the calls to get(), which block
until a result is ready. I think the isDone() call is redundant indeed
but shouldn't hurt -- get() isn't called in the case that it's already
done.

Nevertheless I'll try to reproduce this.

On Fri, Sep 24, 2010 at 1:50 AM, Stanley Ipkiss <saurabhnangia@gmail.com> wrote:
>
> For the class PreferenceEstimateCallable, the parent thread does not wait for
> all the child threads of this class to complete. On just adding a few simple
> log statements around the call() function (shown below), I have observed
> that there were a lot more "Starting" (622 in number) as compared to
> "Stopping" (1 in number) in my logfile. I ran it multiple times and
> everytime I got some difference in the total number of logged start and
> stop. I will try to fix this issue in my checked out code, but just wanted
> to know if anyone else has noted this?
>
>   public Void call() throws TasteException {
>      log.info("Starting - analysis for pref size:" + prefs.length());
>      for (Preference realPref : prefs) {
>        ....
>      }
>      log.info("Stopping - analysis for pref size:" + prefs.length());
>      return null;
>    }
>
> --
> View this message in context: http://lucene.472066.n3.nabble.com/Possible-multi-thread-issue-in-AbstractDifferenceRecommenderEvaluator-tp1571411p1571411.html
> Sent from the Mahout User List mailing list archive at Nabble.com.
>

Mime
View raw message