Another way would be to create a direct stream between the two that would accomplish what you suggest, if you elect to not use Trident which simplifies a lot of stuff, then you need to look for inspiration on the implementation of CoordinatedBolt <https://github.com/apache/storm/blob/b2a8a77c3b307137527c706d0cd7635a6afe25bf/storm-core/src/jvm/backtype/storm/coordination/CoordinatedBolt.java>. To be honest, it's actually not that complicated but the code would be much less elegant.
Hope this helps. On Fri, May 29, 2015 at 3:38 PM, Nathan Leung <[email protected]> wrote: > This is possible but if you need to do this on a per tuple basis I would > consider doing it in the spout ack method. If you are doing batches I would > consider using trident. > On May 29, 2015 8:28 AM, "Michail Toutoudakis" <[email protected]> wrote: > >> I would like to ask if it is possible two different bolts to subscribe to >> each other to specific streams. I would like to do this for sync purposes. >> >> For example suppose we have bolt1 that inistialized class one and runs in >> 4 instances. >> When each of bolt1 instance finishes its task it sents an ack to bolt2 >> When bolt2 receives number of acks equal to the number of bolt1 insances >> it then sents to all of bolt1 instances a tupple with message “RESET” >> so that all data in bolt1 instances are cleared and new data is >> generated. > >
