summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahooinc.com>2021-11-11 14:50:02 +0000
committerArne H Juul <arnej@yahooinc.com>2021-11-11 14:50:20 +0000
commitdee05fc3a8975b22fcb4f96454da869eeb8e93f9 (patch)
tree0ae2acd46307bd496a65688655980991a2dc7ea2
parentb91142792f9fda86eeb0b2c40337df6a0aa2c905 (diff)
add some information while waiting for messagebus network
-rw-r--r--jrt/src/com/yahoo/jrt/slobrok/api/Mirror.java12
-rw-r--r--messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCNetwork.java10
-rwxr-xr-xmessagebus/src/main/java/com/yahoo/messagebus/network/rpc/SlobrokConfigSubscriber.java6
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);
}