@@ -156,9 +156,10 @@ public void tearDown() {
156
156
public void subchannelLazyConnectUntilPicked () {
157
157
RingHashConfig config = new RingHashConfig (10 , 100 );
158
158
List <EquivalentAddressGroup > servers = createWeightedServerAddrs (1 ); // one server
159
- loadBalancer .handleResolvedAddresses (
159
+ boolean addressesAccepted = loadBalancer .acceptResolvedAddresses (
160
160
ResolvedAddresses .newBuilder ()
161
161
.setAddresses (servers ).setLoadBalancingPolicyConfig (config ).build ());
162
+ assertThat (addressesAccepted ).isTrue ();
162
163
verify (helper ).createSubchannel (any (CreateSubchannelArgs .class ));
163
164
Subchannel subchannel = Iterables .getOnlyElement (subchannels .values ());
164
165
verify (subchannel , never ()).requestConnection ();
@@ -187,9 +188,10 @@ public void subchannelLazyConnectUntilPicked() {
187
188
public void subchannelNotAutoReconnectAfterReenteringIdle () {
188
189
RingHashConfig config = new RingHashConfig (10 , 100 );
189
190
List <EquivalentAddressGroup > servers = createWeightedServerAddrs (1 ); // one server
190
- loadBalancer .handleResolvedAddresses (
191
+ boolean addressesAccepted = loadBalancer .acceptResolvedAddresses (
191
192
ResolvedAddresses .newBuilder ()
192
193
.setAddresses (servers ).setLoadBalancingPolicyConfig (config ).build ());
194
+ assertThat (addressesAccepted ).isTrue ();
193
195
Subchannel subchannel = Iterables .getOnlyElement (subchannels .values ());
194
196
InOrder inOrder = Mockito .inOrder (helper , subchannel );
195
197
inOrder .verify (helper ).updateBalancingState (eq (IDLE ), pickerCaptor .capture ());
@@ -217,9 +219,10 @@ public void aggregateSubchannelStates_connectingReadyIdleFailure() {
217
219
RingHashConfig config = new RingHashConfig (10 , 100 );
218
220
List <EquivalentAddressGroup > servers = createWeightedServerAddrs (1 , 1 );
219
221
InOrder inOrder = Mockito .inOrder (helper );
220
- loadBalancer .handleResolvedAddresses (
222
+ boolean addressesAccepted = loadBalancer .acceptResolvedAddresses (
221
223
ResolvedAddresses .newBuilder ()
222
224
.setAddresses (servers ).setLoadBalancingPolicyConfig (config ).build ());
225
+ assertThat (addressesAccepted ).isTrue ();
223
226
inOrder .verify (helper , times (2 )).createSubchannel (any (CreateSubchannelArgs .class ));
224
227
inOrder .verify (helper ).updateBalancingState (eq (IDLE ), any (SubchannelPicker .class ));
225
228
@@ -278,9 +281,10 @@ public void aggregateSubchannelStates_twoOrMoreSubchannelsInTransientFailure() {
278
281
RingHashConfig config = new RingHashConfig (10 , 100 );
279
282
List <EquivalentAddressGroup > servers = createWeightedServerAddrs (1 , 1 , 1 , 1 );
280
283
InOrder inOrder = Mockito .inOrder (helper );
281
- loadBalancer .handleResolvedAddresses (
284
+ boolean addressesAccepted = loadBalancer .acceptResolvedAddresses (
282
285
ResolvedAddresses .newBuilder ()
283
286
.setAddresses (servers ).setLoadBalancingPolicyConfig (config ).build ());
287
+ assertThat (addressesAccepted ).isTrue ();
284
288
inOrder .verify (helper , times (4 )).createSubchannel (any (CreateSubchannelArgs .class ));
285
289
inOrder .verify (helper ).updateBalancingState (eq (IDLE ), any (SubchannelPicker .class ));
286
290
@@ -336,9 +340,10 @@ public void aggregateSubchannelStates_twoOrMoreSubchannelsInTransientFailure() {
336
340
public void subchannelStayInTransientFailureUntilBecomeReady () {
337
341
RingHashConfig config = new RingHashConfig (10 , 100 );
338
342
List <EquivalentAddressGroup > servers = createWeightedServerAddrs (1 , 1 , 1 );
339
- loadBalancer .handleResolvedAddresses (
343
+ boolean addressesAccepted = loadBalancer .acceptResolvedAddresses (
340
344
ResolvedAddresses .newBuilder ()
341
345
.setAddresses (servers ).setLoadBalancingPolicyConfig (config ).build ());
346
+ assertThat (addressesAccepted ).isTrue ();
342
347
verify (helper , times (3 )).createSubchannel (any (CreateSubchannelArgs .class ));
343
348
verify (helper ).updateBalancingState (eq (IDLE ), any (SubchannelPicker .class ));
344
349
reset (helper );
@@ -378,9 +383,10 @@ public void updateConnectionIterator() {
378
383
RingHashConfig config = new RingHashConfig (10 , 100 );
379
384
List <EquivalentAddressGroup > servers = createWeightedServerAddrs (1 , 1 , 1 );
380
385
InOrder inOrder = Mockito .inOrder (helper );
381
- loadBalancer .handleResolvedAddresses (
386
+ boolean addressesAccepted = loadBalancer .acceptResolvedAddresses (
382
387
ResolvedAddresses .newBuilder ()
383
388
.setAddresses (servers ).setLoadBalancingPolicyConfig (config ).build ());
389
+ assertThat (addressesAccepted ).isTrue ();
384
390
verify (helper , times (3 )).createSubchannel (any (CreateSubchannelArgs .class ));
385
391
verify (helper ).updateBalancingState (eq (IDLE ), any (SubchannelPicker .class ));
386
392
@@ -394,9 +400,10 @@ public void updateConnectionIterator() {
394
400
verifyConnection (1 );
395
401
396
402
servers = createWeightedServerAddrs (1 ,1 );
397
- loadBalancer .handleResolvedAddresses (
403
+ addressesAccepted = loadBalancer .acceptResolvedAddresses (
398
404
ResolvedAddresses .newBuilder ()
399
405
.setAddresses (servers ).setLoadBalancingPolicyConfig (config ).build ());
406
+ assertThat (addressesAccepted ).isTrue ();
400
407
inOrder .verify (helper )
401
408
.updateBalancingState (eq (CONNECTING ), any (SubchannelPicker .class ));
402
409
verifyConnection (1 );
@@ -422,9 +429,10 @@ public void updateConnectionIterator() {
422
429
public void ignoreShutdownSubchannelStateChange () {
423
430
RingHashConfig config = new RingHashConfig (10 , 100 );
424
431
List <EquivalentAddressGroup > servers = createWeightedServerAddrs (1 , 1 , 1 );
425
- loadBalancer .handleResolvedAddresses (
432
+ boolean addressesAccepted = loadBalancer .acceptResolvedAddresses (
426
433
ResolvedAddresses .newBuilder ()
427
434
.setAddresses (servers ).setLoadBalancingPolicyConfig (config ).build ());
435
+ assertThat (addressesAccepted ).isTrue ();
428
436
verify (helper , times (3 )).createSubchannel (any (CreateSubchannelArgs .class ));
429
437
verify (helper ).updateBalancingState (eq (IDLE ), any (SubchannelPicker .class ));
430
438
@@ -442,9 +450,10 @@ public void ignoreShutdownSubchannelStateChange() {
442
450
public void deterministicPickWithHostsPartiallyRemoved () {
443
451
RingHashConfig config = new RingHashConfig (10 , 100 );
444
452
List <EquivalentAddressGroup > servers = createWeightedServerAddrs (1 , 1 , 1 , 1 , 1 );
445
- loadBalancer .handleResolvedAddresses (
453
+ boolean addressesAccepted = loadBalancer .acceptResolvedAddresses (
446
454
ResolvedAddresses .newBuilder ()
447
455
.setAddresses (servers ).setLoadBalancingPolicyConfig (config ).build ());
456
+ assertThat (addressesAccepted ).isTrue ();
448
457
InOrder inOrder = Mockito .inOrder (helper );
449
458
inOrder .verify (helper , times (5 )).createSubchannel (any (CreateSubchannelArgs .class ));
450
459
inOrder .verify (helper ).updateBalancingState (eq (IDLE ), any (SubchannelPicker .class ));
@@ -470,9 +479,10 @@ public void deterministicPickWithHostsPartiallyRemoved() {
470
479
Attributes attr = addr .getAttributes ().toBuilder ().set (CUSTOM_KEY , "custom value" ).build ();
471
480
updatedServers .add (new EquivalentAddressGroup (addr .getAddresses (), attr ));
472
481
}
473
- loadBalancer .handleResolvedAddresses (
482
+ addressesAccepted = loadBalancer .acceptResolvedAddresses (
474
483
ResolvedAddresses .newBuilder ()
475
484
.setAddresses (updatedServers ).setLoadBalancingPolicyConfig (config ).build ());
485
+ assertThat (addressesAccepted ).isTrue ();
476
486
verify (subchannels .get (Collections .singletonList (servers .get (0 ))))
477
487
.updateAddresses (Collections .singletonList (updatedServers .get (0 )));
478
488
verify (subchannels .get (Collections .singletonList (servers .get (1 ))))
@@ -487,9 +497,10 @@ public void deterministicPickWithHostsPartiallyRemoved() {
487
497
public void deterministicPickWithNewHostsAdded () {
488
498
RingHashConfig config = new RingHashConfig (10 , 100 );
489
499
List <EquivalentAddressGroup > servers = createWeightedServerAddrs (1 , 1 ); // server0 and server1
490
- loadBalancer .handleResolvedAddresses (
500
+ boolean addressesAccepted = loadBalancer .acceptResolvedAddresses (
491
501
ResolvedAddresses .newBuilder ()
492
502
.setAddresses (servers ).setLoadBalancingPolicyConfig (config ).build ());
503
+ assertThat (addressesAccepted ).isTrue ();
493
504
InOrder inOrder = Mockito .inOrder (helper );
494
505
inOrder .verify (helper , times (2 )).createSubchannel (any (CreateSubchannelArgs .class ));
495
506
inOrder .verify (helper ).updateBalancingState (eq (IDLE ), pickerCaptor .capture ());
@@ -511,9 +522,10 @@ public void deterministicPickWithNewHostsAdded() {
511
522
assertThat (subchannel .getAddresses ()).isEqualTo (servers .get (1 ));
512
523
513
524
servers = createWeightedServerAddrs (1 , 1 , 1 , 1 , 1 ); // server2, server3, server4 added
514
- loadBalancer .handleResolvedAddresses (
525
+ addressesAccepted = loadBalancer .acceptResolvedAddresses (
515
526
ResolvedAddresses .newBuilder ()
516
527
.setAddresses (servers ).setLoadBalancingPolicyConfig (config ).build ());
528
+ assertThat (addressesAccepted ).isTrue ();
517
529
inOrder .verify (helper , times (3 )).createSubchannel (any (CreateSubchannelArgs .class ));
518
530
inOrder .verify (helper ).updateBalancingState (eq (READY ), pickerCaptor .capture ());
519
531
assertThat (pickerCaptor .getValue ().pickSubchannel (args ).getSubchannel ())
@@ -526,9 +538,10 @@ public void skipFailingHosts_pickNextNonFailingHostInFirstTwoHosts() {
526
538
// Map each server address to exactly one ring entry.
527
539
RingHashConfig config = new RingHashConfig (3 , 3 );
528
540
List <EquivalentAddressGroup > servers = createWeightedServerAddrs (1 , 1 , 1 );
529
- loadBalancer .handleResolvedAddresses (
541
+ boolean addressesAccepted = loadBalancer .acceptResolvedAddresses (
530
542
ResolvedAddresses .newBuilder ()
531
543
.setAddresses (servers ).setLoadBalancingPolicyConfig (config ).build ());
544
+ assertThat (addressesAccepted ).isTrue ();
532
545
verify (helper , times (3 )).createSubchannel (any (CreateSubchannelArgs .class ));
533
546
verify (helper ).updateBalancingState (eq (IDLE ), any (SubchannelPicker .class )); // initial IDLE
534
547
reset (helper );
@@ -583,9 +596,10 @@ public void skipFailingHosts_firstTwoHostsFailed_pickNextFirstReady() {
583
596
// Map each server address to exactly one ring entry.
584
597
RingHashConfig config = new RingHashConfig (3 , 3 );
585
598
List <EquivalentAddressGroup > servers = createWeightedServerAddrs (1 , 1 , 1 );
586
- loadBalancer .handleResolvedAddresses (
599
+ boolean addressesAccepted = loadBalancer .acceptResolvedAddresses (
587
600
ResolvedAddresses .newBuilder ()
588
601
.setAddresses (servers ).setLoadBalancingPolicyConfig (config ).build ());
602
+ assertThat (addressesAccepted ).isTrue ();
589
603
verify (helper , times (3 )).createSubchannel (any (CreateSubchannelArgs .class ));
590
604
verify (helper ).updateBalancingState (eq (IDLE ), any (SubchannelPicker .class )); // initial IDLE
591
605
reset (helper );
@@ -649,9 +663,10 @@ public void allSubchannelsInTransientFailure() {
649
663
// Map each server address to exactly one ring entry.
650
664
RingHashConfig config = new RingHashConfig (3 , 3 );
651
665
List <EquivalentAddressGroup > servers = createWeightedServerAddrs (1 , 1 , 1 );
652
- loadBalancer .handleResolvedAddresses (
666
+ boolean addressesAccepted = loadBalancer .acceptResolvedAddresses (
653
667
ResolvedAddresses .newBuilder ()
654
668
.setAddresses (servers ).setLoadBalancingPolicyConfig (config ).build ());
669
+ assertThat (addressesAccepted ).isTrue ();
655
670
verify (helper , times (3 )).createSubchannel (any (CreateSubchannelArgs .class ));
656
671
verify (helper ).updateBalancingState (eq (IDLE ), any (SubchannelPicker .class ));
657
672
@@ -687,9 +702,10 @@ public void firstSubchannelIdle() {
687
702
// Map each server address to exactly one ring entry.
688
703
RingHashConfig config = new RingHashConfig (3 , 3 );
689
704
List <EquivalentAddressGroup > servers = createWeightedServerAddrs (1 , 1 , 1 );
690
- loadBalancer .handleResolvedAddresses (
705
+ boolean addressesAccepted = loadBalancer .acceptResolvedAddresses (
691
706
ResolvedAddresses .newBuilder ()
692
707
.setAddresses (servers ).setLoadBalancingPolicyConfig (config ).build ());
708
+ assertThat (addressesAccepted ).isTrue ();
693
709
verify (helper , times (3 )).createSubchannel (any (CreateSubchannelArgs .class ));
694
710
verify (helper ).updateBalancingState (eq (IDLE ), any (SubchannelPicker .class ));
695
711
@@ -718,9 +734,10 @@ public void firstSubchannelConnecting() {
718
734
// Map each server address to exactly one ring entry.
719
735
RingHashConfig config = new RingHashConfig (3 , 3 );
720
736
List <EquivalentAddressGroup > servers = createWeightedServerAddrs (1 , 1 , 1 );
721
- loadBalancer .handleResolvedAddresses (
737
+ boolean addressesAccepted = loadBalancer .acceptResolvedAddresses (
722
738
ResolvedAddresses .newBuilder ()
723
739
.setAddresses (servers ).setLoadBalancingPolicyConfig (config ).build ());
740
+ assertThat (addressesAccepted ).isTrue ();
724
741
verify (helper , times (3 )).createSubchannel (any (CreateSubchannelArgs .class ));
725
742
verify (helper ).updateBalancingState (eq (IDLE ), any (SubchannelPicker .class ));
726
743
@@ -749,9 +766,10 @@ public void firstSubchannelFailure() {
749
766
// Map each server address to exactly one ring entry.
750
767
RingHashConfig config = new RingHashConfig (3 , 3 );
751
768
List <EquivalentAddressGroup > servers = createWeightedServerAddrs (1 , 1 , 1 );
752
- loadBalancer .handleResolvedAddresses (
769
+ boolean addressesAccepted = loadBalancer .acceptResolvedAddresses (
753
770
ResolvedAddresses .newBuilder ()
754
771
.setAddresses (servers ).setLoadBalancingPolicyConfig (config ).build ());
772
+ assertThat (addressesAccepted ).isTrue ();
755
773
verify (helper , times (3 )).createSubchannel (any (CreateSubchannelArgs .class ));
756
774
verify (helper ).updateBalancingState (eq (IDLE ), any (SubchannelPicker .class ));
757
775
// ring:
@@ -784,9 +802,10 @@ public void secondSubchannelConnecting() {
784
802
// Map each server address to exactly one ring entry.
785
803
RingHashConfig config = new RingHashConfig (3 , 3 );
786
804
List <EquivalentAddressGroup > servers = createWeightedServerAddrs (1 , 1 , 1 );
787
- loadBalancer .handleResolvedAddresses (
805
+ boolean addressesAccepted = loadBalancer .acceptResolvedAddresses (
788
806
ResolvedAddresses .newBuilder ()
789
807
.setAddresses (servers ).setLoadBalancingPolicyConfig (config ).build ());
808
+ assertThat (addressesAccepted ).isTrue ();
790
809
verify (helper , times (3 )).createSubchannel (any (CreateSubchannelArgs .class ));
791
810
verify (helper ).updateBalancingState (eq (IDLE ), any (SubchannelPicker .class ));
792
811
// ring:
@@ -822,9 +841,10 @@ public void secondSubchannelFailure() {
822
841
// Map each server address to exactly one ring entry.
823
842
RingHashConfig config = new RingHashConfig (3 , 3 );
824
843
List <EquivalentAddressGroup > servers = createWeightedServerAddrs (1 , 1 , 1 );
825
- loadBalancer .handleResolvedAddresses (
844
+ boolean addressesAccepted = loadBalancer .acceptResolvedAddresses (
826
845
ResolvedAddresses .newBuilder ()
827
846
.setAddresses (servers ).setLoadBalancingPolicyConfig (config ).build ());
847
+ assertThat (addressesAccepted ).isTrue ();
828
848
verify (helper , times (3 )).createSubchannel (any (CreateSubchannelArgs .class ));
829
849
verify (helper ).updateBalancingState (eq (IDLE ), any (SubchannelPicker .class ));
830
850
// ring:
@@ -864,9 +884,10 @@ public void thirdSubchannelConnecting() {
864
884
// Map each server address to exactly one ring entry.
865
885
RingHashConfig config = new RingHashConfig (3 , 3 );
866
886
List <EquivalentAddressGroup > servers = createWeightedServerAddrs (1 , 1 , 1 );
867
- loadBalancer .handleResolvedAddresses (
887
+ boolean addressesAccepted = loadBalancer .acceptResolvedAddresses (
868
888
ResolvedAddresses .newBuilder ()
869
889
.setAddresses (servers ).setLoadBalancingPolicyConfig (config ).build ());
890
+ assertThat (addressesAccepted ).isTrue ();
870
891
verify (helper , times (3 )).createSubchannel (any (CreateSubchannelArgs .class ));
871
892
verify (helper ).updateBalancingState (eq (IDLE ), any (SubchannelPicker .class ));
872
893
// ring:
@@ -908,9 +929,10 @@ public void stickyTransientFailure() {
908
929
// Map each server address to exactly one ring entry.
909
930
RingHashConfig config = new RingHashConfig (3 , 3 );
910
931
List <EquivalentAddressGroup > servers = createWeightedServerAddrs (1 , 1 , 1 );
911
- loadBalancer .handleResolvedAddresses (
932
+ boolean addressesAccepted = loadBalancer .acceptResolvedAddresses (
912
933
ResolvedAddresses .newBuilder ()
913
934
.setAddresses (servers ).setLoadBalancingPolicyConfig (config ).build ());
935
+ assertThat (addressesAccepted ).isTrue ();
914
936
verify (helper , times (3 )).createSubchannel (any (CreateSubchannelArgs .class ));
915
937
verify (helper ).updateBalancingState (eq (IDLE ), any (SubchannelPicker .class ));
916
938
@@ -943,9 +965,10 @@ public void stickyTransientFailure() {
943
965
public void hostSelectionProportionalToWeights () {
944
966
RingHashConfig config = new RingHashConfig (10000 , 100000 ); // large ring
945
967
List <EquivalentAddressGroup > servers = createWeightedServerAddrs (1 , 10 , 100 ); // 1:10:100
946
- loadBalancer .handleResolvedAddresses (
968
+ boolean addressesAccepted = loadBalancer .acceptResolvedAddresses (
947
969
ResolvedAddresses .newBuilder ()
948
970
.setAddresses (servers ).setLoadBalancingPolicyConfig (config ).build ());
971
+ assertThat (addressesAccepted ).isTrue ();
949
972
verify (helper , times (3 )).createSubchannel (any (CreateSubchannelArgs .class ));
950
973
verify (helper ).updateBalancingState (eq (IDLE ), any (SubchannelPicker .class ));
951
974
@@ -979,9 +1002,10 @@ public void hostSelectionProportionalToWeights() {
979
1002
public void hostSelectionProportionalToRepeatedAddressCount () {
980
1003
RingHashConfig config = new RingHashConfig (10000 , 100000 );
981
1004
List <EquivalentAddressGroup > servers = createRepeatedServerAddrs (1 , 10 , 100 ); // 1:10:100
982
- loadBalancer .handleResolvedAddresses (
1005
+ boolean addressesAccepted = loadBalancer .acceptResolvedAddresses (
983
1006
ResolvedAddresses .newBuilder ()
984
1007
.setAddresses (servers ).setLoadBalancingPolicyConfig (config ).build ());
1008
+ assertThat (addressesAccepted ).isTrue ();
985
1009
verify (helper , times (3 )).createSubchannel (any (CreateSubchannelArgs .class ));
986
1010
verify (helper ).updateBalancingState (eq (IDLE ), any (SubchannelPicker .class ));
987
1011
@@ -1027,9 +1051,10 @@ public void nameResolutionErrorWithNoActiveSubchannels() {
1027
1051
public void nameResolutionErrorWithActiveSubchannels () {
1028
1052
RingHashConfig config = new RingHashConfig (10 , 100 );
1029
1053
List <EquivalentAddressGroup > servers = createWeightedServerAddrs (1 );
1030
- loadBalancer .handleResolvedAddresses (
1054
+ boolean addressesAccepted = loadBalancer .acceptResolvedAddresses (
1031
1055
ResolvedAddresses .newBuilder ()
1032
1056
.setAddresses (servers ).setLoadBalancingPolicyConfig (config ).build ());
1057
+ assertThat (addressesAccepted ).isTrue ();
1033
1058
verify (helper ).createSubchannel (any (CreateSubchannelArgs .class ));
1034
1059
verify (helper ).updateBalancingState (eq (IDLE ), pickerCaptor .capture ());
1035
1060
0 commit comments