jeffkbkim commented on code in PR #14408: URL: https://github.com/apache/kafka/pull/14408#discussion_r1340783926
########## group-coordinator/src/main/java/org/apache/kafka/coordinator/group/GroupCoordinatorShard.java: ########## @@ -262,6 +267,44 @@ public HeartbeatResponseData genericGroupHeartbeat( ); } + /** + * Handles a DeleteGroups request. + * + * @param context The request context. + * @param groupIds The groupIds of the groups to be deleted + * @return A Result containing the DeleteGroupsResponseData.DeletableGroupResultCollection response and + * a list of records to update the state machine. + */ + public CoordinatorResult<DeleteGroupsResponseData.DeletableGroupResultCollection, Record> deleteGroups( + RequestContext context, + List<String> groupIds + ) throws ApiException { + final DeleteGroupsResponseData.DeletableGroupResultCollection resultCollection = + new DeleteGroupsResponseData.DeletableGroupResultCollection(); + final List<Record> records = new ArrayList<>(); + + groupIds.forEach(groupId -> { + try { + groupMetadataManager.validateGroupDelete(groupId); + offsetMetadataManager.deleteAllOffsets(groupId, records); + groupMetadataManager.deleteGroup(groupId, records); + + resultCollection.add( + new DeleteGroupsResponseData.DeletableGroupResult() + .setGroupId(groupId) + ); + } catch (ApiException exception) { + resultCollection.add( + new DeleteGroupsResponseData.DeletableGroupResult() + .setGroupId(groupId) + .setErrorCode(Errors.forException(exception).code()) + ); + } + }); + + return new CoordinatorResult<>(records, resultCollection); Review Comment: should we at least log the number of groups that were deleted from the DeleteGroups request? -- 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