]
Vladimir Blagojevic commented on ISPN-4453:
-------------------------------------------
Proposed solution captured in
MapReduceTask#executeAsynchronously() isn't asynchronous
--------------------------------------------------------
Key: ISPN-4453
URL:
https://issues.jboss.org/browse/ISPN-4453
Project: Infinispan
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 6.0.2.Final
Reporter: Rich DiCroce
Assignee: Vladimir Blagojevic
Quote from the linked forum thread:
{quote}
MapReduceTask#executeAsynchronously() doesn't actually do anything asynchronously. It
just returns a MapReduceTaskFuture containing a Callable that calls execute(). The only
place I see that Callable being called is in MapReduceTaskFuture#get().
In other words, the task isn't actually started until you call Future#get(), which
isn't asynchronous at all! On top of that, MapReduceTaskFuture extends
AbstractInProcessFuture, which "implements" the get(long, TimeUnit) method by
just calling get(). Which means that MapReduceTaskFuture doesn't respect the timeout
parameters and will just run until it completes.
{quote}