Guozhang Wang created KAFKA-13766:
-------------------------------------
Summary: Use `max.poll.interval.ms` as the timeout during
complete-rebalance phase
Key: KAFKA-13766
URL: https://issues.apache.org/jira/browse/KAFKA-13766
Project: Kafka
Issue Type: Bug
Components: core
Reporter: Guozhang Wang
The lifetime of a consumer can be categorized in three phases:
1) During normal processing, the broker expects a hb request periodically from
consumer, and that is timed by the `session.timeout.ms`.
2) During the prepare_rebalance, the broker would expect a join-group request
to be received within the rebalance.timeout, which is piggy-backed as the
`max.poll.interval.ms`.
3) During the complete_rebalance, the broker would expect a sync-group request
to be received again within the `session.timeout.ms`.
So during different phases of the life of the consumer, different timeout would
be used to bound the timer.
Nowadays with cooperative rebalance protocol, we can still return records and
process them in the middle of a rebalance from {{consumer.poll}}. In that case,
for phase 3) we should also use the `max.poll.interval.ms` to bound the timer,
which is in practice larger than `session.timeout.ms`.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)