summaryrefslogtreecommitdiffstats
path: root/clustercontroller-core
diff options
context:
space:
mode:
authorHarald Musum <musum@yahooinc.com>2022-08-17 23:26:38 +0200
committerHarald Musum <musum@yahooinc.com>2022-08-17 23:26:38 +0200
commit91ac5ebef7aa1a14017472842e9d14c5c7420ae3 (patch)
tree98249c869533cfb04f64875a50e26ca8a3918e2d /clustercontroller-core
parent68995ca7956eb6f6715afec3b07594188e52f8af (diff)
Simplify by always using 3 fleet controllers
Diffstat (limited to 'clustercontroller-core')
-rw-r--r--clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/MasterElectionTest.java52
1 files changed, 15 insertions, 37 deletions
diff --git a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/MasterElectionTest.java b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/MasterElectionTest.java
index 702a18b7bbc..e4535076e07 100644
--- a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/MasterElectionTest.java
+++ b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/MasterElectionTest.java
@@ -39,7 +39,7 @@ public class MasterElectionTest extends FleetControllerTest {
private static int defaultZkSessionTimeoutInMillis() { return 30_000; }
- protected void setUpFleetController(int count, boolean useFakeTimer, FleetControllerOptions options) throws Exception {
+ protected void setUpFleetControllers(boolean useFakeTimer, FleetControllerOptions options) throws Exception {
if (zooKeeperServer == null) {
zooKeeperServer = new ZooKeeperTestServer();
}
@@ -48,21 +48,20 @@ public class MasterElectionTest extends FleetControllerTest {
this.options.zooKeeperSessionTimeout = defaultZkSessionTimeoutInMillis();
this.options.zooKeeperServerAddress = zooKeeperServer.getAddress();
this.options.slobrokConnectionSpecs = getSlobrokConnectionSpecs(slobrok);
- this.options.fleetControllerCount = count;
- for (int i=0; i<count; ++i) {
+ this.options.fleetControllerCount = 3;
+ for (int i = 0; i< this.options.fleetControllerCount; ++i) {
FleetControllerOptions nodeOptions = options.clone();
nodeOptions.fleetControllerIndex = i;
fleetControllers.add(createFleetController(useFakeTimer, nodeOptions));
}
}
- private FleetControllerOptions adjustConfig(FleetControllerOptions o, int fleetControllerIndex, int fleetControllerCount) {
+ private FleetControllerOptions adjustConfig(FleetControllerOptions o, int fleetControllerIndex) {
FleetControllerOptions options = o.clone();
options.zooKeeperSessionTimeout = defaultZkSessionTimeoutInMillis();
options.zooKeeperServerAddress = zooKeeperServer.getAddress();
options.slobrokConnectionSpecs = getSlobrokConnectionSpecs(slobrok);
options.fleetControllerIndex = fleetControllerIndex;
- options.fleetControllerCount = fleetControllerCount;
return options;
}
@@ -114,16 +113,13 @@ public class MasterElectionTest extends FleetControllerTest {
FleetControllerOptions options = defaultOptions("mycluster");
options.masterZooKeeperCooldownPeriod = 100;
boolean usingFakeTimer = false;
- setUpFleetController(5, usingFakeTimer, options);
+ setUpFleetControllers(usingFakeTimer, options);
waitForMaster(0);
log.log(Level.INFO, "SHUTTING DOWN FLEET CONTROLLER 0");
fleetControllers.get(0).shutdown();
waitForMaster(1);
log.log(Level.INFO, "SHUTTING DOWN FLEET CONTROLLER 1");
fleetControllers.get(1).shutdown();
- waitForMaster(2);
- log.log(Level.INFO, "SHUTTING DOWN FLEET CONTROLLER 2");
- fleetControllers.get(2).shutdown();
// Too few for there to be a master at this point
for (int i = 0; i < fleetControllers.size(); ++i) {
@@ -131,30 +127,12 @@ public class MasterElectionTest extends FleetControllerTest {
assertFalse(fleetControllers.get(i).isMaster(), "Fleet controller " + i);
}
- log.log(Level.INFO, "STARTING FLEET CONTROLLER 2");
- fleetControllers.set(2, createFleetController(usingFakeTimer, fleetControllers.get(2).getOptions()));
- waitForMaster(2);
log.log(Level.INFO, "STARTING FLEET CONTROLLER 0");
fleetControllers.set(0, createFleetController(usingFakeTimer, fleetControllers.get(0).getOptions()));
waitForMaster(0);
log.log(Level.INFO, "STARTING FLEET CONTROLLER 1");
fleetControllers.set(1, createFleetController(usingFakeTimer, fleetControllers.get(1).getOptions()));
waitForMaster(0);
-
- log.log(Level.INFO, "SHUTTING DOWN FLEET CONTROLLER 4");
- fleetControllers.get(4).shutdown();
- waitForMaster(0);
- log.log(Level.INFO, "SHUTTING DOWN FLEET CONTROLLER 3");
- fleetControllers.get(3).shutdown();
- waitForMaster(0);
- log.log(Level.INFO, "SHUTTING DOWN FLEET CONTROLLER 2");
- fleetControllers.get(2).shutdown();
-
- // Too few for there to be a master at this point
- for (int i = 0; i < fleetControllers.size(); ++i) {
- if (fleetControllers.get(i).isRunning()) waitForCompleteCycle(i);
- assertFalse(fleetControllers.get(i).isMaster());
- }
}
private void waitForMaster(int master) {
@@ -218,7 +196,7 @@ public class MasterElectionTest extends FleetControllerTest {
startingTest("MasterElectionTest::testClusterStateVersionIncreasesAcrossMasterElections");
FleetControllerOptions options = defaultOptions("mycluster");
options.masterZooKeeperCooldownPeriod = 1;
- setUpFleetController(3, false, options);
+ setUpFleetControllers(false, options);
// Currently need to have content nodes present for the cluster controller to even bother
// attempting to persisting its cluster state version to ZK.
setUpVdsNodes(false, new DummyVdsNodeOptions());
@@ -241,7 +219,7 @@ public class MasterElectionTest extends FleetControllerTest {
// "Magic" port value is in range allocated to module for testing.
zooKeeperServer = ZooKeeperTestServer.createWithFixedPort(18342);
options.masterZooKeeperCooldownPeriod = 100;
- setUpFleetController(2, false, options);
+ setUpFleetControllers(false, options);
waitForMaster(0);
zooKeeperServer.shutdown(true);
@@ -261,7 +239,7 @@ public class MasterElectionTest extends FleetControllerTest {
FleetControllerOptions options = defaultOptions("mycluster");
options.masterZooKeeperCooldownPeriod = 100;
options.zooKeeperServerAddress = "localhost";
- setUpFleetController(3, false, options);
+ setUpFleetControllers(false, options);
waitForMaster(0);
log.log(Level.INFO, "STOPPING ZOOKEEPER SERVER AT " + zooKeeperServer.getAddress());
@@ -292,7 +270,7 @@ public class MasterElectionTest extends FleetControllerTest {
startingTest("MasterElectionTest::testMasterZooKeeperCooldown");
FleetControllerOptions options = defaultOptions("mycluster");
options.masterZooKeeperCooldownPeriod = 3600 * 1000; // An hour
- setUpFleetController(3, true, options);
+ setUpFleetControllers(true, options);
waitForMaster(0);
timer.advanceTime(24 * 3600 * 1000); // A day
waitForCompleteCycle(1);
@@ -340,7 +318,7 @@ public class MasterElectionTest extends FleetControllerTest {
startingTest("MasterElectionTest::testGetMaster");
FleetControllerOptions options = defaultOptions("mycluster");
options.masterZooKeeperCooldownPeriod = 3600 * 1000; // An hour
- setUpFleetController(3, true, options);
+ setUpFleetControllers(true, options);
waitForMaster(0);
supervisor = new Supervisor(new Transport());
@@ -422,12 +400,12 @@ public class MasterElectionTest extends FleetControllerTest {
startingTest("MasterElectionTest::testReconfigure");
FleetControllerOptions options = defaultOptions("mycluster");
options.masterZooKeeperCooldownPeriod = 1;
- setUpFleetController(3, false, options);
+ setUpFleetControllers(false, options);
waitForMaster(0);
FleetControllerOptions newOptions = options.clone();
for (int i = 0; i < fleetControllers.size(); ++i) {
- FleetControllerOptions nodeOptions = adjustConfig(newOptions, i, fleetControllers.size());
+ FleetControllerOptions nodeOptions = adjustConfig(newOptions, i);
fleetControllers.get(i).updateOptions(nodeOptions);
}
waitForMaster(0);
@@ -451,7 +429,7 @@ public class MasterElectionTest extends FleetControllerTest {
options.minRatioOfStorageNodesUp = 0;
options.minDistributorNodesUp = 0;
options.minStorageNodesUp = 1;
- setUpFleetController(3, false, options);
+ setUpFleetControllers(false, options);
setUpVdsNodes(false, new DummyVdsNodeOptions());
fleetController = fleetControllers.get(0); // Required to prevent waitForStableSystem from NPE'ing
waitForStableSystem();
@@ -496,7 +474,7 @@ public class MasterElectionTest extends FleetControllerTest {
options.masterZooKeeperCooldownPeriod = 1;
options.minTimeBeforeFirstSystemStateBroadcast = 100000;
boolean useFakeTimer = false;
- setUpFleetController(3, useFakeTimer, options);
+ setUpFleetControllers(useFakeTimer, options);
setUpVdsNodes(false, new DummyVdsNodeOptions());
fleetController = fleetControllers.get(0); // Required to prevent waitForStableSystem from NPE'ing
waitForMaster(0);
@@ -539,7 +517,7 @@ public class MasterElectionTest extends FleetControllerTest {
options.clusterHasGlobalDocumentTypes = false;
options.masterZooKeeperCooldownPeriod = 1;
options.minTimeBeforeFirstSystemStateBroadcast = 100000;
- setUpFleetController(3, false, options);
+ setUpFleetControllers(false, options);
setUpVdsNodes(false, new DummyVdsNodeOptions());
fleetController = fleetControllers.get(0); // Required to prevent waitForStableSystem from NPE'ing
waitForMaster(0);