mahout-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sean Owen <>
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

Nevertheless I'll try to reproduce this.

On Fri, Sep 24, 2010 at 1:50 AM, Stanley Ipkiss <> 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 {
>"Starting - analysis for pref size:" + prefs.length());
>      for (Preference realPref : prefs) {
>        ....
>      }
>"Stopping - analysis for pref size:" + prefs.length());
>      return null;
>    }
> --
> View this message in context:
> Sent from the Mahout User List mailing list archive at

View raw message