summaryrefslogtreecommitdiffstats
path: root/container-search
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-03-04 15:26:06 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-03-04 15:26:06 +0000
commitf4508299a426545bc85d64efe49eca4811c7755c (patch)
treeb74ab7685f34183aa0a9982f0c6b0e579abed3b1 /container-search
parent10924c0954d7faacbf4335fa67d3cec2dbaa99d6 (diff)
Protect against null
Diffstat (limited to 'container-search')
-rw-r--r--container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java19
1 files changed, 16 insertions, 3 deletions
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 dad106570ab..5e3b79c1545 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
@@ -25,6 +25,7 @@ import com.yahoo.prelude.query.QueryException;
import com.yahoo.prelude.query.parser.ParseException;
import com.yahoo.processing.rendering.Renderer;
import com.yahoo.processing.request.CompoundName;
+import com.yahoo.search.query.context.QueryContext;
import com.yahoo.search.query.ranking.SoftTimeout;
import com.yahoo.search.searchchain.ExecutionFactory;
import com.yahoo.slime.Inspector;
@@ -49,6 +50,7 @@ import com.yahoo.statistics.Handle;
import com.yahoo.statistics.Statistics;
import com.yahoo.statistics.Value;
import com.yahoo.vespa.configdefinition.SpecialtokensConfig;
+import com.yahoo.yolean.trace.TraceNode;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
@@ -297,9 +299,7 @@ public class SearchHandler extends LoggingRequestHandler {
Renderer renderer = toRendererCopy(query.getPresentation().getRenderer());
HttpSearchResponse response = new HttpSearchResponse(getHttpResponseStatus(request, result),
result, query, renderer,
- log.isLoggable(Level.FINE)
- ? query.getContext(false).getTrace().traceNode()
- : null);
+ extractTraceNode(query));
if (hostResponseHeaderKey.isPresent())
response.headers().add(hostResponseHeaderKey.get(), selfHostname);
@@ -310,6 +310,19 @@ public class SearchHandler extends LoggingRequestHandler {
return response;
}
+ private static TraceNode extractTraceNode(Query query) {
+ if (log.isLoggable(Level.FINE)) {
+ QueryContext queryContext = query.getContext(false);
+ if (queryContext != null) {
+ Execution.Trace trace = queryContext.getTrace();
+ if (trace != null) {
+ return trace.traceNode();
+ }
+ }
+ }
+ return null;
+ }
+
private static int getErrors(Result result) {
return result.hits().getErrorHit() == null ? 0 : 1;
}