jolshan commented on code in PR #14321: URL: https://github.com/apache/kafka/pull/14321#discussion_r1313631916
########## group-coordinator/src/main/java/org/apache/kafka/coordinator/group/consumer/ConsumerGroup.java: ########## @@ -538,17 +537,46 @@ public void validateOffsetCommit( if (memberEpoch < 0 && members().isEmpty()) return; final ConsumerGroupMember member = getOrMaybeCreateMember(memberId, false); - if (memberEpoch != member.memberEpoch()) { - throw Errors.STALE_MEMBER_EPOCH.exception(); - } + validateMemberEpoch(memberEpoch, member.memberEpoch()); } /** * Validates the OffsetFetch request. + * + * @param memberId The member id for consumer groups. + * @param memberEpoch The member epoch for consumer groups. + * @param lastCommittedOffset The last committed offsets in the timeline. */ @Override - public void validateOffsetFetch() { - // Nothing. + public void validateOffsetFetch( + String memberId, + int memberEpoch, + long lastCommittedOffset + ) throws UnknownMemberIdException, StaleMemberEpochException { + // When the member epoch is -1, the request comes from the admin client. In this case, + // the request can commit offsets if the group is empty. Review Comment: I made a comment on something similar in another PR. Might be a slightly different case, but similar wording about committing offsets is allowed and it being a bit unclear if fetching them is or isn't https://github.com/apache/kafka/pull/14120/files/7e5f1f64d173d3e3b68fd6310fb76d6137daed2c#r1303310001 -- 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