JohnEye
JohnEye

Reputation: 6895

What happens to tuples which are not acked?

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

Answers (2)

Mobility
Mobility

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

ShaharT
ShaharT

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

Related Questions