0
votes

I am using spring kafka to consume records from kafka. I have max.poll.records set to 300 and enable auto commit is set to false and ack mode is set to MANUAL.

I want to know what if say 100 records got processed properly and I have acknowledged each one of them in my kafkaListener with Acknowledgment.acknowledge and now 101th record could not be processed for which I did not acknowledge and all the remaining records are also processed properly (i.e. from 102nd - 300th). 1. Now what will happen during commit? 2. Would I again receive the same batch(1st-300th), or records from(101th) or after 300th.

Thanks in advance.

1
You will get the message based on the most recent committed offset.kkflf

1 Answers

0
votes

With Kafka, individual records are not acknowledged, only an offset for the consumer group within the partition. Therefore acknowledging a later record will implicitly acknowledge the earlier ones.