@@ -59,6 +59,10 @@ private void DisjointTopicsSubscribeTest(String bootstrapServers, PartitionAssig
5959 Assert . Equal ( topic1 . Name , consumer1 . Assignment [ 0 ] . Topic ) ;
6060
6161 consumer2 . Subscribe ( topic2 . Name ) ;
62+ // Allow rebalance to complete
63+ consumer2 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
64+ consumer1 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
65+ // Get the assignment
6266 consumer1 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
6367 Assert . Equal ( 4 , consumer1 . Assignment . Count ) ;
6468 Assert . Equal ( topic1 . Name , consumer1 . Assignment [ 0 ] . Topic ) ;
@@ -67,6 +71,11 @@ private void DisjointTopicsSubscribeTest(String bootstrapServers, PartitionAssig
6771 Assert . Equal ( topic2 . Name , consumer2 . Assignment [ 0 ] . Topic ) ;
6872
6973 consumer3 . Subscribe ( topic3 . Name ) ;
74+ // Allow rebalance to complete
75+ consumer3 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
76+ consumer1 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
77+ consumer2 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
78+ // Get the assignment
7079 consumer1 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
7180 Assert . Equal ( 4 , consumer1 . Assignment . Count ) ;
7281 Assert . Equal ( topic1 . Name , consumer1 . Assignment [ 0 ] . Topic ) ;
@@ -78,6 +87,12 @@ private void DisjointTopicsSubscribeTest(String bootstrapServers, PartitionAssig
7887 Assert . Equal ( topic3 . Name , consumer3 . Assignment [ 0 ] . Topic ) ;
7988
8089 consumer4 . Subscribe ( topic4 . Name ) ;
90+ // Allow rebalance to complete
91+ consumer4 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
92+ consumer1 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
93+ consumer2 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
94+ consumer3 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
95+ // Get the assignment
8196 consumer1 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
8297 Assert . Equal ( 4 , consumer1 . Assignment . Count ) ;
8398 Assert . Equal ( topic1 . Name , consumer1 . Assignment [ 0 ] . Topic ) ;
@@ -92,13 +107,35 @@ private void DisjointTopicsSubscribeTest(String bootstrapServers, PartitionAssig
92107 Assert . Equal ( topic4 . Name , consumer4 . Assignment [ 0 ] . Topic ) ;
93108
94109 consumer5 . Subscribe ( topic2 . Name ) ;
110+ // Allow rebalance to complete
111+ consumer5 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
112+ consumer1 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
113+ consumer2 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
114+ consumer3 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
115+ consumer4 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
116+ // Get the assignment
117+ consumer2 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
95118 consumer5 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
96119 Assert . Equal ( 2 , consumer2 . Assignment . Count ) ;
97120 Assert . Equal ( 2 , consumer5 . Assignment . Count ) ;
98121 Assert . Equal ( topic2 . Name , consumer2 . Assignment [ 0 ] . Topic ) ;
99122 Assert . Equal ( topic2 . Name , consumer5 . Assignment [ 0 ] . Topic ) ;
100123
101124 consumer6 . Subscribe ( new List < string > { topic3 . Name , topic4 . Name } ) ;
125+ // Allow rebalance to complete
126+ consumer6 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
127+ consumer1 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
128+ consumer2 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
129+ consumer3 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
130+ consumer4 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
131+ consumer5 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
132+ consumer6 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
133+ // Get the assignment
134+ consumer1 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
135+ consumer2 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
136+ consumer3 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
137+ consumer4 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
138+ consumer5 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
102139 consumer6 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
103140 Assert . True ( consumer3 . Assignment . Count > 0 ) ;
104141 Assert . True ( consumer4 . Assignment . Count > 0 ) ;
@@ -109,11 +146,38 @@ private void DisjointTopicsSubscribeTest(String bootstrapServers, PartitionAssig
109146 Assert . True ( consumer6 . Assignment [ 0 ] . Topic == topic3 . Name || consumer6 . Assignment [ 0 ] . Topic == topic4 . Name ) ;
110147
111148 consumer1 . Unsubscribe ( ) ;
112- consumer2 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ; // wait for rebalance.
113- Assert . Equal ( 0 , consumer1 . Assignment . Count ) ;
149+ // Allow rebalance to complete
150+ consumer1 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
151+ consumer2 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
152+ consumer3 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
153+ consumer4 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
154+ consumer5 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
155+ consumer6 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
156+ // Get the assignment
157+ consumer1 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
158+ consumer2 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
159+ consumer3 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
160+ consumer4 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
161+ consumer5 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
162+ consumer6 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
114163
164+ Assert . Equal ( 0 , consumer1 . Assignment . Count ) ;
165+ // Allow rebalance to complete
115166 consumer1 . Subscribe ( topic1 . Name ) ;
116167 consumer1 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
168+ consumer2 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
169+ consumer3 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
170+ consumer4 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
171+ consumer5 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
172+ consumer6 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
173+ // Get the assignment
174+ consumer1 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
175+ consumer2 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
176+ consumer3 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
177+ consumer4 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
178+ consumer5 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
179+ consumer6 . Consume ( TimeSpan . FromSeconds ( 10 ) ) ;
180+
117181 Assert . Equal ( 4 , consumer1 . Assignment . Count ) ;
118182 Assert . Equal ( topic1 . Name , consumer1 . Assignment [ 0 ] . Topic ) ;
119183
0 commit comments