diff options
author | Martin Polden <mpolden@mpolden.no> | 2020-12-03 15:23:42 +0100 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2020-12-03 15:32:27 +0100 |
commit | 2ee31a434760885d92e3c89c6a8289bd04ee6152 (patch) | |
tree | 33d22368bc8e86927001780354078532089ca0a1 /zookeeper-server | |
parent | 274f248d4f9c24b313c171c66b5082613a4d118e (diff) |
Pass only parameters needed for incremental reconfig
Diffstat (limited to 'zookeeper-server')
2 files changed, 2 insertions, 13 deletions
diff --git a/zookeeper-server/zookeeper-server-3.5.6/src/main/java/com/yahoo/vespa/zookeeper/Reconfigurer.java b/zookeeper-server/zookeeper-server-3.5.6/src/main/java/com/yahoo/vespa/zookeeper/Reconfigurer.java index 43ed25c1b18..f6789118eb6 100644 --- a/zookeeper-server/zookeeper-server-3.5.6/src/main/java/com/yahoo/vespa/zookeeper/Reconfigurer.java +++ b/zookeeper-server/zookeeper-server-3.5.6/src/main/java/com/yahoo/vespa/zookeeper/Reconfigurer.java @@ -60,11 +60,9 @@ public class Reconfigurer extends AbstractComponent { void reconfigure(ReconfigurationInfo reconfigurationInfo) { List<String> joiningServers = reconfigurationInfo.joiningServers(); List<String> leavingServers = reconfigurationInfo.leavingServers(); - List<String> addedServers = reconfigurationInfo.addedServers(); log.log(Level.INFO, "Will reconfigure zookeeper cluster. Joining servers: " + joiningServers + - ", leaving servers: " + leavingServers + - ", new members: " + addedServers); + ", leaving servers: " + leavingServers); try { ZooKeeperAdmin zooKeeperAdmin = new ZooKeeperAdmin(connectionSpec(reconfigurationInfo.existingConfig()), (int) sessionTimeout.toMillis(), @@ -73,9 +71,8 @@ public class Reconfigurer extends AbstractComponent { long fromConfig = -1; String joiningServersString = String.join(",", joiningServers); String leavingServersString = String.join(",", leavingServers); - String addedServersString = String.join(",", addedServers); // Using string parameters because the List variant of reconfigure fails to join empty lists (observed on 3.5.6, fixed in 3.7.0) - zooKeeperAdmin.reconfigure(joiningServersString, leavingServersString, addedServersString, fromConfig, null); + zooKeeperAdmin.reconfigure(joiningServersString, leavingServersString, null, fromConfig, null); } catch (IOException | KeeperException | InterruptedException e) { throw new RuntimeException(e); } @@ -111,7 +108,6 @@ public class Reconfigurer extends AbstractComponent { private final ZookeeperServerConfig existingConfig; private final List<String> joiningServers; private final List<String> leavingServers; - private final List<String> addedServers; public ReconfigurationInfo(ZookeeperServerConfig existingConfig, ZookeeperServerConfig newConfig) { this.existingConfig = existingConfig; @@ -119,7 +115,6 @@ public class Reconfigurer extends AbstractComponent { this.joiningServers = servers(newConfig); this.leavingServers = setDifference(originalServers, servers(newConfig)); - this.addedServers = setDifference(servers(newConfig), originalServers); } public ZookeeperServerConfig existingConfig() { @@ -134,10 +129,6 @@ public class Reconfigurer extends AbstractComponent { return leavingServers; } - public List<String> addedServers() { - return addedServers; - } - } } diff --git a/zookeeper-server/zookeeper-server-3.5.6/src/test/java/com/yahoo/vespa/zookeeper/ReconfigurerTest.java b/zookeeper-server/zookeeper-server-3.5.6/src/test/java/com/yahoo/vespa/zookeeper/ReconfigurerTest.java index 3086cf8b43e..82d964f819f 100644 --- a/zookeeper-server/zookeeper-server-3.5.6/src/test/java/com/yahoo/vespa/zookeeper/ReconfigurerTest.java +++ b/zookeeper-server/zookeeper-server-3.5.6/src/test/java/com/yahoo/vespa/zookeeper/ReconfigurerTest.java @@ -89,14 +89,12 @@ public class ReconfigurerTest { ZookeeperServerConfig existingConfig = reconfigurer.existingConfig(); int currentServerCount = reconfigurer.existingConfig().server().size(); int expectedLeavingServers = Math.max(0, currentServerCount - numberOfServers); - int expectedAddedServers = Math.max(0, numberOfServers - currentServerCount); ZookeeperServerConfig newConfig = createConfigAllowReconfiguring(numberOfServers); assertTrue(reconfigurer.shouldReconfigure(newConfig)); Reconfigurer.ReconfigurationInfo reconfigurationInfo = new Reconfigurer.ReconfigurationInfo(existingConfig, newConfig); assertEquals(numberOfServers, reconfigurationInfo.joiningServers().size()); assertEquals(expectedLeavingServers, reconfigurationInfo.leavingServers().size()); - assertEquals(expectedAddedServers, reconfigurationInfo.addedServers().size()); } } |