summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgjoranv <gv@verizonmedia.com>2022-01-03 11:21:40 +0100
committerGitHub <noreply@github.com>2022-01-03 11:21:40 +0100
commit4528efcd87b9c078f91ecfc4f53dfee8632881e1 (patch)
tree803bd519d0b8c36c6333f8c994bcf1c3d860bc95
parent997befd90e1d059c06eba100103fce58cce7ff9e (diff)
parent5c44b8d8bdb2956a0879767de4afe54d508e29a8 (diff)
Merge pull request #20628 from vespa-engine/hmusum/config-cleanup-3
Simplify MockConnection
-rw-r--r--config/src/main/java/com/yahoo/config/subscription/impl/JRTConfigSubscription.java1
-rw-r--r--config/src/main/java/com/yahoo/config/subscription/impl/MockConnection.java48
-rw-r--r--config/src/test/java/com/yahoo/config/subscription/impl/JRTConfigRequesterTest.java16
-rw-r--r--config/src/test/java/com/yahoo/vespa/config/protocol/JRTConfigRequestV3Test.java2
4 files changed, 17 insertions, 50 deletions
diff --git a/config/src/main/java/com/yahoo/config/subscription/impl/JRTConfigSubscription.java b/config/src/main/java/com/yahoo/config/subscription/impl/JRTConfigSubscription.java
index 7af4144a060..68e22ad5656 100644
--- a/config/src/main/java/com/yahoo/config/subscription/impl/JRTConfigSubscription.java
+++ b/config/src/main/java/com/yahoo/config/subscription/impl/JRTConfigSubscription.java
@@ -158,7 +158,6 @@ public class JRTConfigSubscription<T extends ConfigInstance> extends ConfigSubsc
}
@Override
- @SuppressWarnings("serial")
public void close() {
super.close();
reqQueue = new LinkedBlockingQueue<>() {
diff --git a/config/src/main/java/com/yahoo/config/subscription/impl/MockConnection.java b/config/src/main/java/com/yahoo/config/subscription/impl/MockConnection.java
index 6446758a9ba..24a080d5824 100644
--- a/config/src/main/java/com/yahoo/config/subscription/impl/MockConnection.java
+++ b/config/src/main/java/com/yahoo/config/subscription/impl/MockConnection.java
@@ -40,10 +40,7 @@ public class MockConnection implements ConnectionPool, Connection {
public void invokeAsync(Request request, double jrtTimeout, RequestWaiter requestWaiter) {
numberOfRequests++;
lastRequest = request;
- responseHandler.requestWaiter(requestWaiter).request(request);
- Thread t = new Thread(responseHandler);
- t.setDaemon(true);
- t.run();
+ responseHandler.handle(request, requestWaiter);
}
@Override
@@ -85,7 +82,7 @@ public class MockConnection implements ConnectionPool, Connection {
long generation = 1;
- protected void createResponse() {
+ protected void createResponse(Request request) {
JRTServerConfigRequestV3 jrtReq = JRTServerConfigRequestV3.createFromRequest(request);
Payload payload = Payload.from(ConfigPayload.empty());
jrtReq.addOkResponse(payload, generation, false, PayloadChecksums.fromPayload(payload));
@@ -94,51 +91,22 @@ public class MockConnection implements ConnectionPool, Connection {
}
- public interface ResponseHandler extends Runnable {
+ public interface ResponseHandler {
- RequestWaiter requestWaiter();
+ void handle(Request request, RequestWaiter requestWaiter);
- Request request();
-
- ResponseHandler requestWaiter(RequestWaiter requestWaiter);
-
- ResponseHandler request(Request request);
}
public abstract static class AbstractResponseHandler implements ResponseHandler {
- private RequestWaiter requestWaiter;
- protected Request request;
-
- @Override
- public RequestWaiter requestWaiter() {
- return requestWaiter;
- }
-
- @Override
- public Request request() {
- return request;
- }
-
- @Override
- public ResponseHandler requestWaiter(RequestWaiter requestWaiter) {
- this.requestWaiter = requestWaiter;
- return this;
- }
-
@Override
- public ResponseHandler request(Request request) {
- this.request = request;
- return this;
- }
-
- @Override
- public void run() {
- createResponse();
+ public void handle(Request request, RequestWaiter requestWaiter) {
+ createResponse(request);
requestWaiter.handleRequestDone(request);
}
- protected abstract void createResponse();
+ protected abstract void createResponse(Request request);
+
}
}
diff --git a/config/src/test/java/com/yahoo/config/subscription/impl/JRTConfigRequesterTest.java b/config/src/test/java/com/yahoo/config/subscription/impl/JRTConfigRequesterTest.java
index dca0c2d0018..07c3a5af56c 100644
--- a/config/src/test/java/com/yahoo/config/subscription/impl/JRTConfigRequesterTest.java
+++ b/config/src/test/java/com/yahoo/config/subscription/impl/JRTConfigRequesterTest.java
@@ -4,6 +4,7 @@ package com.yahoo.config.subscription.impl;
import com.yahoo.config.subscription.ConfigSourceSet;
import com.yahoo.foo.SimpletypesConfig;
import com.yahoo.jrt.Request;
+import com.yahoo.jrt.RequestWaiter;
import com.yahoo.vespa.config.ConfigKey;
import com.yahoo.vespa.config.ConnectionPool;
import com.yahoo.vespa.config.ErrorCode;
@@ -209,10 +210,10 @@ public class JRTConfigRequesterTest {
}
@Override
- public void run() {
+ public void handle(Request request, RequestWaiter requestWaiter) {
System.out.println("Running error response handler");
- request().setError(errorCode, "error");
- requestWaiter().handleRequestDone(request());
+ request.setError(errorCode, "error");
+ requestWaiter.handleRequestDone(request);
}
}
@@ -224,16 +225,15 @@ public class JRTConfigRequesterTest {
}
@Override
- public void run() {
- System.out.println("Running delayed response handler (waiting " + waitTimeMilliSeconds +
- ") before responding");
+ public void handle(Request request, RequestWaiter requestWaiter) {
+ System.out.println("Running delayed response handler (waiting " + waitTimeMilliSeconds + ") before responding");
try {
Thread.sleep(waitTimeMilliSeconds);
} catch (InterruptedException e) {
e.printStackTrace();
}
- request().setError(com.yahoo.jrt.ErrorCode.TIMEOUT, "error");
- requestWaiter().handleRequestDone(request());
+ request.setError(com.yahoo.jrt.ErrorCode.TIMEOUT, "error");
+ requestWaiter.handleRequestDone(request);
}
}
diff --git a/config/src/test/java/com/yahoo/vespa/config/protocol/JRTConfigRequestV3Test.java b/config/src/test/java/com/yahoo/vespa/config/protocol/JRTConfigRequestV3Test.java
index 8d160076db9..b3285e5157a 100644
--- a/config/src/test/java/com/yahoo/vespa/config/protocol/JRTConfigRequestV3Test.java
+++ b/config/src/test/java/com/yahoo/vespa/config/protocol/JRTConfigRequestV3Test.java
@@ -203,7 +203,7 @@ public class JRTConfigRequestV3Test {
public void created_from_existing_subscription() {
MockConnection connection = new MockConnection(new MockConnection.AbstractResponseHandler() {
@Override
- public void createResponse() {
+ public void createResponse(Request request) {
JRTServerConfigRequest serverRequest = createReq(request);
serverRequest.addOkResponse(createPayload(), currentGeneration, false, payloadChecksums);
}