Error when flushing after no computation done with ODAGs.
AlexJF opened this issue · 0 comments
AlexJF commented
Flush might fail when a partition has halted and, therefore, does not do any computation.
This results in compute
never being called in the halted partition but postComputations
and postSuperstep
will be called. Currently, the implementation of ODAGCommunicationStrategy does not check if aggregatedEmbeddingStash
was initialized and so, in this case, when flushing on postComputations
, and no computation was done we get a NullPointerException.
2015-10-18 13:11:11,214 ERROR [compute-0] org.apache.giraph.utils.LogStacktraceCallable: Execution of callable failed
java.lang.NullPointerException
at io.arabesque.computation.comm.ODAGCommunicationStrategy.flush(ODAGCommunicationStrategy.java:152)
at io.arabesque.computation.comm.ODAGCommunicationStrategy.finish(ODAGCommunicationStrategy.java:201)
at io.arabesque.computation.ExecutionEngine.postComputations(ExecutionEngine.java:95)