1919
2020package org .elasticsearch .discovery ;
2121
22+ import java .nio .file .Path ;
2223import org .elasticsearch .cluster .ClusterState ;
2324import org .elasticsearch .cluster .block .ClusterBlock ;
2425import org .elasticsearch .cluster .block .ClusterBlockLevel ;
3334import org .elasticsearch .env .NodeEnvironment ;
3435import org .elasticsearch .plugins .Plugin ;
3536import org .elasticsearch .test .ESIntegTestCase ;
36- import org .elasticsearch .test .discovery .ClusterDiscoveryConfiguration ;
37+ import org .elasticsearch .test .InternalTestCluster ;
38+ import org .elasticsearch .test .NodeConfigurationSource ;
3739import org .elasticsearch .test .discovery .TestZenDiscovery ;
3840import org .elasticsearch .test .disruption .NetworkDisruption ;
3941import org .elasticsearch .test .disruption .NetworkDisruption .Bridge ;
5254import java .util .HashSet ;
5355import java .util .List ;
5456import java .util .Set ;
55- import java .util .concurrent .ExecutionException ;
5657import java .util .concurrent .TimeUnit ;
5758
59+ import static org .elasticsearch .discovery .DiscoveryModule .DISCOVERY_HOSTS_PROVIDER_SETTING ;
5860import static org .hamcrest .Matchers .equalTo ;
5961import static org .hamcrest .Matchers .not ;
6062
6163public abstract class AbstractDisruptionTestCase extends ESIntegTestCase {
6264
6365 static final TimeValue DISRUPTION_HEALING_OVERHEAD = TimeValue .timeValueSeconds (40 ); // we use 30s as timeout in many places.
6466
65- private ClusterDiscoveryConfiguration discoveryConfig ;
67+ private NodeConfigurationSource discoveryConfig ;
6668
6769 @ Override
6870 protected Settings nodeSettings (int nodeOrdinal ) {
@@ -116,18 +118,14 @@ protected void beforeIndexDeletion() throws Exception {
116118 }
117119 }
118120
119- List <String > startCluster (int numberOfNodes ) throws ExecutionException , InterruptedException {
121+ List <String > startCluster (int numberOfNodes ) {
120122 return startCluster (numberOfNodes , -1 );
121123 }
122124
123- List <String > startCluster (int numberOfNodes , int minimumMasterNode ) throws ExecutionException , InterruptedException {
124- return startCluster (numberOfNodes , minimumMasterNode , null );
125- }
126-
127- List <String > startCluster (int numberOfNodes , int minimumMasterNode , @ Nullable int [] unicastHostsOrdinals ) throws
128- ExecutionException , InterruptedException {
129- configureCluster (numberOfNodes , unicastHostsOrdinals , minimumMasterNode );
130- List <String > nodes = internalCluster ().startNodes (numberOfNodes );
125+ List <String > startCluster (int numberOfNodes , int minimumMasterNode ) {
126+ configureCluster (numberOfNodes , minimumMasterNode );
127+ InternalTestCluster internalCluster = internalCluster ();
128+ List <String > nodes = internalCluster .startNodes (numberOfNodes );
131129 ensureStableCluster (numberOfNodes );
132130
133131 // TODO: this is a temporary solution so that nodes will not base their reaction to a partition based on previous successful results
@@ -154,20 +152,11 @@ protected Collection<Class<? extends Plugin>> nodePlugins() {
154152 return Arrays .asList (MockTransportService .TestPlugin .class );
155153 }
156154
157- void configureCluster (
158- int numberOfNodes ,
159- @ Nullable int [] unicastHostsOrdinals ,
160- int minimumMasterNode
161- ) throws ExecutionException , InterruptedException {
162- configureCluster (DEFAULT_SETTINGS , numberOfNodes , unicastHostsOrdinals , minimumMasterNode );
155+ void configureCluster (int numberOfNodes , int minimumMasterNode ) {
156+ configureCluster (DEFAULT_SETTINGS , numberOfNodes , minimumMasterNode );
163157 }
164158
165- void configureCluster (
166- Settings settings ,
167- int numberOfNodes ,
168- @ Nullable int [] unicastHostsOrdinals ,
169- int minimumMasterNode
170- ) throws ExecutionException , InterruptedException {
159+ void configureCluster (Settings settings , int numberOfNodes , int minimumMasterNode ) {
171160 if (minimumMasterNode < 0 ) {
172161 minimumMasterNode = numberOfNodes / 2 + 1 ;
173162 }
@@ -177,14 +166,21 @@ void configureCluster(
177166 .put (settings )
178167 .put (NodeEnvironment .MAX_LOCAL_STORAGE_NODES_SETTING .getKey (), numberOfNodes )
179168 .put (ElectMasterService .DISCOVERY_ZEN_MINIMUM_MASTER_NODES_SETTING .getKey (), minimumMasterNode )
169+ .putList (DISCOVERY_HOSTS_PROVIDER_SETTING .getKey (), "file" )
180170 .build ();
181171
182172 if (discoveryConfig == null ) {
183- if (unicastHostsOrdinals == null ) {
184- discoveryConfig = new ClusterDiscoveryConfiguration .UnicastZen (numberOfNodes , nodeSettings );
185- } else {
186- discoveryConfig = new ClusterDiscoveryConfiguration .UnicastZen (numberOfNodes , nodeSettings , unicastHostsOrdinals );
187- }
173+ discoveryConfig = new NodeConfigurationSource () {
174+ @ Override
175+ public Settings nodeSettings (final int nodeOrdinal ) {
176+ return nodeSettings ;
177+ }
178+
179+ @ Override
180+ public Path nodeConfigPath (final int nodeOrdinal ) {
181+ return null ;
182+ }
183+ };
188184 }
189185 }
190186
0 commit comments