[infinispan-dev] Distributed execution framework API - final review

Vladimir Blagojevic vblagoje at redhat.com
Fri Jan 14 10:47:54 EST 2011


Hi,

Manik and I agreed on final look of distributed execution framework 
API[1]. We removed DistributedTask used for migrating 
DistributedCallable to execution nodes and replaced it with 
DistributedExecutorService which follows ideas of a familiar 
ExecutorService from util.concurrent.

MapReduce is still a beast of its own that can not fit into 
ExecutorService paradigm but I think we nailed it with a simple and easy 
to use API. See in particular examples provided.


The last item Manik and I disagree on is use of DistributedTaskContext. 
DistributedTaskContext is given to each DistributedCallable once it has 
migrated to remote node for execution. DistributedTaskContext might 
evolve and I'd rather keep it in the framework while Manik wants to have 
a simple setter on DistributedCallable:

setEnvironment(Cache, K...)

I think of it as an insurance policy in case we need to bootstrap 
DistributedCallable with more parameters rather than only Cache and 
input keys K.

Lets hear your thoughts and comments.

Regards,
Vladimir


[1] 
https://github.com/vblagoje/infinispan/tree/76bcf603946955bfac58ab4f22995bbb19ed8509/core/src/main/java/org/infinispan/distexec 



More information about the infinispan-dev mailing list