diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2022-01-11 18:38:52 +0100 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2022-01-11 18:38:52 +0100 |
commit | bb0835113c3eb6d970b42c25698509ead9ced7f1 (patch) | |
tree | fa407274e2be36cedc85cd226d100bb7c93a9ed9 | |
parent | 2df1fbcfce8322a21910a12e95bb842d277547f6 (diff) |
Retry reading when ocnnection loss
2 files changed, 20 insertions, 6 deletions
diff --git a/zookeeper-server/zookeeper-server-3.6.3/src/test/java/com/yahoo/vespa/zookeper/VespaZooKeeperTest.java b/zookeeper-server/zookeeper-server-3.6.3/src/test/java/com/yahoo/vespa/zookeper/VespaZooKeeperTest.java index eede7239a4c..be59e9c89f8 100644 --- a/zookeeper-server/zookeeper-server-3.6.3/src/test/java/com/yahoo/vespa/zookeper/VespaZooKeeperTest.java +++ b/zookeeper-server/zookeeper-server-3.6.3/src/test/java/com/yahoo/vespa/zookeper/VespaZooKeeperTest.java @@ -96,7 +96,6 @@ public class VespaZooKeeperTest { // Cluster shrinks to a single server. - // TODO: Consider throwing old dynamic config file when this can never allow quorum with existing servers. configs = getConfigs(5, 0, 1, 0); for (int i = 3; i < 6; i++) keepers.get(i).config = configs.get(i); for (int i = 5; i < 6; i++) keepers.get(i).phaser.arriveAndAwaitAdvance(); @@ -130,8 +129,16 @@ public class VespaZooKeeperTest { } static void verifyData(String path, ZookeeperServerConfig config) throws IOException, InterruptedException, KeeperException { - ZooKeeperAdmin admin = createAdmin(config); - assertEquals("hi", new String(admin.getData(path, false, new Stat()), UTF_8)); + for (int i = 0; i < 10; i++) { + try { + assertEquals("hi", new String(createAdmin(config).getData(path, false, new Stat()), UTF_8)); + return; + } + catch (KeeperException.ConnectionLossException e) { + e.printStackTrace(); + Thread.sleep(10 << i); + } + } } static ZooKeeperAdmin createAdmin(ZookeeperServerConfig config) throws IOException { diff --git a/zookeeper-server/zookeeper-server-3.7.0/src/test/java/com/yahoo/vespa/zookeper/VespaZooKeeperTest.java b/zookeeper-server/zookeeper-server-3.7.0/src/test/java/com/yahoo/vespa/zookeper/VespaZooKeeperTest.java index eede7239a4c..be59e9c89f8 100644 --- a/zookeeper-server/zookeeper-server-3.7.0/src/test/java/com/yahoo/vespa/zookeper/VespaZooKeeperTest.java +++ b/zookeeper-server/zookeeper-server-3.7.0/src/test/java/com/yahoo/vespa/zookeper/VespaZooKeeperTest.java @@ -96,7 +96,6 @@ public class VespaZooKeeperTest { // Cluster shrinks to a single server. - // TODO: Consider throwing old dynamic config file when this can never allow quorum with existing servers. configs = getConfigs(5, 0, 1, 0); for (int i = 3; i < 6; i++) keepers.get(i).config = configs.get(i); for (int i = 5; i < 6; i++) keepers.get(i).phaser.arriveAndAwaitAdvance(); @@ -130,8 +129,16 @@ public class VespaZooKeeperTest { } static void verifyData(String path, ZookeeperServerConfig config) throws IOException, InterruptedException, KeeperException { - ZooKeeperAdmin admin = createAdmin(config); - assertEquals("hi", new String(admin.getData(path, false, new Stat()), UTF_8)); + for (int i = 0; i < 10; i++) { + try { + assertEquals("hi", new String(createAdmin(config).getData(path, false, new Stat()), UTF_8)); + return; + } + catch (KeeperException.ConnectionLossException e) { + e.printStackTrace(); + Thread.sleep(10 << i); + } + } } static ZooKeeperAdmin createAdmin(ZookeeperServerConfig config) throws IOException { |