nathanmarz/storm — Issue #117: Tuples are not anchored properly in DRPC topologies
Author: nathanmarz
Created: 2012-01-28 23:58:00+00:00
State: open
Labels: Bug

In Storm 0.7.0, only the coordination tuples are anchored in order to optimize the size of the tuple trees for each batch of tuples. In DRPC, the JoinResults bolt subscribes directly to a CoordinatedBolt so doesn't receive those coordination tuples. CoordinatedBolt should be enhanced to automatically anchor tuples emitted in finishedId to a CoordinatedBolt tuple. A side effect of this is that The IRichBolt setter in LinearDRPCTopologyBuilder should be removed, as when dealing with batches of tuples users should never do anchoring or acking manually.

Although this is a bug, nothing bad actually happens because of the bug. Transactional topologies never hit this case, and DRPC topologies will just timeout if it fails (accidentally acking early has no effect since the DRPC server is waiting for a result which can only happen on success).