Because Task1 and 2 are executed in the same node, they could be done
via a simple invocation chaining. The transition from Task2 to Task3
will involve network communication. In the example, the output is only
one entry, so it will be kept in memory until the node A's Task3 picks
them up. If Task2 generates a lot of entries, each node will hold them
in memory and block the task execution on ctx.write() until the Task3
picks them up.
One potential problem is when Node A fails while running Task3. Because
the intermediary entries are loaded into memory and lost as soon as they
are consumed, there's no way to re-retrieve the intermediary output and
the entire task needs to be re-run. A user can simply split the task to
two parts to store the intermediary output in the cache.
* Non-Java language support - this should be out of scope for now, as it adds a layer of complexity we don't need. We will certainly add support for map/reduce over Hot Rod in future, perhaps using JSON/JavaScript, but not for now. :)
* Client/Server development: again, out of scope for now. See above. Once we have map/reduce over Hot Rod, client/server would be trivial.
Agreed. I didn't mean to implement in 5.0 unless there is good deal of
demand. :-)
More feed back appreciated in advanced, folks! :-)
--
Trustin Lee,
http://gleamynode.net/_______________________________________________
infinispan-dev mailing list
infinispan-dev@lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/infinispan-dev