viktorsomogyi commented on code in PR #23470:
URL: https://github.com/apache/kafka/pull/23470#discussion_r4072892297
##########
tools/src/test/java/org/apache/kafka/tools/consumer/group/DescribeConsumerGroupTest.java:
##########
@@ -935,9 +935,9 @@ public void
testDescribeGroupWithShortInitializationTimeout(ClusterInstance clus
List<String> cgcArgs = new ArrayList<>(List.of("--bootstrap-server",
clusterInstance.bootstrapServers(), "--describe", "--group", group,
"--timeout", "1"));
cgcArgs.addAll(describeType);
- // run one consumer in the group consuming from a single-partition
topic
- try (AutoCloseable protocolConsumerGroupExecutor =
consumerGroupClosable(groupProtocol, group, topic, Map.of());
- ConsumerGroupCommand.ConsumerGroupService service =
consumerGroupService(cgcArgs.toArray(new String[0]))
+ // Service before consumer: FindCoordinator must reach the broker
before __consumer_offsets is created.
+ try (ConsumerGroupCommand.ConsumerGroupService service =
consumerGroupService(cgcArgs.toArray(new String[0]));
+ AutoCloseable protocolConsumerGroupExecutor =
consumerGroupClosable(groupProtocol, group, topic, Map.of())
Review Comment:
`consumerGroupService` only creates the admin client but it doesn't run any
requests, that is done later in the assert. Meanwhile consumerGroupClosable
creates consumers in a separate thread and therefore it still could be possible
that the order is swapped. I think we'd need explicit synchronization to make
sure that FindCoordinator really happens sooner than the consumers creating
their offset topic.
--
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]