lucasbru opened a new pull request, #15372:
URL: https://github.com/apache/kafka/pull/15372

   The consumer keeps a poll timer, which is used to ensure liveness of the 
application thread. The poll timer automatically updates while the 
`Consumer.poll(Duration)` method is blocked, while the newer consumer only 
updates the poll timer when a new call to `Consumer.poll(Duration)` is issued. 
This means that the kafka-console-consumer.sh tools, which uses a very long 
timeout by default, works differently with the new consumer, with the consumer 
proactively rejoining the group during long poll timeouts.
   
   This change solves the problem by (a) repeatedly sending 
`PollApplicationEvents` to the background thread, not just on the first call of 
`poll` and (b) making sure that the application thread doesn't block for so 
long that it runs out of `max.poll.interval`.
   
   An integration test is added to make sure that we do not rejoin the group 
when a long poll timeout is used with a low `max.poll.interval`.
   
   ### Committer Checklist (excluded from commit message)
   - [ ] Verify design and implementation 
   - [ ] Verify test coverage and CI build status
   - [ ] Verify documentation (including upgrade notes)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to