Hello,

I'm using Java KafkaConsumer and I'm wondering what is the guarantee of consuming messages when enable.auto.commit is set to true.

What is the earliest time the offsets of messages returned from last poll() may be committed? Immediately after returning from poll() or upon next call to poll()?

If it is the former, am I right to assume that messages may get lost in the event of consumer crash?

If that is the case then the only way to guarantee that no message will get lost is to commit consumed offsets manually after processing the messages returned from poll(), right?

Thanks, Peter

Reply via email to