diff options
author | Tor Brede Vekterli <vekterli@verizonmedia.com> | 2021-03-19 15:38:38 +0100 |
---|---|---|
committer | Tor Brede Vekterli <vekterli@verizonmedia.com> | 2021-03-19 16:50:19 +0100 |
commit | 229e5e8adc0c6b20ae5b39a67a60f29ab0b05d7c (patch) | |
tree | 1213b2388a510330d42c94e752c3c32e528cc13e /clustercontroller-core/src/main | |
parent | fdec580a5591030bdd48416dd4b31f64fe3daca9 (diff) |
Make sure to reset any election shortcuts if we go from !ZK -> ZK
Diffstat (limited to 'clustercontroller-core/src/main')
-rw-r--r-- | clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/MasterElectionHandler.java | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/MasterElectionHandler.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/MasterElectionHandler.java index eeddf2fab75..0dd26026c5d 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/MasterElectionHandler.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/MasterElectionHandler.java @@ -55,6 +55,10 @@ public class MasterElectionHandler implements MasterInterface { } public void setUsingZooKeeper(boolean usingZK) { + if (!usingZooKeeper && usingZK) { + // Reset any shortcuts taken by non-ZK election logic. + resetElectionProgress(); + } usingZooKeeper = usingZK; } @@ -224,15 +228,19 @@ public class MasterElectionHandler implements MasterInterface { } public void lostDatabaseConnection() { - if (totalCount > 1) { + if (totalCount > 1 || usingZooKeeper) { log.log(Level.INFO, "Cluster controller " + index + ": Clearing master data as we lost connection on node " + index); - masterData = null; - masterCandidate = null; - followers = 0; - nextMasterData = null; + resetElectionProgress(); } } + private void resetElectionProgress() { + masterData = null; + masterCandidate = null; + followers = 0; + nextMasterData = null; + } + public void writeHtmlState(StringBuilder sb, int stateGatherCount) { sb.append("<h2>Master state</h2>\n"); Integer master = getMaster(); |