diff options
author | Arne H Juul <arnej@yahooinc.com> | 2021-11-11 14:50:02 +0000 |
---|---|---|
committer | Arne H Juul <arnej@yahooinc.com> | 2021-11-11 14:50:20 +0000 |
commit | dee05fc3a8975b22fcb4f96454da869eeb8e93f9 (patch) | |
tree | 0ae2acd46307bd496a65688655980991a2dc7ea2 | |
parent | b91142792f9fda86eeb0b2c40337df6a0aa2c905 (diff) |
add some information while waiting for messagebus network
3 files changed, 26 insertions, 2 deletions
diff --git a/jrt/src/com/yahoo/jrt/slobrok/api/Mirror.java b/jrt/src/com/yahoo/jrt/slobrok/api/Mirror.java index 47c9c545d29..51a3c6b6146 100644 --- a/jrt/src/com/yahoo/jrt/slobrok/api/Mirror.java +++ b/jrt/src/com/yahoo/jrt/slobrok/api/Mirror.java @@ -33,11 +33,12 @@ public class Mirror implements IMirror { private static final Logger log = Logger.getLogger(Mirror.class.getName()); - private final Supervisor orb; + private final Supervisor orb; private final SlobrokList slobroks; private String currSlobrok; private final BackOffPolicy backOff; private volatile int updates = 0; + private volatile long iterations = 0; private boolean requestDone = false; private boolean logOnSuccess = true; private final AtomicReference<Entry[]> specs = new AtomicReference<>(new Entry[0]); @@ -169,6 +170,7 @@ public class Mirror implements IMirror { * Invoked by the update task. */ private void checkForUpdate() { + ++iterations; if (requestDone) { handleUpdate(); requestDone = false; @@ -327,4 +329,12 @@ public class Mirror implements IMirror { } + public void dumpState() { + log.log(Level.INFO, "location broker mirror state: " + + " iterations: " + iterations + + ", connected to: " + target + + ", seen " + updates + " updates" + + ", current server: "+ currSlobrok + + ", list of servers: " + slobroks); + } } diff --git a/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCNetwork.java b/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCNetwork.java index 6b4a0853e29..7ed1b17a5b4 100644 --- a/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCNetwork.java +++ b/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCNetwork.java @@ -42,6 +42,8 @@ import java.util.concurrent.SynchronousQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; +import java.util.logging.Level; +import java.util.logging.Logger; import java.util.stream.Collectors; /** @@ -51,6 +53,8 @@ import java.util.stream.Collectors; */ public class RPCNetwork implements Network, MethodHandler { + private static Logger log = Logger.getLogger(RPCNetwork.class.getName()); + private final AtomicBoolean destroyed = new AtomicBoolean(false); private final Identity identity; private final Supervisor orb; @@ -84,7 +88,7 @@ public class RPCNetwork implements Network, MethodHandler { * @param params a complete set of parameters * @param slobrokConfig subscriber for slobroks config */ - public RPCNetwork(RPCNetworkParams params, SlobrokConfigSubscriber slobrokConfig) { + private RPCNetwork(RPCNetworkParams params, SlobrokConfigSubscriber slobrokConfig) { this.slobroksConfig = slobrokConfig; identity = params.getIdentity(); orb = new Supervisor(new Transport("mbus-rpc-" + identity.getServicePrefix(), params.getNumNetworkThreads(), @@ -147,6 +151,10 @@ public class RPCNetwork implements Network, MethodHandler { if (mirror.ready()) { return true; } + if ((i % 100) == 0) { + log.log(Level.INFO, "waiting for network to become ready ("+(i/100)+" of "+((int)seconds)+" seconds)"); + mirror.dumpState(); + } try { Thread.sleep(10); } catch (InterruptedException e) { diff --git a/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/SlobrokConfigSubscriber.java b/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/SlobrokConfigSubscriber.java index fac1fc0cefd..903a31d3f3a 100755 --- a/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/SlobrokConfigSubscriber.java +++ b/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/SlobrokConfigSubscriber.java @@ -5,6 +5,9 @@ import com.yahoo.config.subscription.ConfigSubscriber; import com.yahoo.jrt.slobrok.api.SlobrokList; import com.yahoo.cloud.config.SlobroksConfig; +import java.util.logging.Level; +import java.util.logging.Logger; + /** * This class implements subscription to slobrok config. * @@ -12,6 +15,7 @@ import com.yahoo.cloud.config.SlobroksConfig; */ public class SlobrokConfigSubscriber implements ConfigSubscriber.SingleSubscriber<SlobroksConfig>{ + private static final Logger log = Logger.getLogger(SlobrokConfigSubscriber.class.getName()); private final SlobrokList slobroks = new SlobrokList(); private ConfigSubscriber subscriber; @@ -21,11 +25,13 @@ public class SlobrokConfigSubscriber implements ConfigSubscriber.SingleSubscribe * @param configId the id of the config to subscribe to */ public SlobrokConfigSubscriber(String configId) { + log.log(Level.FINE, "new slobrok config subscriber with config id: "+configId); subscriber = new ConfigSubscriber(); subscriber.subscribe(this, SlobroksConfig.class, configId); } public SlobrokConfigSubscriber(SlobroksConfig slobroksConfig) { + log.log(Level.FINE, "new slobrok config subscriber with fixed list: "+slobroksConfig); configure(slobroksConfig); } |