Hi, We have been using topologies with 2 spouts and 3 bolts for quite some time. Our topologies have been running fine without much issues.
In these topologies, the bolts used to store partial states in some temporary files till the tuples are completely processed. When the spout receives an acknowledgement, it used to make the partial state available for the remaining system by renaming the partially processed files, generated by the bolts, to a new extension. We used to do this in the ack() of the spout. I would like to know whether we can use storm Hooks to perform the renaming process. http://storm.apache.org/documentation/Hooks.html I am planning to create a Hook in each bolt that listens for acknowledgements from spout and use the Hook to rename the partial files to new state. This way I will delegate the processing of every partial file to the corresponding bolt and make spout focus only on clearing the input stream. - Are Hooks the right place to process acknowledgement and failures at each bolt level? - Will there be any performance impact if we use Hooks for processing acknowledgement and failure of tuples? Thanks, Richards Peter.
