diff options
author | Martin Polden <mpolden@mpolden.no> | 2021-02-26 10:46:09 +0100 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2021-02-26 11:51:54 +0100 |
commit | 21ed242ce5500d6ab260d7a5ad7ef5f606d35bb5 (patch) | |
tree | e35362f029edfd69181032e7da5bf9e776c8eed2 | |
parent | ceda21835b048fa22cad303d40b4dc408fd402fc (diff) |
Ignore config with no servers
2 files changed, 6 insertions, 0 deletions
diff --git a/zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/Reconfigurer.java b/zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/Reconfigurer.java index ba2e8d9c92b..1d47d890421 100644 --- a/zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/Reconfigurer.java +++ b/zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/Reconfigurer.java @@ -90,6 +90,7 @@ public class Reconfigurer extends AbstractComponent { private boolean shouldReconfigure(ZookeeperServerConfig newConfig) { if (!newConfig.dynamicReconfiguration()) return false; if (activeConfig == null) return false; + if (newConfig.server().isEmpty()) return false; return !newConfig.equals(activeConfig()); } diff --git a/zookeeper-server/zookeeper-server-common/src/test/java/com/yahoo/vespa/zookeeper/ReconfigurerTest.java b/zookeeper-server/zookeeper-server-common/src/test/java/com/yahoo/vespa/zookeeper/ReconfigurerTest.java index 5b99ef70f57..97102ed7f58 100644 --- a/zookeeper-server/zookeeper-server-common/src/test/java/com/yahoo/vespa/zookeeper/ReconfigurerTest.java +++ b/zookeeper-server/zookeeper-server-common/src/test/java/com/yahoo/vespa/zookeeper/ReconfigurerTest.java @@ -66,6 +66,11 @@ public class ReconfigurerTest { assertEquals(1, reconfigurer.reconfigurations()); assertSame(nextConfig, reconfigurer.activeConfig()); + // No reconfiguration happens with empty config + reconfigurer.startOrReconfigure(createConfig(0, true)); + assertEquals(1, reconfigurer.reconfigurations()); + assertSame(nextConfig, reconfigurer.activeConfig()); + // Cluster shrinks nextConfig = createConfig(3, true); reconfigurer.startOrReconfigure(nextConfig); |