diff options
author | Harald Musum <musum@verizonmedia.com> | 2020-10-02 09:31:26 +0200 |
---|---|---|
committer | Harald Musum <musum@verizonmedia.com> | 2020-10-02 09:31:26 +0200 |
commit | 1a6f1eb56eb57b5300b676790bb8583ac4806e48 (patch) | |
tree | 40e4b0cd4852c8191f6eafb3ec050fc108e87c34 /clustercontroller-core | |
parent | ebe20db2bf63f001e5792812057e7ae8bc76c385 (diff) |
Cleanup
Diffstat (limited to 'clustercontroller-core')
3 files changed, 33 insertions, 44 deletions
diff --git a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/FleetControllerTest.java b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/FleetControllerTest.java index 5c910983bc9..1587e2696b8 100644 --- a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/FleetControllerTest.java +++ b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/FleetControllerTest.java @@ -54,7 +54,7 @@ import static org.junit.Assert.fail; */ public abstract class FleetControllerTest implements Waiter { - private static Logger log = Logger.getLogger(FleetControllerTest.class.getName()); + private static final Logger log = Logger.getLogger(FleetControllerTest.class.getName()); private static final int DEFAULT_NODE_COUNT = 10; Supervisor supervisor; @@ -342,10 +342,6 @@ public abstract class FleetControllerTest implements Waiter { fleetController.waitForCompleteCycle(timeoutMS); } - protected void verifyNodeEvents(Node n, String exp) { - verifyNodeEvents(n, exp, null); - } - private static class ExpectLine { Pattern regex; int matchedCount = 0; @@ -390,17 +386,15 @@ public abstract class FleetControllerTest implements Waiter { * <li>The rest of the line is a regular expression. * </ul> */ - private void verifyNodeEvents(Node n, String exp, String ignoreRegex) { - Pattern ignorePattern = (ignoreRegex == null ? null : Pattern.compile(ignoreRegex)); + protected void verifyNodeEvents(Node n, String exp) { List<NodeEvent> events = fleetController.getNodeEvents(n); String[] expectLines = exp.split("\n"); - List<ExpectLine> expected = new ArrayList<ExpectLine>(); + List<ExpectLine> expected = new ArrayList<>(); for (String line : expectLines) { expected.add(new ExpectLine(line)); } boolean mismatch = false; - StringBuilder eventLog = new StringBuilder(); StringBuilder errors = new StringBuilder(); int gotno = 0; @@ -413,16 +407,10 @@ public abstract class FleetControllerTest implements Waiter { eventLine = e.toString(); } - if (ignorePattern != null && ignorePattern.matcher(eventLine).matches()) { - ++gotno; - continue; - } - ExpectLine pattern = null; if (expno < expected.size()) { pattern = expected.get(expno); } - eventLog.append(eventLine).append("\n"); if (pattern == null) { errors.append("Exhausted expected list before matching event " + gotno @@ -456,9 +444,6 @@ public abstract class FleetControllerTest implements Waiter { StringBuilder eventsGotten = new StringBuilder(); for (Event e : events) { String eventLine = e.toString(); - if (ignorePattern != null && ignorePattern.matcher(eventLine).matches()) { - continue; - } eventsGotten.append(eventLine).append("\n"); } errors.append("\nExpected events matching:\n" + exp + "\n"); 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 557765ca761..e517fb782ef 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 @@ -31,10 +31,10 @@ import static org.junit.Assert.assertTrue; public class MasterElectionTest extends FleetControllerTest { - private static Logger log = Logger.getLogger(MasterElectionTest.class.getName()); + private static final Logger log = Logger.getLogger(MasterElectionTest.class.getName()); private Supervisor supervisor; - private List<FleetController> fleetControllers = new ArrayList<>(); + private final List<FleetController> fleetControllers = new ArrayList<>(); @Rule public TestRule cleanupZookeeperLogsOnSuccess = new CleanupZookeeperLogsOnSuccess(); @@ -74,12 +74,12 @@ public class MasterElectionTest extends FleetControllerTest { private void waitForZookeeperDisconnected() throws TimeoutException { long maxTime = System.currentTimeMillis() + timeoutMS; - for(FleetController f : fleetControllers) { - while (true) { - if (!f.hasZookeeperConnection()) break; + for (FleetController f : fleetControllers) { + while (f.hasZookeeperConnection()) { timer.advanceTime(1000); - try{ Thread.sleep(1); } catch (InterruptedException e) {} - if (System.currentTimeMillis() > maxTime) throw new TimeoutException("Failed to notice zookeeper down within timeout of " + timeoutMS + " ms"); + try { Thread.sleep(1); } catch (InterruptedException e) {} + if (System.currentTimeMillis() > maxTime) + throw new TimeoutException("Failed to notice zookeeper down within timeout of " + timeoutMS + " ms"); } } waitForCompleteCycles(); @@ -116,7 +116,6 @@ public class MasterElectionTest extends FleetControllerTest { /** Ignored for unknown reasons */ @Test - @Ignore public void testMasterElection() throws Exception { startingTest("MasterElectionTest::testMasterElection"); log.log(Level.INFO, "STARTING TEST: MasterElectionTest::testMasterElection()"); @@ -226,24 +225,20 @@ public class MasterElectionTest extends FleetControllerTest { startingTest("MasterElectionTest::testClusterStateVersionIncreasesAcrossMasterElections"); FleetControllerOptions options = defaultOptions("mycluster"); options.masterZooKeeperCooldownPeriod = 1; - setUpFleetController(5, false, options); + setUpFleetController(3, 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()); fleetController = fleetControllers.get(0); // Required to prevent waitForStableSystem from NPE'ing waitForStableSystem(); waitForMaster(0); - Stream.of(0, 1, 2, 3, 4).forEach(this::waitForCompleteCycle); + Stream.of(0, 1, 2).forEach(this::waitForCompleteCycle); StrictlyIncreasingVersionChecker checker = StrictlyIncreasingVersionChecker.bootstrappedWith( fleetControllers.get(0).getClusterState()); fleetControllers.get(0).shutdown(); waitForMaster(1); - Stream.of(1, 2, 3, 4).forEach(this::waitForCompleteCycle); + Stream.of(1, 2).forEach(this::waitForCompleteCycle); checker.updateAndVerify(fleetControllers.get(1).getClusterState()); - fleetControllers.get(1).shutdown(); - waitForMaster(2); // Still a quorum available - Stream.of(2, 3, 4).forEach(this::waitForCompleteCycle); - checker.updateAndVerify(fleetControllers.get(2).getClusterState()); } @Test @@ -275,7 +270,7 @@ public class MasterElectionTest extends FleetControllerTest { FleetControllerOptions options = defaultOptions("mycluster"); options.masterZooKeeperCooldownPeriod = 100; options.zooKeeperServerAddress = "localhost"; - setUpFleetController(5, false, options); + setUpFleetController(3, false, options); waitForMaster(0); log.log(Level.INFO, "STOPPING ZOOKEEPER SERVER AT " + zooKeeperServer.getAddress()); @@ -329,12 +324,21 @@ public class MasterElectionTest extends FleetControllerTest { long endTime = System.currentTimeMillis() + timeoutMS; while (System.currentTimeMillis() < endTime) { boolean allOk = true; - for (int i=0; i<nodes.length; ++i) { + for (int node : nodes) { Request req = new Request("getMaster"); - connections.get(nodes[i]).invokeSync(req, FleetControllerTest.timeoutS); - if (req.isError()) { allOk = false; break; } - if (master != null && master != req.returnValues().get(0).asInt32()) { allOk = false; break; } - if (reason != null && !reason.equals(req.returnValues().get(1).asString())) { allOk = false; break; } + connections.get(node).invokeSync(req, FleetControllerTest.timeoutS); + if (req.isError()) { + allOk = false; + break; + } + if (master != null && master != req.returnValues().get(0).asInt32()) { + allOk = false; + break; + } + if (reason != null && ! reason.equals(req.returnValues().get(1).asString())) { + allOk = false; + break; + } } if (allOk) return; try{ Thread.sleep(100); } catch (InterruptedException e) {} @@ -354,7 +358,7 @@ public class MasterElectionTest extends FleetControllerTest { waitForMaster(0); supervisor = new Supervisor(new Transport()); - List<Target> connections = new ArrayList<Target>(); + List<Target> connections = new ArrayList<>(); for (FleetController fleetController : fleetControllers) { int rpcPort = fleetController.getRpcPort(); Target connection = supervisor.connect(new Spec("localhost", rpcPort)); diff --git a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/ZooKeeperTestServer.java b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/ZooKeeperTestServer.java index 73b4163d542..7861db249bd 100644 --- a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/ZooKeeperTestServer.java +++ b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/ZooKeeperTestServer.java @@ -14,10 +14,10 @@ import java.time.Duration; * This class sets up a zookeeper server, such that we can test fleetcontroller zookeeper parts without stubbing in the client. */ public class ZooKeeperTestServer { - private File zooKeeperDir; - private ZooKeeperServer server; + private final File zooKeeperDir; + private final ZooKeeperServer server; private static final Duration tickTime = Duration.ofMillis(2000); - private NIOServerCnxnFactory factory; + private final NIOServerCnxnFactory factory; private static final String DIR_PREFIX = "test_fltctrl_zk"; private static final String DIR_POSTFIX = "sdir"; @@ -39,7 +39,7 @@ public class ZooKeeperTestServer { try{ factory.startup(server); } catch (InterruptedException e) { - throw (RuntimeException) new IllegalStateException("Interrupted during test startup: ").initCause(e); + throw new IllegalStateException("Interrupted during test startup: ", e); } } |