summaryrefslogtreecommitdiffstats
path: root/documentapi/src/main/java/com/yahoo
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-04-22 00:33:12 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2019-04-22 11:31:01 +0200
commit9e7180cb7a2ef747bb72560097fedbdb8f5f08f1 (patch)
tree08d0af8ee2f777b6a7baa235bff4ef54d3a87945 /documentapi/src/main/java/com/yahoo
parent6a61110fef80bebfdd7fe7725005a6560974b22d (diff)
Change interface from Mirror.Entry[] to List<Mirror.Entry> as you already have a list.
Avoid having to do an array copy that is not necessary.
Diffstat (limited to 'documentapi/src/main/java/com/yahoo')
-rwxr-xr-xdocumentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ExternPolicy.java2
-rw-r--r--documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ExternalSlobrokPolicy.java21
-rw-r--r--documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LoadBalancer.java6
-rw-r--r--documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LoadBalancerPolicy.java3
-rwxr-xr-xdocumentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LocalServicePolicy.java2
-rwxr-xr-xdocumentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoundRobinPolicy.java2
-rw-r--r--documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/StoragePolicy.java14
-rwxr-xr-xdocumentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/SubsetServicePolicy.java6
8 files changed, 29 insertions, 27 deletions
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ExternPolicy.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ExternPolicy.java
index 312fd6e5964..e81ac4ae05e 100755
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ExternPolicy.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/ExternPolicy.java
@@ -103,7 +103,7 @@ public class ExternPolicy implements DocumentProtocolRoutingPolicy {
if (generation != upd) {
generation = upd;
recipients.clear();
- Mirror.Entry[] arr = mirror.lookup(pattern);
+ List<Mirror.Entry> arr = mirror.lookup(pattern);
for (Mirror.Entry entry : arr) {
recipients.add(Hop.parse(entry.getSpec() + session));
}
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 3ebe5b7281e..39242bb6cab 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
@@ -11,6 +11,7 @@ import com.yahoo.jrt.slobrok.api.SlobrokList;
import com.yahoo.messagebus.routing.RoutingContext;
import com.yahoo.cloud.config.SlobroksConfig;
+import java.util.List;
import java.util.Map;
/**
@@ -19,16 +20,16 @@ import java.util.Map;
*/
public abstract class ExternalSlobrokPolicy extends AsyncInitializationPolicy implements ConfigSubscriber.SingleSubscriber<SlobroksConfig> {
String error;
- Supervisor orb = null;
- Mirror mirror = null;
- SlobrokList slobroks = null;
- boolean firstTry = true;
+ private Supervisor orb = null;
+ private Mirror mirror = null;
+ private SlobrokList slobroks = null;
+ private boolean firstTry = true;
private ConfigSubscriber subscriber;
String[] configSources = null;
- String slobrokConfigId = "admin/slobrok.0";
+ private final static String slobrokConfigId = "admin/slobrok.0";
- public ExternalSlobrokPolicy(Map<String, String> param) {
+ ExternalSlobrokPolicy(Map<String, String> param) {
super();
String conf = param.get("config");
@@ -72,16 +73,16 @@ public abstract class ExternalSlobrokPolicy extends AsyncInitializationPolicy im
return mirror;
}
- public Mirror.Entry[] lookup(RoutingContext context, String pattern) {
+ public List<Mirror.Entry> lookup(RoutingContext context, String pattern) {
IMirror mirror1 = (mirror != null ? mirror : context.getMirror());
- Mirror.Entry[] arr = mirror1.lookup(pattern);
+ List<Mirror.Entry> arr = mirror1.lookup(pattern);
- if ((arr.length == 0) && firstTry) {
+ if ((arr.isEmpty()) && firstTry) {
synchronized(this) {
try {
int count = 0;
- while (arr.length == 0 && count < 100) {
+ while (arr.isEmpty() && count < 100) {
Thread.sleep(50);
arr = mirror1.lookup(pattern);
count++;
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LoadBalancer.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LoadBalancer.java
index 167a480e1aa..a2875f14ab5 100644
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LoadBalancer.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LoadBalancer.java
@@ -62,8 +62,8 @@ public class LoadBalancer {
* @param choices the node choices, represented as Slobrok entries
* @return the chosen node, or null only if the given choices were zero
*/
- public Node getRecipient(Mirror.Entry[] choices) {
- if (choices.length == 0) return null;
+ public Node getRecipient(List<Mirror.Entry> choices) {
+ if (choices.isEmpty()) return null;
double weightSum = 0.0;
Node selectedNode = null;
@@ -79,7 +79,7 @@ public class LoadBalancer {
}
if (selectedNode == null) { // Position>sum of all weights: Wrap around (but keep the remainder for some reason)
position -= weightSum;
- selectedNode = new Node(choices[0], getNodeMetrics(choices[0]));
+ selectedNode = new Node(choices.get(0), getNodeMetrics(choices.get(0)));
}
position += 1.0;
selectedNode.metrics.sent.incrementAndGet();
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LoadBalancerPolicy.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LoadBalancerPolicy.java
index 7c5345351a8..9cf82144e71 100644
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LoadBalancerPolicy.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LoadBalancerPolicy.java
@@ -9,6 +9,7 @@ import com.yahoo.messagebus.routing.Route;
import com.yahoo.messagebus.routing.RoutingContext;
import com.yahoo.messagebus.routing.RoutingNodeIterator;
+import java.util.List;
import java.util.Map;
/**
@@ -75,7 +76,7 @@ public class LoadBalancerPolicy extends ExternalSlobrokPolicy {
@return Returns a hop representing the TCP address of the target, or null if none could be found.
*/
private LoadBalancer.Node getRecipient(RoutingContext context) {
- Mirror.Entry [] lastLookup = lookup(context, pattern);
+ List<Mirror.Entry> lastLookup = lookup(context, pattern);
return loadBalancer.getRecipient(lastLookup);
}
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LocalServicePolicy.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LocalServicePolicy.java
index eb56a85e378..d4ebd4ecd81 100755
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LocalServicePolicy.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/LocalServicePolicy.java
@@ -83,7 +83,7 @@ public class LocalServicePolicy implements DocumentProtocolRoutingPolicy {
entry.generation = upd;
entry.recipients.clear();
- Mirror.Entry[] arr = ctx.getMirror().lookup(ctx.getHopPrefix() + "*" + ctx.getHopSuffix());
+ List<Mirror.Entry> arr = ctx.getMirror().lookup(ctx.getHopPrefix() + "*" + ctx.getHopSuffix());
String self = localAddress != null ? localAddress : toAddress(ctx.getMessageBus().getConnectionSpec());
for (Mirror.Entry item : arr) {
if (self.equals(toAddress(item.getSpec()))) {
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoundRobinPolicy.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoundRobinPolicy.java
index 244d101b36f..3a1599ab71b 100755
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoundRobinPolicy.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/RoundRobinPolicy.java
@@ -82,7 +82,7 @@ public class RoundRobinPolicy implements DocumentProtocolRoutingPolicy {
entry.generation = upd;
entry.recipients.clear();
for (int i = 0; i < ctx.getNumRecipients(); ++i) {
- Mirror.Entry[] arr = ctx.getMirror().lookup(ctx.getRecipient(i).getHop(0).toString());
+ List<Mirror.Entry> arr = ctx.getMirror().lookup(ctx.getRecipient(i).getHop(0).toString());
for (Mirror.Entry item : arr) {
entry.recipients.add(Hop.parse(item.getName()));
}
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/StoragePolicy.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/StoragePolicy.java
index 341589643d2..048149e86ab 100644
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/StoragePolicy.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/StoragePolicy.java
@@ -107,7 +107,7 @@ public class StoragePolicy extends ExternalSlobrokPolicy {
this.policy = policy;
}
- private Mirror.Entry[] getEntries(String hostPattern, RoutingContext context) {
+ private List<Mirror.Entry> getEntries(String hostPattern, RoutingContext context) {
return policy.lookup(context, hostPattern);
}
@@ -116,16 +116,16 @@ public class StoragePolicy extends ExternalSlobrokPolicy {
public IMirror getMirror(RoutingContext context) { return context.getMirror(); }
public String getTargetSpec(Integer distributor, RoutingContext context) {
- Mirror.Entry[] arr = getEntries(patternGenerator.getDistributorHostPattern(distributor), context);
- if (arr.length == 0) return null;
+ List<Mirror.Entry> arr = getEntries(patternGenerator.getDistributorHostPattern(distributor), context);
+ if (arr.isEmpty()) return null;
if (distributor != null) {
- if (arr.length == 1) {
- return convertSlobrokNameToSessionName(arr[0].getSpec());
+ if (arr.size() == 1) {
+ return convertSlobrokNameToSessionName(arr.get(0).getSpec());
} else {
- log.log(LogLevel.WARNING, "Got " + arr.length + " matches for a distributor.");
+ log.log(LogLevel.WARNING, "Got " + arr.size() + " matches for a distributor.");
}
} else {
- return convertSlobrokNameToSessionName(arr[randomizer.nextInt(arr.length)].getSpec());
+ return convertSlobrokNameToSessionName(arr.get(randomizer.nextInt(arr.size())).getSpec());
}
return null;
}
diff --git a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/SubsetServicePolicy.java b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/SubsetServicePolicy.java
index 31802f2872f..3251c038fc7 100755
--- a/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/SubsetServicePolicy.java
+++ b/documentapi/src/main/java/com/yahoo/documentapi/messagebus/protocol/SubsetServicePolicy.java
@@ -109,10 +109,10 @@ public class SubsetServicePolicy implements DocumentProtocolRoutingPolicy {
entry.generation = upd;
entry.recipients.clear();
- Mirror.Entry[] arr = ctx.getMirror().lookup(ctx.getHopPrefix() + "*" + ctx.getHopSuffix());
+ List<Mirror.Entry> arr = ctx.getMirror().lookup(ctx.getHopPrefix() + "*" + ctx.getHopSuffix());
int pos = ctx.getMessageBus().getConnectionSpec().hashCode();
- for (int i = 0; i < subsetSize && i < arr.length; ++i) {
- entry.recipients.add(Hop.parse(arr[((pos + i) & Integer.MAX_VALUE) % arr.length].getName()));
+ for (int i = 0; i < subsetSize && i < arr.size(); ++i) {
+ entry.recipients.add(Hop.parse(arr.get(((pos + i) & Integer.MAX_VALUE) % arr.size()).getName()));
}
}
return entry;