diff options
author | Martin Polden <mpolden@mpolden.no> | 2020-12-13 11:05:24 +0100 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2020-12-13 11:18:04 +0100 |
commit | 382c6017f6fa89dc3288a96230ac3873a7e0502f (patch) | |
tree | 9fe23e4d1ca9e22ce578060c62b7fdaadfe8159d /zookeeper-server/zookeeper-server-common | |
parent | 9a5ff9f90bd1fd0de9257e406b73ed6caa9f3466 (diff) |
Log time left on reconfig failure
Diffstat (limited to 'zookeeper-server/zookeeper-server-common')
-rw-r--r-- | zookeeper-server/zookeeper-server-common/src/main/java/com/yahoo/vespa/zookeeper/Reconfigurer.java | 10 |
1 files changed, 7 insertions, 3 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 1ebcff307c4..dfbdad6de5b 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 @@ -88,9 +88,10 @@ public class Reconfigurer extends AbstractComponent { log.log(Level.INFO, "Will reconfigure ZooKeeper cluster. Joining servers: " + joiningServers + ", leaving servers: " + leavingServers); String connectionSpec = localConnectionSpec(activeConfig); - Instant end = Instant.now().plus(reconfigTimeout(newServers.size())); + Instant now = Instant.now(); + Instant end = now.plus(reconfigTimeout(newServers.size())); // Loop reconfiguring since we might need to wait until another reconfiguration is finished before we can succeed - for (int attempt = 1; Instant.now().isBefore(end); attempt++) { + for (int attempt = 1; now.isBefore(end); attempt++) { try { Instant reconfigStarted = Instant.now(); vespaZooKeeperAdmin.reconfigure(connectionSpec, joiningServers, leavingServers); @@ -103,9 +104,12 @@ public class Reconfigurer extends AbstractComponent { return; } catch (ReconfigException e) { Duration delay = backoff.delay(attempt); - log.log(Level.WARNING, "Reconfiguration attempt " + attempt + " failed. Retrying in " + delay + ": " + + log.log(Level.WARNING, "Reconfiguration attempt " + attempt + " failed. Retrying in " + delay + + ", time left " + Duration.between(now, end) + ": " + Exceptions.toMessageString(e)); sleeper.accept(delay); + } finally { + now = Instant.now(); } } } |