Hi,
I am trying to understand the behavior of Kafka Consumer in Java.

Consider a scenario where a consumer is reading from a partition with
auto.comiit disabled and only one partition in the topic. The consumer
reads a message 'A' and sleep for some time, say 10 seconds. Then reads
from the same parition once again from the without commiting the offsets of
 the previous read a message 'B'.

My assumption was since there was no commit of the previous offset we will
get the same message message 'A' and message 'B' should be the same.

I ran a simple code with this assumption but I was suprised to see message
'A' and message 'B' were different (Producer produced Message 'B' after
message 'A').

Can someone explain this behavior? Is there a way to make the consumer
return message 'A' instead of message 'B' without restarting the consumer
(which will trigger a repartition in a multi partition/ multi consumer
scenario), say some parameter or a method call to rewind locally?


Thanks,
Dinesh

Reply via email to