Hi I have a bolt (SPLITTER) which receives data from kafkaspout. The SPLITTER bolt splits the data and emits them into multiple streams to another bolt (WRANGLER). The Wrangler takes some time for processing some of the data. So before it can emit the data to another stream, the spout sends the next data to SPLITTER.
I have configured TOPOLOGY_MAX_SPOUT_PENDING to be 1 and TOPOLOGY_MESSAGE_TIMEOUT_SECS to a very high number. I do not want it to send me next tuple before I am done with processing of current. I am acking tuple, in each bolt, in the last. It is running fine when the bolt does not take much time for processing the data. I tested the former case by putting sleep of 10 seconds.