Reputation: 6895
Let's say I have an Apache Storm topology processing some tuples. I ack most of them but sometimes, due to an error, they are not processed and therefore not acked.
What happens to these 'lost' tuples? Does Storm fail them automatically, or should I do that explicitly every time?
Upvotes: 0
Views: 215
Reputation: 3305
What happens to these 'lost' tuples? Does Storm fail them automatically
Yes, storm failed them automatically after the tuple timeout. But it's better for you to do that explicitly .
Upvotes: 1
Reputation: 595
From Storm's docs:
http://storm.apache.org/releases/1.2.2/Guaranteeing-message-processing.html
By failing the tuple explicitly, the spout tuple can be replayed faster than if you waited for the tuple to time-out. (=30 seconds by default)
Every tuple you process must be acked or failed. Storm uses memory to track each tuple, so if you don't ack/fail every tuple, the task will eventually run out of memory.
Upvotes: 1