Hello all, I have been recently doing some experiments in Storm and I came across an interesting relation between tick tuples and the behavior of the LoggingMetricsConsumer class.
In more detail, my topology consists of two spouts (A and B) sending data to a Bolt (Dispacher), and in turn, the bolt sends its output to two other Bolts (Consumer-A and Consumer-B). In addition, I have to inform you that every component in my topology emits metrics tuples every 1 second. In one of the first versions of my experiment, I had a tick tuple sent to the Dispatcher bolt every 1 second. After a number of revisions, I figured out I did not need the tick-tuple mechanism anymore, so I removed it. I kept doing a lot of updates in my code and I ended with the LoggingMetricsConsumer acting differently than it used to. It did not receive (consume) metrics tuples from the beginning of the execution, but, the metrics started being received after ~20 seconds. In order to figure out the reason that strange behavior, I located the version of my code that consumed metrics properly (since the beginning of the experiment) and compared it with my latest version. After a lot of trial and error rounds, I realized that the reason behind the error was the removal of the tick tuple functionality. I want to ask if the previous makes sense and it is a design choice of Storm (metrics tuples are related with the tick-tuples). If not, then I believe this is bug, and it would be wise to report it to the developers team. Thanks -- Nick R. Katsipoulakis, Department of Computer Science University of Pittsburgh
