You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@storm.apache.org by "myazmyra@purdue.edu" <my...@purdue.edu> on 2015/06/09 23:24:55 UTC

Storm message sequence

Hi,

I'm a beginner in Storm and would appreciate your help.
Does Storm (not using Trident or Transactional topologies) guarantee that a message that is sent to spout first will always be committed first over all stages of spouts/bolts (even in the case of failure)? i.e. the message arrived at time "t" will always be committed before the message arrived at time "t+T" for some delay T over all stages of spouts/bolts? Thanks a lot.

Best regards,
M.Y.

Re: Storm message sequence

Posted by Javier Gonzalez <ja...@gmail.com>.
Mind that the "at least once" guarantees applies only to "regular"
processing (i.e. storm will replay tuples that time out). Re-emitting when
one of the bolts fails explicitly is your responsibility (on the spout
code).

On Tue, Jun 9, 2015 at 5:49 PM, Andrew Xor <an...@gmail.com>
wrote:

> Regular topologies do not provide a time order guarantee but provide at
> least once guarantees (which means that each tuple will be processed once
> or more times). If you want order guarantees or exactly once semantics you
> will have to use Trident.
>
> Regards
> On Wed, Jun 10, 2015 at 12:25 AM myazmyra@purdue.edu <my...@purdue.edu>
> wrote:
>
>> Hi,
>>
>> I'm a beginner in Storm and would appreciate your help.
>> Does Storm (not using Trident or Transactional topologies) guarantee that
>> a message that is sent to spout first will always be committed first over
>> all stages of spouts/bolts (even in the case of failure)? i.e. the message
>> arrived at time "t" will always be committed before the message arrived at
>> time "t+T" for some delay T over all stages of spouts/bolts? Thanks a lot.
>>
>> Best regards,
>> M.Y.
>>
>


-- 
Javier González Nicolini

Re: Storm message sequence

Posted by Andrew Xor <an...@gmail.com>.
Regular topologies do not provide a time order guarantee but provide at
least once guarantees (which means that each tuple will be processed once
or more times). If you want order guarantees or exactly once semantics you
will have to use Trident.

Regards
On Wed, Jun 10, 2015 at 12:25 AM myazmyra@purdue.edu <my...@purdue.edu>
wrote:

> Hi,
>
> I'm a beginner in Storm and would appreciate your help.
> Does Storm (not using Trident or Transactional topologies) guarantee that
> a message that is sent to spout first will always be committed first over
> all stages of spouts/bolts (even in the case of failure)? i.e. the message
> arrived at time "t" will always be committed before the message arrived at
> time "t+T" for some delay T over all stages of spouts/bolts? Thanks a lot.
>
> Best regards,
> M.Y.
>