From 74bebf6e3dfdc9de6894d656bdbbb28a4c33eda8 Mon Sep 17 00:00:00 2001 From: David Jacot Date: Wed, 18 Sep 2024 02:34:06 -0500 Subject: [PATCH] MINOR: Log pending join members (#17219) I am still chasing KAFKA-17493. I was able to narrow it down to an issue with the pending join members. This patch logs them in order to help me troubleshooting it further. I will revert this change when the issue is root caused. Reviewers: David Arthur --- .../kafka/coordinator/group/GroupMetadataManager.java | 2 +- .../kafka/coordinator/group/classic/ClassicGroup.java | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/group-coordinator/src/main/java/org/apache/kafka/coordinator/group/GroupMetadataManager.java b/group-coordinator/src/main/java/org/apache/kafka/coordinator/group/GroupMetadataManager.java index 1a11d0c08da..2a48c87c32d 100644 --- a/group-coordinator/src/main/java/org/apache/kafka/coordinator/group/GroupMetadataManager.java +++ b/group-coordinator/src/main/java/org/apache/kafka/coordinator/group/GroupMetadataManager.java @@ -4043,7 +4043,7 @@ public class GroupMetadataManager { if (!group.hasAllMembersJoined()) { log.debug("Cannot complete join phase of group {} because not all the members have rejoined. " + "Members={}, AwaitingJoinResponses={}, PendingJoinMembers={}.", - group.groupId(), group.numMembers(), group.numAwaitingJoinResponse(), group.numPendingJoinMembers()); + group.groupId(), group.numMembers(), group.numAwaitingJoinResponse(), String.join(",", group.pendingJoinMembers())); return EMPTY_RESULT; } diff --git a/group-coordinator/src/main/java/org/apache/kafka/coordinator/group/classic/ClassicGroup.java b/group-coordinator/src/main/java/org/apache/kafka/coordinator/group/classic/ClassicGroup.java index 907380289e6..45fffdee65b 100644 --- a/group-coordinator/src/main/java/org/apache/kafka/coordinator/group/classic/ClassicGroup.java +++ b/group-coordinator/src/main/java/org/apache/kafka/coordinator/group/classic/ClassicGroup.java @@ -609,6 +609,13 @@ public class ClassicGroup implements Group { return pendingJoinMembers.contains(memberId); } + /** + * @return The set of pending join members. + */ + public Set pendingJoinMembers() { + return Collections.unmodifiableSet(pendingJoinMembers); + } + /** * Add a pending member. *