I'm using a (java) consumer with default configuration, so auto-commit is
enabled. The consumer is reading from 5 partitions of a single topic. The
consumer processes one message at a time (synchronously). Sometimes, large
numbers of messages are posted to the topic, and the consumer will have to
work for one or more hours to process all messages. This is not a problem.

Sometimes, if there is a significant lag, I notice that the committed
offsets that Kafka reports for the consumer, are very strange, or even
impossible. It goes up and down. I've created a graph for the
current-offset and log-end-offset for one partition: https://ibb.co/frJ3eb.
The dotted line is the log-end-offset (seems fine), and the solid line is
the current-offset, as reported by the kafka-consumer-groups.sh tool.

As you can clearly see, the current offset suddenly drops by a few
thousand, then gradually increases, but shows a number of spikes, until it
reaches the original value again, then suddenly increases twice by a few
thousand. Obviously the current offset should never decrease, but also the
sudden increases are also impossible; the consumer is technically not able
to process the messages this fast.

The same behaviour is shown for the other partitions of this consumer, and
also for other consumers of the same topic.
I'm using Kafka 0.10.0.1 and kafka-client 0.10.0.1.

Does anyone have an idea on what is happening here?

Regards,
Tom

Reply via email to