frankvicky commented on code in PR #16800: URL: https://github.com/apache/kafka/pull/16800#discussion_r1706680702
########## group-coordinator/src/test/java/org/apache/kafka/coordinator/group/GroupMetadataManagerTest.java: ########## @@ -10123,6 +10123,172 @@ public void testConsumerGroupHeartbeatWithPreparingRebalanceClassicGroup() throw assertEquals(group, context.groupMetadataManager.getOrMaybeCreateClassicGroup("group-id", false)); } + @Test + public void testConsumerGroupHeartbeatToClassicGroupFromExistingStaticMember() { + String groupId = "group-id"; + String memberId = "member-id"; + String instanceId = "instance-id"; + Uuid fooTopicId = Uuid.randomUuid(); + String fooTopicName = "foo"; + + MetadataImage metadataImage = new MetadataImageBuilder() + .addTopic(fooTopicId, fooTopicName, 1) + .addRacks() + .build(); + + GroupMetadataManagerTestContext context = new GroupMetadataManagerTestContext.Builder() + .withConsumerGroupMigrationPolicy(ConsumerGroupMigrationPolicy.UPGRADE) + .withConsumerGroupAssignors(Collections.singletonList(new NoOpPartitionAssignor())) + .withMetadataImage(metadataImage) + .build(); + + JoinGroupRequestData.JoinGroupRequestProtocolCollection protocols = new JoinGroupRequestData.JoinGroupRequestProtocolCollection(1); + protocols.add(new JoinGroupRequestData.JoinGroupRequestProtocol() + .setName(NoOpPartitionAssignor.NAME) + .setMetadata(Utils.toArray(ConsumerProtocol.serializeSubscription(new ConsumerPartitionAssignor.Subscription( + Collections.singletonList(fooTopicName), + null, + Collections.singletonList(new TopicPartition(fooTopicName, 0)) + )))) + ); + + Map<String, byte[]> assignments = new HashMap<String, byte[]>() { + { + put( + memberId, + Utils.toArray(ConsumerProtocol.serializeAssignment(new ConsumerPartitionAssignor.Assignment( + Collections.singletonList(new TopicPartition(fooTopicName, 0)) + ))) + ); + } + }; Review Comment: For example: ```java Map<String, byte[]> assignments = Collections.singletonMap( memberId, Utils.toArray(ConsumerProtocol.serializeAssignment(new ConsumerPartitionAssignor.Assignment( Collections.singletonList(new TopicPartition(fooTopicName, 0)) ))) ); ``` -- 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