@@ -359,24 +359,43 @@ func TestPreventReaddAddrConnAfterDeletingByBalancer(t *testing.T) {
359
359
time .Sleep (10 * time .Millisecond )
360
360
}
361
361
}
362
- if len (cc .conns ) != 2 {
363
- t .Fatalf ("Number of addConns, want %d, got %d" , 2 , len (cc .conns ))
362
+
363
+ getConnCount := func () int {
364
+ cc .mu .RLock ()
365
+ defer cc .mu .RUnlock ()
366
+ return len (cc .conns )
367
+ }
368
+
369
+ getAddrCount := func () int {
370
+ cc .mu .RLock ()
371
+ defer cc .mu .RUnlock ()
372
+ return len (cc .addrs )
373
+ }
374
+
375
+ connCount := getConnCount ()
376
+ if connCount != 2 {
377
+ t .Fatalf ("Number of addConns, want %d, got %d" , 2 , connCount )
364
378
}
365
- if len (cc .addrs ) != 2 {
366
- t .Fatalf ("Number of addrs, want %d, got %d" , 2 , len (cc .addrs ))
379
+
380
+ addrCount := getAddrCount ()
381
+ if addrCount != 2 {
382
+ t .Fatalf ("Number of addrs, want %d, got %d" , 2 , addrCount )
367
383
}
384
+
368
385
// Delete servers[1] by balancer
369
386
u := & naming.Update {
370
387
Op : naming .Delete ,
371
388
Addr : "localhost:" + servers [1 ].port ,
372
389
}
373
390
r .w .inject ([]* naming.Update {u })
374
391
// Wait until the addrConn of services[1] is deleted
375
- for len ( cc . conns ) != 1 {
392
+ for getConnCount ( ) != 1 {
376
393
time .Sleep (10 * time .Millisecond )
377
394
}
378
- if len (cc .addrs ) != 1 {
379
- t .Fatalf ("Number of addrs, want %d, got %d" , 1 , len (cc .addrs ))
395
+
396
+ addrCount = getAddrCount ()
397
+ if addrCount != 1 {
398
+ t .Fatalf ("Number of addrs, want %d, got %d" , 1 , addrCount )
380
399
}
381
400
382
401
// Call resetAddrConn (ex: goaway)
@@ -385,7 +404,8 @@ func TestPreventReaddAddrConnAfterDeletingByBalancer(t *testing.T) {
385
404
t .Fatalf ("Failed to reset addrConn: %v" , err )
386
405
}
387
406
388
- if len (cc .conns ) != 1 {
389
- t .Fatalf ("Number of addConns, want %d, got %d" , 1 , len (cc .conns ))
407
+ connCount = getConnCount ()
408
+ if connCount != 1 {
409
+ t .Fatalf ("Number of addConns, want %d, got %d" , 1 , connCount )
390
410
}
391
411
}
0 commit comments