Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.0.0-incubating
Description
When a function is executed without single hop, it is sent to a "coordinating" node. This node then creates tasks that are executed on other remote nodes and itself. If any of the remote nodes or the local node gets an exception, it will accumulate the exception and any results it has currently received. It then completes and sends those results back to the client.
There is a flag to waitOnException. We should set this to true if the function is non HA. This will have the coordinating node wait for all results before sending back to the client. The work is going to get executed on the remote nodes anyways, so why not wait for the results?
This will mirror a single-hop execution where a single node may fail. If it does, the client still receives results from the other nodes.