summaryrefslogtreecommitdiffstats
path: root/documentapi
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-04-26 11:39:31 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2019-04-26 11:39:31 +0200
commit0d7487c2ac3d5391ec24a783a4c16e7a90b299e0 (patch)
tree4342ed2b3502baabcd29481a5add5f6f4f125a87 /documentapi
parent15eda83e70355d05045226a33cad914762e4de0e (diff)
Use syncronized and ordinary boolean firstTry
Diffstat (limited to 'documentapi')
-rw-r--r--documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ExternalSlobrokPolicy.java22
1 files changed, 12 insertions, 10 deletions
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ExternalSlobrokPolicy.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ExternalSlobrokPolicy.java
index d8fb87af9a0..e791cdcf008 100644
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ExternalSlobrokPolicy.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ExternalSlobrokPolicy.java
@@ -25,7 +25,7 @@ public abstract class ExternalSlobrokPolicy extends AsyncInitializationPolicy im
private Supervisor orb = null;
private final AtomicReference<Mirror> safeMirror = new AtomicReference<>(null);
private SlobrokList slobroks = null;
- private final AtomicBoolean firstTry = new AtomicBoolean(true);
+ private boolean firstTry = true;
private ConfigSubscriber subscriber;
String[] configSources = null;
private final static String slobrokConfigId = "admin/slobrok.0";
@@ -83,22 +83,24 @@ public abstract class ExternalSlobrokPolicy extends AsyncInitializationPolicy im
List<Mirror.Entry> arr = mirror1.lookup(pattern);
- if ((arr.isEmpty()) && firstTry.get()) {
+ if (arr.isEmpty()) {
synchronized(this) {
- try {
- int count = 0;
- while (arr.isEmpty() && count < 100) {
- Thread.sleep(50);
- arr = mirror1.lookup(pattern);
- count++;
+ if (firstTry) {
+ try {
+ int count = 0;
+ while (arr.isEmpty() && count < 100) {
+ Thread.sleep(50);
+ arr = mirror1.lookup(pattern);
+ count++;
+ }
+ } catch (InterruptedException e) {
}
- } catch (InterruptedException e) {
+ firstTry = true;
}
}
}
- firstTry.set(false);
return arr;
}