-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Description
Hi, we were trying to use new spring-kafka 1.0.0.RELEASE 'RECORD' strategy for committing offsets with ConcurrentKafkaListenerContainerFactory configuration:
- concurrency=1
- pollTimeout=10 000
In our scenario we encountered strange situation when offsets were not commited by ListenerConsumer.
It happened that ListenerInvoker thread processed the Kafka messages so quickly that all he was doing was to wake up ListenerConsumer thread (which was blocked on poll() method) every 1sec. Please note that there was no other messages on Kafka topic to consume so ListenerConsumer will be blocked on poll() invocation for the entire 10seconds.
We think that the problem is because pollTimeout (ListenerConsumer ) is greater then 1 sec (ListenerInvoker) and due to that we were able to produce a live-lock on ListenerConsumer.
Please comment.