jeffkbkim commented on code in PR #15587:
URL: https://github.com/apache/kafka/pull/15587#discussion_r1557990553
##########
group-coordinator/src/main/java/org/apache/kafka/coordinator/group/GroupMetadataManager.java:
##########
@@ -2415,6 +2415,22 @@ private CoordinatorResult<Void, Record>
classicGroupJoinExistingMember(
return EMPTY_RESULT;
}
+ /**
+ * An overload of {@link
GroupMetadataManager#completeClassicGroupJoin(ClassicGroup)} used as
+ * timeout operation. It additionally looks up the group by the id and
checks the group type.
+ * completeClassicGroupJoin will only be called if the group is CLASSIC.
+ */
+ private CoordinatorResult<Void, Record> completeClassicGroupJoin(String
groupId) {
+ ClassicGroup group;
+ try {
+ group = getOrMaybeCreateClassicGroup(groupId, false);
+ } catch (UnknownMemberIdException | GroupIdNotFoundException
exception) {
Review Comment:
The existing coordinator completes responses with UNKNOWN_MEMBER_ID instead
of GROUP_ID_NOT_FOUND for join and sync. DeleteGroup and DeleteOffset requests
are completed with GROUP_ID_NOT_FOUND if the group does not exist.
So just returning null and handling them separately for each API might be
correct.
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]