sjhajharia commented on code in PR #18571: URL: https://github.com/apache/kafka/pull/18571#discussion_r1917779630
########## share-coordinator/src/main/java/org/apache/kafka/coordinator/share/ShareCoordinatorService.java: ########## @@ -578,6 +581,116 @@ public CompletableFuture<ReadShareGroupStateResponseData> readState(RequestConte }); } + @Override + public CompletableFuture<ReadShareGroupStateSummaryResponseData> readStateSummary(RequestContext context, ReadShareGroupStateSummaryRequestData request) { + // Send an empty response if the coordinator is not active. + if (!isActive.get()) { + return CompletableFuture.completedFuture( + generateErrorReadStateSummaryResponse( + request, + Errors.COORDINATOR_NOT_AVAILABLE, + "Share coordinator is not available." + ) + ); + } + + String groupId = request.groupId(); + // Send an empty response if groupId is invalid. + if (isGroupIdEmpty(groupId)) { + log.error("Group id must be specified and non-empty: {}", request); + return CompletableFuture.completedFuture( + new ReadShareGroupStateSummaryResponseData() + ); + } + + // Send an empty response if topic data is empty. + if (isEmpty(request.topics())) { + log.error("Topic Data is empty: {}", request); + return CompletableFuture.completedFuture( + new ReadShareGroupStateSummaryResponseData() Review Comment: @apoorvmittal10 you had mentioned in the previous PR: > The log is an error and response is empty (without exception), is it intended? That is based on the handling which this file uses in the readState() function ########## share-coordinator/src/main/java/org/apache/kafka/coordinator/share/ShareCoordinatorShard.java: ########## @@ -573,6 +638,39 @@ private Optional<ReadShareGroupStateResponseData> maybeGetReadStateError(ReadSha return Optional.empty(); } + private Optional<ReadShareGroupStateSummaryResponseData> maybeGetReadStateSummaryError(ReadShareGroupStateSummaryRequestData request) { + ReadShareGroupStateSummaryRequestData.ReadStateSummaryData topicData = request.topics().get(0); + ReadShareGroupStateSummaryRequestData.PartitionData partitionData = topicData.partitions().get(0); + + Uuid topicId = topicData.topicId(); + int partitionId = partitionData.partition(); + + if (topicId == null) { + log.error("Request topic id is null."); Review Comment: All these logs are mentioned as error logs based on the corresponding WriteState and ReadState methods -- 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