summaryrefslogtreecommitdiffstats
path: root/vespaclient-container-plugin
diff options
context:
space:
mode:
authorArne Juul <arnej@yahoo-inc.com>2018-01-05 12:28:50 +0000
committerArne Juul <arnej@yahoo-inc.com>2018-01-05 12:28:50 +0000
commitf7472440472c647ba1def181c57d00689670e877 (patch)
treee56902ab6ccddfb2ebe1e774405da57fff50d2d4 /vespaclient-container-plugin
parent30c0792d67d69fc08991b28126e5d636a7ea1e34 (diff)
use LoggingRequestHandler.Context in constructors
* this implicitly wires in a Metric, allowing handler invocations to be measured in the ThreadedRequestHandler superclass.
Diffstat (limited to 'vespaclient-container-plugin')
-rw-r--r--vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/RestApi.java11
-rw-r--r--vespaclient-container-plugin/src/main/java/com/yahoo/vespa/http/server/FeedHandler.java12
-rw-r--r--vespaclient-container-plugin/src/main/java/com/yahoo/vespa/http/server/FeedHandlerV3.java10
-rw-r--r--vespaclient-container-plugin/src/test/java/com/yahoo/feedhandler/FeedHandlerTest.java5
-rw-r--r--vespaclient-container-plugin/src/test/java/com/yahoo/feedhandler/v3/FeedTesterV3.java6
-rw-r--r--vespaclient-container-plugin/src/test/java/com/yahoo/vespa/http/server/V2ErrorsInResultTestCase.java5
-rw-r--r--vespaclient-container-plugin/src/test/java/com/yahoo/vespa/http/server/V2ExternalFeedTestCase.java5
-rw-r--r--vespaclient-container-plugin/src/test/java/com/yahoo/vespa/http/server/V2FailingMessagebusTestCase.java3
-rw-r--r--vespaclient-container-plugin/src/test/java/com/yahoo/vespa/http/server/V2NoXmlReaderTestCase.java3
9 files changed, 37 insertions, 23 deletions
diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/RestApi.java b/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/RestApi.java
index 5e0fea8ab7d..d5d6a0dc40b 100644
--- a/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/RestApi.java
+++ b/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/RestApi.java
@@ -6,6 +6,7 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.inject.Inject;
import com.fasterxml.jackson.databind.node.ObjectNode;
+import com.yahoo.jdisc.Metric;
import com.yahoo.container.handler.ThreadpoolConfig;
import com.yahoo.container.jdisc.HttpRequest;
import com.yahoo.container.jdisc.HttpResponse;
@@ -60,9 +61,11 @@ public class RestApi extends LoggingRequestHandler {
private final AtomicInteger threadsAvailableForApi;
@Inject
- public RestApi(Executor executor, AccessLog accessLog, DocumentmanagerConfig documentManagerConfig,
- LoadTypeConfig loadTypeConfig, ThreadpoolConfig threadpoolConfig, MetricReceiver metricReceiver) {
- super(executor, accessLog);
+ public RestApi(LoggingRequestHandler.Context parentCtx, DocumentmanagerConfig documentManagerConfig,
+ LoadTypeConfig loadTypeConfig, ThreadpoolConfig threadpoolConfig,
+ MetricReceiver metricReceiver)
+ {
+ super(parentCtx);
MessageBusParams params = new MessageBusParams(new LoadTypeSet(loadTypeConfig));
params.setDocumentmanagerConfig(documentManagerConfig);
this.operationHandler = new OperationHandlerImpl(new MessageBusDocumentAccess(params), metricReceiver);
@@ -82,7 +85,7 @@ public class RestApi extends LoggingRequestHandler {
AccessLog accessLog,
OperationHandler operationHandler,
int threadsAvailable) {
- super(executor, accessLog);
+ super(executor, accessLog, null);
this.operationHandler = operationHandler;
this.threadsAvailableForApi = new AtomicInteger(threadsAvailable);
}
diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/vespa/http/server/FeedHandler.java b/vespaclient-container-plugin/src/main/java/com/yahoo/vespa/http/server/FeedHandler.java
index ddc652dedbb..61ff84cfdaa 100644
--- a/vespaclient-container-plugin/src/main/java/com/yahoo/vespa/http/server/FeedHandler.java
+++ b/vespaclient-container-plugin/src/main/java/com/yahoo/vespa/http/server/FeedHandler.java
@@ -61,24 +61,22 @@ public class FeedHandler extends LoggingRequestHandler {
@Inject
public FeedHandler(
- Executor executor,
+ LoggingRequestHandler.Context parentCtx,
DocumentmanagerConfig documentManagerConfig,
SessionCache sessionCache,
- Metric metric,
- AccessLog accessLog,
ThreadpoolConfig threadpoolConfig,
MetricReceiver metricReceiver) throws Exception {
- super(executor, accessLog, metric);
+ super(parentCtx);
DocumentApiMetrics metricsHelper = new DocumentApiMetrics(metricReceiver, "vespa.http.server");
- feedHandlerV3 = new FeedHandlerV3(executor, documentManagerConfig, sessionCache, metric, accessLog, threadpoolConfig, metricsHelper);
+ feedHandlerV3 = new FeedHandlerV3(parentCtx, documentManagerConfig, sessionCache, threadpoolConfig, metricsHelper);
docTypeManager = createDocumentManager(documentManagerConfig);
clients = new HashMap<>();
this.sessionCache = sessionCache;
sessionId = new AtomicLong(new Random(System.currentTimeMillis()).nextLong());
- feedReplyHandler = new FeedReplyReader(metric, metricsHelper);
+ feedReplyHandler = new FeedReplyReader(parentCtx.getMetric(), metricsHelper);
cron = new ScheduledThreadPoolExecutor(1, ThreadFactoryFactory.getThreadFactory("feedhandler.cron"));
cron.scheduleWithFixedDelay(new CleanClients(), 16, 11, TimeUnit.MINUTES);
- this.metric = metric;
+ this.metric = parentCtx.getMetric();
this.localHostname = resolveLocalHostname();
}
diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/vespa/http/server/FeedHandlerV3.java b/vespaclient-container-plugin/src/main/java/com/yahoo/vespa/http/server/FeedHandlerV3.java
index 28bcb50a144..4cb82e74db6 100644
--- a/vespaclient-container-plugin/src/main/java/com/yahoo/vespa/http/server/FeedHandlerV3.java
+++ b/vespaclient-container-plugin/src/main/java/com/yahoo/vespa/http/server/FeedHandlerV3.java
@@ -49,20 +49,18 @@ public class FeedHandlerV3 extends LoggingRequestHandler {
private static final Logger log = Logger.getLogger(FeedHandlerV3.class.getName());
public FeedHandlerV3(
- Executor executor,
+ LoggingRequestHandler.Context parentCtx,
DocumentmanagerConfig documentManagerConfig,
SessionCache sessionCache,
- Metric metric,
- AccessLog accessLog,
ThreadpoolConfig threadpoolConfig,
DocumentApiMetrics metricsHelper) throws Exception {
- super(executor, accessLog, metric);
+ super(parentCtx);
docTypeManager = new DocumentTypeManager(documentManagerConfig);
this.sessionCache = sessionCache;
- feedReplyHandler = new FeedReplyReader(metric, metricsHelper);
+ feedReplyHandler = new FeedReplyReader(parentCtx.getMetric(), metricsHelper);
cron = new ScheduledThreadPoolExecutor(1, ThreadFactoryFactory.getThreadFactory("feedhandlerv3.cron"));
cron.scheduleWithFixedDelay(this::removeOldClients, 16, 11, TimeUnit.MINUTES);
- this.metric = metric;
+ this.metric = parentCtx.getMetric();
// 40% of the threads can be blocking on feeding before we deny requests.
if (threadpoolConfig != null) {
threadsAvailableForFeeding = new AtomicInteger(Math.max((int) (0.4 * threadpoolConfig.maxthreads()), 1));
diff --git a/vespaclient-container-plugin/src/test/java/com/yahoo/feedhandler/FeedHandlerTest.java b/vespaclient-container-plugin/src/test/java/com/yahoo/feedhandler/FeedHandlerTest.java
index a3d4da1c60c..c0cc907c671 100644
--- a/vespaclient-container-plugin/src/test/java/com/yahoo/feedhandler/FeedHandlerTest.java
+++ b/vespaclient-container-plugin/src/test/java/com/yahoo/feedhandler/FeedHandlerTest.java
@@ -39,7 +39,10 @@ public class FeedHandlerTest {
private final CountDownLatch countDownLatch = new CountDownLatch(1);
public TestFeedHandler() throws Exception {
- super(Executors.newCachedThreadPool(), null, null, mock(Metric.class), mock(AccessLog.class), null, MetricReceiver.nullImplementation);
+ super(new FeedHandler.Context(Executors.newCachedThreadPool(),
+ mock(AccessLog.class),
+ mock(Metric.class)),
+ null, null, null, MetricReceiver.nullImplementation);
}
/**
diff --git a/vespaclient-container-plugin/src/test/java/com/yahoo/feedhandler/v3/FeedTesterV3.java b/vespaclient-container-plugin/src/test/java/com/yahoo/feedhandler/v3/FeedTesterV3.java
index e237978878e..b5c3998432c 100644
--- a/vespaclient-container-plugin/src/test/java/com/yahoo/feedhandler/v3/FeedTesterV3.java
+++ b/vespaclient-container-plugin/src/test/java/com/yahoo/feedhandler/v3/FeedTesterV3.java
@@ -101,7 +101,11 @@ public class FeedTesterV3 {
Executor threadPool = Executors.newCachedThreadPool();
DocumentmanagerConfig docMan = new DocumentmanagerConfig(new DocumentmanagerConfig.Builder().enablecompression(true));
FeedHandlerV3 feedHandlerV3 = new FeedHandlerV3(
- threadPool, docMan, null /* session cache */ , new NullFeedMetric(), AccessLog.voidAccessLog(), null, new DocumentApiMetrics(MetricReceiver.nullImplementation, "test")) {
+ new FeedHandlerV3.Context(threadPool, AccessLog.voidAccessLog(), new NullFeedMetric()),
+ docMan,
+ null /* session cache */,
+ null /* thread pool config */,
+ new DocumentApiMetrics(MetricReceiver.nullImplementation, "test")) {
@Override
protected ReferencedResource<SharedSourceSession> retainSource(
SessionCache sessionCache, SourceSessionParams sessionParams) {
diff --git a/vespaclient-container-plugin/src/test/java/com/yahoo/vespa/http/server/V2ErrorsInResultTestCase.java b/vespaclient-container-plugin/src/test/java/com/yahoo/vespa/http/server/V2ErrorsInResultTestCase.java
index f1cf9b2cfa1..47745b29032 100644
--- a/vespaclient-container-plugin/src/test/java/com/yahoo/vespa/http/server/V2ErrorsInResultTestCase.java
+++ b/vespaclient-container-plugin/src/test/java/com/yahoo/vespa/http/server/V2ErrorsInResultTestCase.java
@@ -60,7 +60,10 @@ public class V2ErrorsInResultTestCase {
private static class LessConfiguredHandler extends FeedHandler {
public LessConfiguredHandler(Executor executor) throws Exception {
- super(executor, null, null, new DummyMetric(), AccessLog.voidAccessLog(), null, MetricReceiver.nullImplementation);
+ super(new FeedHandler.Context(executor,
+ AccessLog.voidAccessLog(),
+ new DummyMetric()),
+ null, null, null, MetricReceiver.nullImplementation);
}
diff --git a/vespaclient-container-plugin/src/test/java/com/yahoo/vespa/http/server/V2ExternalFeedTestCase.java b/vespaclient-container-plugin/src/test/java/com/yahoo/vespa/http/server/V2ExternalFeedTestCase.java
index a0eb1323c53..9960d98f7f1 100644
--- a/vespaclient-container-plugin/src/test/java/com/yahoo/vespa/http/server/V2ExternalFeedTestCase.java
+++ b/vespaclient-container-plugin/src/test/java/com/yahoo/vespa/http/server/V2ExternalFeedTestCase.java
@@ -115,7 +115,10 @@ public class V2ExternalFeedTestCase {
volatile DataFormat lastFormatSeen;
public LessConfiguredHandler(Executor executor) throws Exception {
- super(executor, null, null, new DummyMetric(), AccessLog.voidAccessLog(), null, MetricReceiver.nullImplementation);
+ super(new FeedHandler.Context(executor,
+ AccessLog.voidAccessLog(),
+ new DummyMetric()),
+ null, null, null, MetricReceiver.nullImplementation);
}
@Override
diff --git a/vespaclient-container-plugin/src/test/java/com/yahoo/vespa/http/server/V2FailingMessagebusTestCase.java b/vespaclient-container-plugin/src/test/java/com/yahoo/vespa/http/server/V2FailingMessagebusTestCase.java
index 8e8da1bed99..6290c22f694 100644
--- a/vespaclient-container-plugin/src/test/java/com/yahoo/vespa/http/server/V2FailingMessagebusTestCase.java
+++ b/vespaclient-container-plugin/src/test/java/com/yahoo/vespa/http/server/V2FailingMessagebusTestCase.java
@@ -61,7 +61,8 @@ public class V2FailingMessagebusTestCase {
private class LessConfiguredHandler extends FeedHandler {
public LessConfiguredHandler(Executor executor) throws Exception {
- super(executor, null, null, new DummyMetric(), AccessLog.voidAccessLog(), null, MetricReceiver.nullImplementation);
+ super(new FeedHandler.Context(executor, AccessLog.voidAccessLog(), new DummyMetric()),
+ null, null, null, MetricReceiver.nullImplementation);
}
@Override
diff --git a/vespaclient-container-plugin/src/test/java/com/yahoo/vespa/http/server/V2NoXmlReaderTestCase.java b/vespaclient-container-plugin/src/test/java/com/yahoo/vespa/http/server/V2NoXmlReaderTestCase.java
index c044a5963cb..633477dcc79 100644
--- a/vespaclient-container-plugin/src/test/java/com/yahoo/vespa/http/server/V2NoXmlReaderTestCase.java
+++ b/vespaclient-container-plugin/src/test/java/com/yahoo/vespa/http/server/V2NoXmlReaderTestCase.java
@@ -58,7 +58,8 @@ public class V2NoXmlReaderTestCase {
private static class LessConfiguredHandler extends FeedHandler {
public LessConfiguredHandler(Executor executor) throws Exception {
- super(executor, null, null, new DummyMetric(), AccessLog.voidAccessLog(), null, MetricReceiver.nullImplementation);
+ super(new FeedHandler.Context(executor, AccessLog.voidAccessLog(), new DummyMetric()),
+ null, null, null, MetricReceiver.nullImplementation);
}