diff options
author | Håkon Hallingstad <hakon@verizonmedia.com> | 2021-08-02 14:48:33 +0200 |
---|---|---|
committer | Håkon Hallingstad <hakon@verizonmedia.com> | 2021-08-02 14:48:33 +0200 |
commit | 0c5b3a1767b3f993c4223c0a397ecada6daab21d (patch) | |
tree | 796a434b1be7fddfd9d6e868e314026be484184d /zkfacade | |
parent | 664f635fb91a06472dec6bf77dc727ebe80e683c (diff) |
Add more debug logging in CuratorCompletionWaiter
Diffstat (limited to 'zkfacade')
-rw-r--r-- | zkfacade/src/main/java/com/yahoo/vespa/curator/CuratorCompletionWaiter.java | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/zkfacade/src/main/java/com/yahoo/vespa/curator/CuratorCompletionWaiter.java b/zkfacade/src/main/java/com/yahoo/vespa/curator/CuratorCompletionWaiter.java index af269fc2ad5..cb4ac06f193 100644 --- a/zkfacade/src/main/java/com/yahoo/vespa/curator/CuratorCompletionWaiter.java +++ b/zkfacade/src/main/java/com/yahoo/vespa/curator/CuratorCompletionWaiter.java @@ -1,14 +1,15 @@ // Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.curator; -import java.util.ArrayList; -import java.util.logging.Level; +import com.yahoo.log.LogLevel; import com.yahoo.path.Path; import java.time.Clock; import java.time.Duration; import java.time.Instant; +import java.util.ArrayList; import java.util.List; +import java.util.logging.Level; /** * Implementation of a Barrier that handles the case where more than number of members can call synchronize. If @@ -55,29 +56,32 @@ class CuratorCompletionWaiter implements Curator.CompletionWaiter { private List<String> awaitInternal(Duration timeout) throws Exception { Instant startTime = clock.instant(); Instant endTime = startTime.plus(timeout); + log.log(LogLevel.FINE, () -> "Waiting on " + barrierPath + " barrier w/timeout " + timeout); + List<String> respondents = new ArrayList<>(); do { respondents.clear(); respondents.addAll(curator.framework().getChildren().forPath(barrierPath)); - if (log.isLoggable(Level.FINE)) { - log.log(Level.FINE, respondents.size() + "/" + curator.zooKeeperEnsembleCount() + " responded: " + - respondents + ", all participants: " + curator.zooKeeperEnsembleConnectionSpec()); + if (log.isLoggable(Level.FINER)) { + log.log(Level.FINER, respondents.size() + "/" + curator.zooKeeperEnsembleCount() + " responded: " + + respondents + ", all participants: " + curator.zooKeeperEnsembleConnectionSpec()); } // First, check if all config servers responded if (respondents.size() == curator.zooKeeperEnsembleCount()) { log.log(Level.FINE, () -> barrierCompletedMessage(respondents, startTime)); - break; + return respondents; } // If some are missing, quorum is enough if (respondents.size() >= barrierMemberCount()) { log.log(Level.FINE, () -> barrierCompletedMessage(respondents, startTime)); - break; + return respondents; } Thread.sleep(100); } while (clock.instant().isBefore(endTime)); + log.log(LogLevel.FINE, () -> "Timed out on " + barrierPath); return respondents; } |