Though a little old, this link explains it very nicely - http://www.michael-noll.com/blog/2013/06/21/understanding-storm-internal-message-buffers/ Not sure how much has changed.
On Thu, Apr 3, 2014 at 12:04 PM, Dong Mo <[email protected]> wrote: > Dear list, > > What is the semantic of emit() exactly when it returns? > > Does a returned emit mean that the tuple is successfully delivered to the > destination or that a tuple is delivered to this bolt's local sending queue > waiting for delivery over the network? > > Is that a blocking function or it has no reliable delivery guarantee at > all? > > More generally, how does storm's receiving and sending queue mechanism > works? > > Say I have a boltA emitting words very quickly and it is connected to > another boltB which do super complicated encryption on the words and thus > is very slow. In this scenario, where does the "queue" get built up and > where does the tuple drop happen? Will boltA get blocked also because the > blocking emit? Or boltA will just emit tuple with reliably delivery in > sense of TCP and the receiving queue of BoltB will get overflowed? > > Thanks > -Mo >
