aboutsummaryrefslogtreecommitdiffstats
path: root/messagebus
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2019-04-23 14:54:39 +0200
committerGitHub <noreply@github.com>2019-04-23 14:54:39 +0200
commitb53856d693eb83c9c0dd1031c0eaa8e6986f823a (patch)
treee350d7063a7cfd13bd77d46bc7e7565225d0f721 /messagebus
parent13f29d40fc7e1a8a1c44faad7258460227ca4578 (diff)
parent9e7180cb7a2ef747bb72560097fedbdb8f5f08f1 (diff)
Merge pull request #9155 from vespa-engine/balder/update-lookup-interface
Change interface from Mirror.Entry[] to List<Mirror.Entry> as you alr…
Diffstat (limited to 'messagebus')
-rw-r--r--messagebus/src/main/java/com/yahoo/messagebus/network/local/LocalWire.java4
-rw-r--r--messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCService.java9
-rw-r--r--messagebus/src/main/java/com/yahoo/messagebus/network/rpc/test/TestServer.java5
-rwxr-xr-xmessagebus/src/test/java/com/yahoo/messagebus/network/rpc/ServiceAddressTestCase.java5
-rw-r--r--messagebus/src/test/java/com/yahoo/messagebus/network/rpc/SlobrokTestCase.java18
5 files changed, 22 insertions, 19 deletions
diff --git a/messagebus/src/main/java/com/yahoo/messagebus/network/local/LocalWire.java b/messagebus/src/main/java/com/yahoo/messagebus/network/local/LocalWire.java
index 4f5fd6ab30a..9f6295b1ad2 100644
--- a/messagebus/src/main/java/com/yahoo/messagebus/network/local/LocalWire.java
+++ b/messagebus/src/main/java/com/yahoo/messagebus/network/local/LocalWire.java
@@ -41,7 +41,7 @@ public class LocalWire implements IMirror {
}
@Override
- public Mirror.Entry[] lookup(String pattern) {
+ public List<Mirror.Entry> lookup(String pattern) {
List<Mirror.Entry> out = new ArrayList<>();
Pattern regex = Pattern.compile(pattern.replace("*", "[a-zA-Z0-9_-]+"));
for (String key : services.keySet()) {
@@ -49,7 +49,7 @@ public class LocalWire implements IMirror {
out.add(new Mirror.Entry(key, key));
}
}
- return out.toArray(new Mirror.Entry[out.size()]);
+ return out;
}
@Override
diff --git a/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCService.java b/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCService.java
index abe1b7b4db3..7c404207737 100644
--- a/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCService.java
+++ b/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCService.java
@@ -4,6 +4,7 @@ package com.yahoo.messagebus.network.rpc;
import com.yahoo.jrt.slobrok.api.IMirror;
import com.yahoo.jrt.slobrok.api.Mirror;
+import java.util.List;
import java.util.concurrent.ThreadLocalRandom;
/**
@@ -18,7 +19,7 @@ public class RPCService {
private final String pattern;
private int addressIdx = ThreadLocalRandom.current().nextInt(Integer.MAX_VALUE);
private int addressGen = 0;
- private Mirror.Entry[] addressList = null;
+ private List<Mirror.Entry> addressList = null;
/**
* Create a new RPCService backed by the given network and using the given service pattern.
@@ -51,9 +52,9 @@ public class RPCService {
addressGen = mirror.updates();
addressList = mirror.lookup(pattern);
}
- if (addressList != null && addressList.length > 0) {
- addressIdx = ++addressIdx % addressList.length;
- Mirror.Entry entry = addressList[addressIdx];
+ if (addressList != null && !addressList.isEmpty()) {
+ addressIdx = ++addressIdx % addressList.size();
+ Mirror.Entry entry = addressList.get(addressIdx);
return new RPCServiceAddress(entry.getName(), entry.getSpec());
}
}
diff --git a/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/test/TestServer.java b/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/test/TestServer.java
index d7ce31a5223..b17bb892f7d 100644
--- a/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/test/TestServer.java
+++ b/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/test/TestServer.java
@@ -17,6 +17,7 @@ import com.yahoo.messagebus.routing.RoutingSpec;
import com.yahoo.messagebus.routing.RoutingTableSpec;
import com.yahoo.messagebus.test.SimpleProtocol;
+import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.logging.Logger;
@@ -121,8 +122,8 @@ public class TestServer {
for (int i = 0; i < 6000 && !Thread.currentThread().isInterrupted(); ++i) {
boolean done = true;
for (String pattern : slobrokState.getPatterns()) {
- Mirror.Entry[] res = net.getMirror().lookup(pattern);
- if (res.length != slobrokState.getCount(pattern)) {
+ List<Mirror.Entry> res = net.getMirror().lookup(pattern);
+ if (res.size() != slobrokState.getCount(pattern)) {
done = false;
}
}
diff --git a/messagebus/src/test/java/com/yahoo/messagebus/network/rpc/ServiceAddressTestCase.java b/messagebus/src/test/java/com/yahoo/messagebus/network/rpc/ServiceAddressTestCase.java
index 476d85f59e9..1dbb30de585 100755
--- a/messagebus/src/test/java/com/yahoo/messagebus/network/rpc/ServiceAddressTestCase.java
+++ b/messagebus/src/test/java/com/yahoo/messagebus/network/rpc/ServiceAddressTestCase.java
@@ -11,6 +11,7 @@ import org.junit.Before;
import org.junit.Test;
import java.net.UnknownHostException;
+import java.util.List;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@@ -67,8 +68,8 @@ public class ServiceAddressTestCase {
private boolean waitSlobrok(String pattern, int num) {
for (int i = 0; i < 1000 && !Thread.currentThread().isInterrupted(); ++i) {
- Mirror.Entry[] res = network.getMirror().lookup(pattern);
- if (res.length == num) {
+ List<Mirror.Entry> res = network.getMirror().lookup(pattern);
+ if (res.size() == num) {
return true;
}
try {
diff --git a/messagebus/src/test/java/com/yahoo/messagebus/network/rpc/SlobrokTestCase.java b/messagebus/src/test/java/com/yahoo/messagebus/network/rpc/SlobrokTestCase.java
index c6737385f4c..dd779fd84c0 100644
--- a/messagebus/src/test/java/com/yahoo/messagebus/network/rpc/SlobrokTestCase.java
+++ b/messagebus/src/test/java/com/yahoo/messagebus/network/rpc/SlobrokTestCase.java
@@ -31,8 +31,8 @@ public class SlobrokTestCase {
lst.add(new Mirror.Entry(fullName, spec));
return this;
}
- public Mirror.Entry[] toArray() {
- return lst.toArray(new Mirror.Entry[lst.size()]);
+ public List<Mirror.Entry> toArray() {
+ return lst;
}
}
@@ -44,18 +44,18 @@ public class SlobrokTestCase {
int port2;
int port3;
- void check(RPCNetwork net, String pattern, Mirror.Entry[] expect) {
+ void check(RPCNetwork net, String pattern, List<Mirror.Entry> expect) {
Comparator<Mirror.Entry> cmp = new Comparator<Mirror.Entry>() {
public int compare(Mirror.Entry a, Mirror.Entry b) {
return a.compareTo(b);
}
};
- Arrays.sort(expect, cmp);
- Mirror.Entry[] actual = null;
+ expect.sort(cmp);
+ List<Mirror.Entry> actual = null;
for (int i = 0; i < 1000; i++) {
actual = net.getMirror().lookup(pattern);
- Arrays.sort(actual, cmp);
- if (Arrays.equals(actual, expect)) {
+ actual.sort(cmp);
+ if (actual.equals(expect)) {
System.out.printf("lookup successful for pattern: %s\n", pattern);
return;
}
@@ -65,7 +65,7 @@ public class SlobrokTestCase {
}
System.out.printf("lookup failed for pattern: %s\n", pattern);
System.out.printf("actual values:\n");
- if (actual == null || actual.length == 0) {
+ if (actual == null || actual.isEmpty()) {
System.out.printf(" { EMPTY }\n");
} else {
for (Mirror.Entry entry : actual) {
@@ -73,7 +73,7 @@ public class SlobrokTestCase {
}
}
System.out.printf("expected values:\n");
- if (expect.length == 0) {
+ if (expect.isEmpty()) {
System.out.printf(" { EMPTY }\n");
} else {
for (Mirror.Entry entry : expect) {