Running on Storm 0.7.2,
Jan 19, 2013 5:21:03 PM test.CyclicTopology$GullyBolt execute
INFO: drop 71000
seemed to work for me, but 0.8.x gutted how components talk to each other.
Running on Storm 0.8.2 (w/ no modifications)
Jan 19, 2013 5:24:26 PM test.CyclicTopology$GullyBolt execute
INFO: drop 0
Doesn't work, pauses after about 700 emitted tuples. The spout thread is sleeping on the SpoutSleepWaitStrategy and never wakes up again.
Doing a little more digging, it looks like the spout is running a little too fast. I'm not sure why it never recovers, that might be a question for Nathan (until I have time to dig a little deeper on how it's invoked).
By setting:
conf.setMaxSpoutPending(50); // 50 can be about anything, 500 worked quite well for me too.
Or by adding a short courtesy sleep into the spout's nextTuple method (I used 2ms) the topology continues to process messages.
maxSpoutPending is always a good idea to bound the memory usage of your topologies and not overrun buffers. :) I'd recommend that over sleeping.