summaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/search
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-11-29 17:40:00 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2022-11-29 17:40:00 +0100
commite807b7cab069732251d797a25f2bb6c8fd70c095 (patch)
tree19a421508950b5a00902bc6ee99fe0b99b83646c /container-search/src/main/java/com/yahoo/search
parentdeaac2672dbf627a319b7ebaba808e7918bd0186 (diff)
Reduce need to access getJDiscRequest
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search')
-rw-r--r--container-search/src/main/java/com/yahoo/search/Query.java5
-rw-r--r--container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java2
-rw-r--r--container-search/src/main/java/com/yahoo/search/logging/LoggerEntry.java10
-rw-r--r--container-search/src/main/java/com/yahoo/search/searchers/ConnectionControlSearcher.java8
4 files changed, 15 insertions, 10 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/Query.java b/container-search/src/main/java/com/yahoo/search/Query.java
index f38e4d4d1cd..be964081326 100644
--- a/container-search/src/main/java/com/yahoo/search/Query.java
+++ b/container-search/src/main/java/com/yahoo/search/Query.java
@@ -46,6 +46,7 @@ import com.yahoo.search.yql.VespaSerializer;
import com.yahoo.search.yql.YqlParser;
import com.yahoo.yolean.Exceptions;
+import java.net.URI;
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.Collections;
@@ -912,7 +913,9 @@ public class Query extends com.yahoo.processing.Request implements Cloneable {
* Return the HTTP request which caused this query. This will never be null
* when running with queries from the network.
*/
- public HttpRequest getHttpRequest() { return httpRequest; }
+ public HttpRequest getHttpRequest() { return httpRequest; }
+
+ public URI getUri() { return httpRequest != null ? httpRequest.getUri() : null; }
/** Returns the session id of this query, or null if none is assigned */
public SessionId getSessionId() {
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 3da3f57cb21..39721ffab29 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
@@ -337,7 +337,7 @@ public class SearchHandler extends LoggingRequestHandler {
private void traceRequestAttributes(Query query) {
int miminumTraceLevel = 7;
if (query.getTraceLevel() >= 7) {
- query.trace("Request attributes: " + query.getHttpRequest().getJDiscRequest().context(), miminumTraceLevel);
+ query.trace("Request attributes: " + query.getHttpRequest().context(), miminumTraceLevel);
}
}
diff --git a/container-search/src/main/java/com/yahoo/search/logging/LoggerEntry.java b/container-search/src/main/java/com/yahoo/search/logging/LoggerEntry.java
index 8d8afce4f77..ffac8b89860 100644
--- a/container-search/src/main/java/com/yahoo/search/logging/LoggerEntry.java
+++ b/container-search/src/main/java/com/yahoo/search/logging/LoggerEntry.java
@@ -9,6 +9,7 @@ import com.yahoo.slime.SlimeUtils;
import com.yahoo.text.Utf8;
import java.io.IOException;
import java.io.UncheckedIOException;
+import java.net.URI;
import java.nio.ByteBuffer;
import java.util.Base64;
@@ -37,10 +38,11 @@ public class LoggerEntry {
public String queryString() {
String queryString = null;
if (query != null) {
- if (query.getHttpRequest() != null && query.getHttpRequest().getUri() != null) {
- queryString = query.getHttpRequest().getUri().getPath();
- if (query.getHttpRequest().getUri().getQuery() != null) {
- queryString += "?" + query.getHttpRequest().getUri().getRawQuery();
+ URI uri = query.getUri();
+ if (uri != null) {
+ queryString = uri.getPath();
+ if (uri.getQuery() != null) {
+ queryString += "?" + uri.getRawQuery();
}
}
}
diff --git a/container-search/src/main/java/com/yahoo/search/searchers/ConnectionControlSearcher.java b/container-search/src/main/java/com/yahoo/search/searchers/ConnectionControlSearcher.java
index 15c683ccb10..90cb05be1f8 100644
--- a/container-search/src/main/java/com/yahoo/search/searchers/ConnectionControlSearcher.java
+++ b/container-search/src/main/java/com/yahoo/search/searchers/ConnectionControlSearcher.java
@@ -1,7 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.search.searchers;
-import com.yahoo.container.jdisc.HttpRequest;
+import com.yahoo.component.annotation.Inject;
import com.yahoo.processing.request.CompoundName;
import com.yahoo.search.Query;
import com.yahoo.search.Result;
@@ -53,6 +53,7 @@ public class ConnectionControlSearcher extends Searcher {
private static final String HTTP_CONNECTION_HEADER_NAME = "Connection";
private static final String HTTP_CONNECTION_CLOSE_ARGUMENT = "Close";
+ @Inject
public ConnectionControlSearcher() {
this(() -> System.currentTimeMillis());
}
@@ -100,14 +101,13 @@ public class ConnectionControlSearcher extends Searcher {
}
private void setCloseIfLifetimeExceeded(Query query, Result result, int maxLifetimeSeconds) {
- final HttpRequest httpRequest = query.getHttpRequest();
- if (httpRequest == null) {
+ if (query.getHttpRequest() == null) {
query.trace(false, 5, simpleName, " got max lifetime = ", maxLifetimeSeconds,
", but got no JDisc request. Setting no header.");
return;
}
- final long connectedAtMillis = httpRequest.getJDiscRequest().getConnectedAt(TimeUnit.MILLISECONDS);
+ final long connectedAtMillis = query.getHttpRequest().getConnectedAt(TimeUnit.MILLISECONDS);
final long maxLifeTimeMillis = maxLifetimeSeconds * 1000L;
if (connectedAtMillis + maxLifeTimeMillis < clock.getAsLong()) {
result.getHeaders(true).put(HTTP_CONNECTION_HEADER_NAME, HTTP_CONNECTION_CLOSE_ARGUMENT);