@@ -106,11 +106,11 @@ def test_first_send_failed(self):
106
106
for i in range (10 ):
107
107
self .queue .put ((TopicAndPartition ("test" , i ), "msg %i" , "key %i" ))
108
108
109
- flag = mp .Value ('c ' , 'f' )
109
+ is_first_time = mp .Value ('b ' , True )
110
110
def send_side_effect (reqs , * args , ** kwargs ):
111
111
self .send_calls_count .value += 1
112
- if flag .value == 'f' :
113
- flag .value = 't'
112
+ if is_first_time .value :
113
+ is_first_time .value = False
114
114
raise FailedPayloadsError (reqs )
115
115
116
116
self .client .send_produce_request .side_effect = send_side_effect
@@ -166,14 +166,13 @@ def send_side_effect(reqs, *args, **kwargs):
166
166
# the queue should have 7 elements
167
167
# 3 batches of 1 msg each were retried all this time
168
168
self .assertEqual (self .queue .empty (), False )
169
- left = 0
170
- for i in range (10 ):
171
- try :
169
+ try :
170
+ for i in range (7 ):
172
171
self .queue .get (timeout = 0.01 )
173
- left += 1
174
- except Empty :
175
- break
176
- self .assertEqual (left , 7 )
172
+ except Empty :
173
+ self .fail ("Should be 7 elems in the queue" )
174
+ self .assertEqual (self .queue .empty (), True )
177
175
178
- # 1s / 50ms of backoff = 20 times
179
- self .assertEqual (self .send_calls_count .value , 20 )
176
+ # 1s / 50ms of backoff = 20 times max
177
+ self .assertTrue (self .send_calls_count .value > 10 )
178
+ self .assertTrue (self .send_calls_count .value <= 20 )
0 commit comments