rreddy-22 commented on code in PR #13920:
URL: https://github.com/apache/kafka/pull/13920#discussion_r1265840907


##########
clients/src/test/java/org/apache/kafka/clients/consumer/internals/AbstractStickyAssignorTest.java:
##########
@@ -724,6 +724,70 @@ public void 
testLargeAssignmentAndGroupWithNonEqualSubscription(boolean hasConsu
         assignor.assignPartitions(partitionsPerTopic, subscriptions);
     }
 
+    @Timeout(90)
+    @ParameterizedTest(name = TEST_NAME_WITH_CONSUMER_RACK)
+    @ValueSource(booleans = {false, true})
+    public void 
testAssignmentAndGroupWithNonEqualSubscriptionNotTimeout(boolean 
hasConsumerRack) {
+        initializeRacks(hasConsumerRack ? RackConfig.BROKER_AND_CONSUMER_RACK 
: RackConfig.NO_CONSUMER_RACK);
+        int topicCount = hasConsumerRack ? 50 : 500;
+        int partitionCount = 2_00;
+        int consumerCount = 2_0;
+
+        List<String> topics = new ArrayList<>();
+        Map<String, List<PartitionInfo>> partitionsPerTopic = new HashMap<>();
+        for (int i = 0; i < topicCount; i++) {
+            String topicName = getTopicName(i, topicCount);
+            topics.add(topicName);
+            partitionsPerTopic.put(topicName, partitionInfos(topicName, 
partitionCount));
+        }
+        for (int i = 0; i < consumerCount; i++) {
+            if (i % 4 == 0) {
+                subscriptions.put(getConsumerName(i, consumerCount), 
subscription(topics.subList(0, topicCount / 2),
+                        i));
+            } else {
+                subscriptions.put(getConsumerName(i, consumerCount), 
subscription(topics.subList(topicCount / 2,
+                        topicCount), i));
+            }
+        }
+
+        Map<String, List<TopicPartition>> assignment = 
assignor.assignPartitions(partitionsPerTopic, subscriptions);
+
+        for (int i = 1; i < consumerCount; i++) {
+            String consumer = getConsumerName(i, consumerCount);
+            if (i % 4 == 0) {
+                subscriptions.put(consumer, 
buildSubscriptionV2Above(topics.subList(0, topicCount / 2),
+                        assignment.get(consumer), generationId, i));
+            } else {
+                subscriptions.put(consumer, 
buildSubscriptionV2Above(topics.subList(topicCount / 2, topicCount),
+                        assignment.get(consumer), generationId, i));
+            }
+        }
+
+        assignor.assignPartitions(partitionsPerTopic, subscriptions);
+    }
+
+    @Test
+    public void 
testSubscriptionNotEqualAndAssignSamePartitionWith3Generation() {
+        Map<String, List<PartitionInfo>> partitionsPerTopic = new HashMap<>();
+        partitionsPerTopic.put(topic, partitionInfos(topic, 6));
+        partitionsPerTopic.put(topic1, partitionInfos(topic1, 1));
+        int[][] sequence = new int[][]{{1, 2, 3}, {1, 3, 2}, {2, 1, 3}, {2, 3, 
1}, {3, 1, 2}, {3, 2, 1}};
+        for (int[] ints : sequence) {
+            subscriptions.put(consumer1, 
buildSubscriptionV2Above(topics(topic), partitions(tp(topic, 0),

Review Comment:
   Could you please format it in multiple lines like how its done in the other 
tests



-- 
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

Reply via email to