Increase session.timeout.ms for KafkaConsumer #358
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We found an issue where we were seeing duplicate messages on the bus and some warnings sent by Kafka.
The issue was that the consumers were disconnected and the messages were sent again. The
heartbeat_interval_ms
on theKafkaConsumer
is tightly related to thesession_timeout_ms
and cannot be set randomly. If no heartbeat is sent before the session timeout occurs, the consumer is considered dead (and currently both are set to the same value, which will cause errors if the timeout occurs before the heartbeat).As the documentation says https://kafka.apache.org/documentation/ on
heartbeat.interval.ms
theheartbeat_interval_ms
has to be less than 1/3 of thesession_timeout_ms
. This PR introduces changes to take that into account.It can be seen on the
kafka-python
repo that the default values take this into consideration.Thanks!