summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--container-core/src/main/java/com/yahoo/container/jdisc/LoggingRequestHandler.java2
-rw-r--r--container-core/src/main/java/com/yahoo/container/jdisc/ThreadedRequestHandler.java6
-rw-r--r--container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java8
-rw-r--r--jdisc_core/src/main/java/com/yahoo/jdisc/Response.java4
4 files changed, 12 insertions, 8 deletions
diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/LoggingRequestHandler.java b/container-core/src/main/java/com/yahoo/container/jdisc/LoggingRequestHandler.java
index e0fc79b4be9..19460053469 100644
--- a/container-core/src/main/java/com/yahoo/container/jdisc/LoggingRequestHandler.java
+++ b/container-core/src/main/java/com/yahoo/container/jdisc/LoggingRequestHandler.java
@@ -30,7 +30,7 @@ import java.util.concurrent.Executor;
*/
public abstract class LoggingRequestHandler extends ThreadedHttpRequestHandler {
- private AccessLog accessLog;
+ private final AccessLog accessLog;
public LoggingRequestHandler(Executor executor, AccessLog accessLog) {
this(executor, accessLog, null);
diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/ThreadedRequestHandler.java b/container-core/src/main/java/com/yahoo/container/jdisc/ThreadedRequestHandler.java
index 5864ecf4b91..4c93613603b 100644
--- a/container-core/src/main/java/com/yahoo/container/jdisc/ThreadedRequestHandler.java
+++ b/container-core/src/main/java/com/yahoo/container/jdisc/ThreadedRequestHandler.java
@@ -159,7 +159,8 @@ public abstract class ThreadedRequestHandler extends AbstractRequestHandler {
*/
protected void writeErrorResponseOnOverload(Request request, ResponseHandler responseHandler) {
Response response = new Response(Response.Status.SERVICE_UNAVAILABLE);
- getRequestType().ifPresent(type -> response.setRequestType(type));
+ if (getRequestType().isPresent() && response.getRequestType() == null)
+ response.setRequestType(getRequestType().get());
ResponseDispatch.newInstance(response).dispatch(responseHandler);
}
@@ -203,7 +204,8 @@ public abstract class ThreadedRequestHandler extends AbstractRequestHandler {
@Override
public ContentChannel handleResponse(Response response) {
if ( tryHasResponded()) throw new IllegalStateException("Response already handled");
- getRequestType().ifPresent(type -> response.setRequestType(type));
+ if (getRequestType().isPresent() && response.getRequestType() == null)
+ response.setRequestType(getRequestType().get());
ContentChannel cc = responseHandler.handleResponse(response);
HandlerMetricContextUtil.onHandled(request, metric, getClass());
return cc;
diff --git a/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java b/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java
index d4ebec6677a..310a4f7b447 100644
--- a/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java
+++ b/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java
@@ -72,6 +72,8 @@ import java.util.logging.Logger;
*/
public class SearchHandler extends LoggingRequestHandler {
+ private static final Logger log = Logger.getLogger(SearchHandler.class.getName());
+
private final AtomicInteger requestsInFlight = new AtomicInteger(0);
// max number of threads for the executor for this handler
@@ -80,15 +82,12 @@ public class SearchHandler extends LoggingRequestHandler {
private static final CompoundName DETAILED_TIMING_LOGGING = new CompoundName("trace.timingDetails");
private static final CompoundName FORCE_TIMESTAMPS = new CompoundName("trace.timestamps");
-
/** Event name for number of connections to the search subsystem */
private static final String SEARCH_CONNECTIONS = "search_connections";
private static final String JSON_CONTENT_TYPE = "application/json";
- private static Logger log = Logger.getLogger(SearchHandler.class.getName());
-
- private Value searchConnections;
+ private final Value searchConnections;
public static final String defaultSearchChainName = "default";
private static final String fallbackSearchChain = "vespa";
@@ -329,6 +328,7 @@ public class SearchHandler extends LoggingRequestHandler {
HttpSearchResponse response = new HttpSearchResponse(getHttpResponseStatus(request, result),
result, query, renderer,
extractTraceNode(query));
+ response.setRequestType(Request.RequestType.READ);
hostResponseHeaderKey.ifPresent(key -> response.headers().add(key, selfHostname));
if (benchmarking)
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/Response.java b/jdisc_core/src/main/java/com/yahoo/jdisc/Response.java
index c3e386b020c..654c9350547 100644
--- a/jdisc_core/src/main/java/com/yahoo/jdisc/Response.java
+++ b/jdisc_core/src/main/java/com/yahoo/jdisc/Response.java
@@ -208,7 +208,9 @@ public class Response {
}
/** Sets the type classification of this request for metric collection purposes */
- public void setRequestType(Request.RequestType requestType) { this.requestType = requestType; }
+ public void setRequestType(Request.RequestType requestType) {
+ this.requestType = requestType;
+ }
/** Returns the type classification of this request for metric collection purposes, or null if not set */
public Request.RequestType getRequestType() { return requestType; }