storm-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Neelesh <neele...@gmail.com>
Subject Re: Is emit() a blocking call? How does queuing works in storm?
Date Fri, 04 Apr 2014 20:42:53 GMT
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 <montedong@gmail.com> 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
>

Mime
View raw message