RivenSun2 edited a comment on pull request #11340: URL: https://github.com/apache/kafka/pull/11340#issuecomment-942212413
@guozhangwang To add, I think it is necessary to automatically clean up non-existent offsets in the `onJoinPrepare` method We now agree that offsetCommitTimer can be the pollTimer passed by the customer. But if the customer calls `poll(final long timeoutMs)`, the situation will be worse, and `time.timer(Long.MAX_VALUE)` will replace pollTimer. This will make that the issue describe in jira will still be reproduced if (includeMetadataInTimeout) { // try to update assignment metadata BUT do not need to block on the timer for join group updateAssignmentMetadataIfNeeded(timer, false); } else { while (!updateAssignmentMetadataIfNeeded(time.timer(Long.MAX_VALUE), true)) { log.warn("Still waiting for metadata"); } } Maybe as I mentioned in the suggestion **(3)** in creating jira, we need to provide a new consumer configuration for the offsetCommit timer here to simplify this problem. Declaring this parameter to the customer may block the poll method beyond the pollDuration set by the customer. What do you think? 0 < `max.offset.auto.commit.in.rebalance.ms` < `max.poll.interval.ms` -- 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