You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@storm.apache.org by 이승진 <sw...@navercorp.com> on 2014/06/19 07:16:30 UTC

getting tuple by messageId

Hi all,
I'm using BaseRichSpout and to my knowledge, I have to implement the replay logic to guarantee message processing.
When I see the fail method of BaseRichSpout,public void fail(java.lang.Object msgId)it just gives me messageId.and of course I set collector in open method. so I think if I make fail method to do collector.emit(failed tuple), I can guarantee exactly-once message processing.Is there any way to get a tuple in a tuple tree by its Id? or do I have to fetch again from some source?
thanks
 

Re: getting tuple by messageId

Posted by Bongyeon Kim <bo...@gmail.com>.
AFAIK, You have to fetch again by messageID. You can put tuple into your messageID, but I don’t think it’s a good way.
If you want to achieve exactly-once messaging semantics, why don’t you use Trident?


On Jun 19, 2014, at 2:16 PM, 이승진 <sw...@navercorp.com> wrote:

> Hi all,
> 
> I'm using BaseRichSpout and to my knowledge, I have to implement the replay logic to guarantee message processing.
> 
> When I see the fail method of BaseRichSpout,
> public void fail(java.lang.Object msgId)
> it just gives me messageId.
> and of course I set collector in open method. so I think if I make fail method to do collector.emit(failed tuple), I can guarantee exactly-once message processing.
> Is there any way to get a tuple in a tuple tree by its Id? or do I have to fetch again from some source?
> 
> thanks
>