36
36
import java .util .concurrent .atomic .AtomicReference ;
37
37
import java .util .function .Consumer ;
38
38
39
+ import static java .lang .Boolean .FALSE ;
40
+ import static java .lang .Boolean .TRUE ;
39
41
import static org .elasticsearch .discovery .DiscoveryModule .MULTI_NODE_DISCOVERY_TYPE ;
40
42
import static org .elasticsearch .discovery .DiscoveryModule .SINGLE_NODE_DISCOVERY_TYPE ;
41
43
import static org .hamcrest .CoreMatchers .allOf ;
42
44
import static org .hamcrest .CoreMatchers .containsString ;
43
45
import static org .hamcrest .CoreMatchers .equalTo ;
44
46
import static org .hamcrest .CoreMatchers .instanceOf ;
45
47
import static org .hamcrest .Matchers .hasToString ;
48
+ import static org .hamcrest .Matchers .is ;
46
49
import static org .hamcrest .Matchers .not ;
47
50
import static org .mockito .Mockito .mock ;
48
51
import static org .mockito .Mockito .verify ;
@@ -103,7 +106,7 @@ public void testEnforceLimitsWhenBoundToNonLocalAddress() {
103
106
final String discoveryType = randomFrom (MULTI_NODE_DISCOVERY_TYPE , SINGLE_NODE_DISCOVERY_TYPE );
104
107
105
108
assertEquals (
106
- BootstrapChecks .enforceLimits (boundTransportAddress , discoveryType ),
109
+ BootstrapChecks .enforceLimits (boundTransportAddress , discoveryType , FALSE :: booleanValue ),
107
110
SINGLE_NODE_DISCOVERY_TYPE .equals (discoveryType ) == false
108
111
);
109
112
}
@@ -124,11 +127,27 @@ public void testEnforceLimitsWhenPublishingToNonLocalAddress() {
124
127
final String discoveryType = randomFrom (MULTI_NODE_DISCOVERY_TYPE , SINGLE_NODE_DISCOVERY_TYPE );
125
128
126
129
assertEquals (
127
- BootstrapChecks .enforceLimits (boundTransportAddress , discoveryType ),
130
+ BootstrapChecks .enforceLimits (boundTransportAddress , discoveryType , FALSE :: booleanValue ),
128
131
SINGLE_NODE_DISCOVERY_TYPE .equals (discoveryType ) == false
129
132
);
130
133
}
131
134
135
+ public void testDoNotEnforceLimitsWhenSnapshotBuild () {
136
+ final List <TransportAddress > transportAddresses = new ArrayList <>();
137
+
138
+ for (int i = 0 ; i < randomIntBetween (1 , 8 ); i ++) {
139
+ final TransportAddress randomTransportAddress = buildNewFakeTransportAddress ();
140
+ transportAddresses .add (randomTransportAddress );
141
+ }
142
+
143
+ final TransportAddress publishAddress = new TransportAddress (InetAddress .getLoopbackAddress (), 0 );
144
+ final BoundTransportAddress boundTransportAddress = mock (BoundTransportAddress .class );
145
+ when (boundTransportAddress .boundAddresses ()).thenReturn (transportAddresses .toArray (new TransportAddress [0 ]));
146
+ when (boundTransportAddress .publishAddress ()).thenReturn (publishAddress );
147
+
148
+ assertThat (BootstrapChecks .enforceLimits (boundTransportAddress , MULTI_NODE_DISCOVERY_TYPE , TRUE ::booleanValue ), is (false ));
149
+ }
150
+
132
151
public void testExceptionAggregation () {
133
152
final List <BootstrapCheck > checks = Arrays .asList (new BootstrapCheck () {
134
153
@ Override
0 commit comments