@@ -1091,14 +1091,12 @@ private synchronized void reset(boolean wipeData) throws IOException {
10911091 final int defaultMinMasterNodes = (numberOfMasterNodes / 2 ) + 1 ;
10921092 final List <NodeAndClient > toStartAndPublish = new ArrayList <>(); // we want to start nodes in one go due to min master nodes
10931093 final Runnable onTransportServiceStarted = () -> rebuildUnicastHostFiles (toStartAndPublish );
1094- boolean bootstrapNodeRequired = prevNodeCount == 0 ;
10951094 for (int i = 0 ; i < numSharedDedicatedMasterNodes ; i ++) {
10961095 final Settings .Builder settings = Settings .builder ();
10971096 settings .put (Node .NODE_MASTER_SETTING .getKey (), true );
10981097 settings .put (Node .NODE_DATA_SETTING .getKey (), false );
1099- if (bootstrapNodeRequired ) {
1100- settings .put (INITIAL_MASTER_NODE_COUNT_SETTING .getKey (), numSharedDedicatedMasterNodes );
1101- bootstrapNodeRequired = false ;
1098+ if (prevNodeCount == 0 && autoManageMinMasterNodes ) {
1099+ settings .put (INITIAL_MASTER_NODE_COUNT_SETTING .getKey (), numSharedDedicatedMasterNodes + numSharedDataNodes );
11021100 }
11031101 NodeAndClient nodeAndClient = buildNode (i , sharedNodesSeeds [i ], settings .build (), true , defaultMinMasterNodes ,
11041102 onTransportServiceStarted );
@@ -1110,9 +1108,8 @@ private synchronized void reset(boolean wipeData) throws IOException {
11101108 // if we don't have dedicated master nodes, keep things default
11111109 settings .put (Node .NODE_MASTER_SETTING .getKey (), false ).build ();
11121110 settings .put (Node .NODE_DATA_SETTING .getKey (), true ).build ();
1113- } else if (bootstrapNodeRequired ) {
1114- settings .put (INITIAL_MASTER_NODE_COUNT_SETTING .getKey (), numSharedDataNodes );
1115- bootstrapNodeRequired = false ;
1111+ } else if (prevNodeCount == 0 && autoManageMinMasterNodes ) {
1112+ settings .put (INITIAL_MASTER_NODE_COUNT_SETTING .getKey (), numSharedDedicatedMasterNodes + numSharedDataNodes );
11161113 }
11171114 NodeAndClient nodeAndClient = buildNode (i , sharedNodesSeeds [i ], settings .build (), true , defaultMinMasterNodes ,
11181115 onTransportServiceStarted );
@@ -1931,23 +1928,20 @@ public synchronized List<String> startNodes(Settings... settings) {
19311928 }
19321929 final List <NodeAndClient > nodes = new ArrayList <>();
19331930 final int prevMasterCount = getMasterNodesCount ();
1934- boolean bootstrapNodeRequired = prevMasterCount == 0 ;
19351931 for (Settings nodeSettings : settings ) {
19361932 final Settings nodeSettingsIncludingBootstrap ;
1937- if (bootstrapNodeRequired ) {
1933+ if (prevMasterCount == 0 && autoManageMinMasterNodes ) {
19381934 nodeSettingsIncludingBootstrap = Settings .builder ()
19391935 .put (INITIAL_MASTER_NODE_COUNT_SETTING .getKey (),
19401936 (int ) Stream .of (settings ).filter (Node .NODE_MASTER_SETTING ::get ).count ())
19411937 .put (nodeSettings )
19421938 .build ();
1943- bootstrapNodeRequired = false ;
19441939 } else {
19451940 nodeSettingsIncludingBootstrap = nodeSettings ;
19461941 }
19471942
19481943 nodes .add (buildNode (nodeSettingsIncludingBootstrap , defaultMinMasterNodes , () -> rebuildUnicastHostFiles (nodes )));
19491944 }
1950- assert bootstrapNodeRequired == false ;
19511945 startAndPublishNodesAndClients (nodes );
19521946 if (autoManageMinMasterNodes ) {
19531947 validateClusterFormed ();
0 commit comments