summaryrefslogtreecommitdiffstats
path: root/jrt
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahooinc.com>2022-01-31 11:38:11 +0000
committerArne H Juul <arnej@yahooinc.com>2022-01-31 11:38:11 +0000
commit01ccb35a220cbe7e16d081bba09a15b7674d5f4d (patch)
tree941c2a940ac4dae59126d93f4096cf90d1c38f1f /jrt
parent67e01bb07fa987c716d284317b40cedea82d8ba8 (diff)
add some debug logging of slobrok internals
Diffstat (limited to 'jrt')
-rw-r--r--jrt/src/com/yahoo/jrt/slobrok/api/Mirror.java8
-rw-r--r--jrt/src/com/yahoo/jrt/slobrok/api/SlobrokList.java13
2 files changed, 18 insertions, 3 deletions
diff --git a/jrt/src/com/yahoo/jrt/slobrok/api/Mirror.java b/jrt/src/com/yahoo/jrt/slobrok/api/Mirror.java
index 63de287486e..7963cd51c75 100644
--- a/jrt/src/com/yahoo/jrt/slobrok/api/Mirror.java
+++ b/jrt/src/com/yahoo/jrt/slobrok/api/Mirror.java
@@ -199,6 +199,7 @@ public class Mirror implements IMirror {
updateTask.schedule(delay);
return;
}
+ log.fine(() -> "Try connecting to "+currSlobrok);
target = orb.connect(new Spec(currSlobrok));
specsGeneration = 0;
}
@@ -216,6 +217,9 @@ public class Mirror implements IMirror {
if (! logOnSuccess) {
log.log(Level.INFO, "Error with location broker "+currSlobrok+" update: " + req.errorMessage() +
" (error code " + req.errorCode() + ")");
+ } else {
+ log.fine(() -> "Error with location broker "+currSlobrok+" update: " + req.errorMessage() +
+ " (error code " + req.errorCode() + ")");
}
target.close();
target = null; // try next slobrok
@@ -260,6 +264,8 @@ public class Mirror implements IMirror {
if (logOnSuccess) {
log.log(Level.INFO, "successfully connected to location broker "+currSlobrok+" (mirror initialized with "+newSpecs.length+" service names)");
logOnSuccess = false;
+ } else {
+ log.fine(() -> "successfully updated from location broker "+currSlobrok+" (now "+newSpecs.length+" service names)");
}
specs.set(newSpecs);
@@ -269,6 +275,8 @@ public class Mirror implements IMirror {
u++;
}
updates = u;
+ } else {
+ log.fine(() -> "NOP update from location broker "+currSlobrok+" (curr gen "+specsGeneration+")");
}
backOff.reset();
}
diff --git a/jrt/src/com/yahoo/jrt/slobrok/api/SlobrokList.java b/jrt/src/com/yahoo/jrt/slobrok/api/SlobrokList.java
index 57eaa63ef98..3114dd34f79 100644
--- a/jrt/src/com/yahoo/jrt/slobrok/api/SlobrokList.java
+++ b/jrt/src/com/yahoo/jrt/slobrok/api/SlobrokList.java
@@ -3,9 +3,12 @@ package com.yahoo.jrt.slobrok.api;
import java.util.Arrays;
import java.util.concurrent.ThreadLocalRandom;
+import java.util.logging.Logger;
public class SlobrokList {
+ private static final Logger log = Logger.getLogger(SlobrokList.class.getName());
+
private final Internal internal;
private String[] slobroks;
private int idx = 0;
@@ -20,18 +23,22 @@ public class SlobrokList {
private void checkUpdate() {
synchronized (internal) {
- if (slobroks != internal.slobroks) {
- slobroks = internal.slobroks;
- idx = 0;
+ if (slobroks == internal.slobroks) {
+ return;
}
+ slobroks = internal.slobroks;
+ log.fine(() -> "checkUpdate() updated tmp list="+Arrays.toString(slobroks)+" from shared list="+Arrays.toString(internal.slobroks));
+ idx = 0;
}
}
public String nextSlobrokSpec() {
checkUpdate();
if (idx < slobroks.length) {
+ log.fine(() -> "nextSlobrokSpec() returns: "+slobroks[idx]);
return slobroks[idx++];
}
+ log.fine(() -> "nextSlobrokSpec() reached end of internal list, idx="+idx+"/"+slobroks.length+", tmp list="+Arrays.toString(slobroks)+", shared list="+Arrays.toString(internal.slobroks));
idx = 0;
return null;
}