diff options
5 files changed, 20 insertions, 19 deletions
diff --git a/container-core/abi-spec.json b/container-core/abi-spec.json index 8eb13adec24..efe6701342f 100644 --- a/container-core/abi-spec.json +++ b/container-core/abi-spec.json @@ -388,11 +388,7 @@ "public long getQueryStartTime()", "public long getTimeout()" ], - "fields": [ - "protected long summaryStartTime", - "protected long queryStartTime", - "protected long timeout" - ] + "fields": [] }, "com.yahoo.container.handler.VipStatus": { "superClass": "java.lang.Object", diff --git a/container-core/src/main/java/com/yahoo/container/handler/Timing.java b/container-core/src/main/java/com/yahoo/container/handler/Timing.java index 0026854ce61..a6322289074 100644 --- a/container-core/src/main/java/com/yahoo/container/handler/Timing.java +++ b/container-core/src/main/java/com/yahoo/container/handler/Timing.java @@ -17,11 +17,11 @@ package com.yahoo.container.handler; */ public class Timing { - protected long summaryStartTime; + private final long summaryStartTime; - protected long queryStartTime; + private final long queryStartTime; - protected long timeout; + private final long timeout; /** * Do consider using 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 0d20fc05586..222df8fb266 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 @@ -134,7 +134,10 @@ public abstract class LoggingRequestHandler extends ThreadedHttpRequestHandler { long summaryStartTime = 0; if (t != null) { timeoutInterval = t.getTimeout(); - requestOverhead = t.getQueryStartTime() - startTime; + long queryStartTime = t.getQueryStartTime(); + if (queryStartTime > 0) { + requestOverhead = queryStartTime - startTime; + } summaryStartTime = t.getSummaryStartTime(); } diff --git a/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerConformanceTest.java b/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerConformanceTest.java index 825e3eba110..2183098da2b 100644 --- a/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerConformanceTest.java +++ b/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerConformanceTest.java @@ -169,7 +169,7 @@ public class HttpServerConformanceTest extends ServerProviderConformanceTest { @Override @Test public void testRequestNondeterministicExceptionWithSyncHandleResponse() throws Throwable { - new TestRunner().expect(anyOf(success(), serverError())) + new TestRunner().expect(anyOf(success(), successNoContent(), serverError())) .execute(); } @@ -232,7 +232,7 @@ public class HttpServerConformanceTest extends ServerProviderConformanceTest { @Override @Test public void testRequestContentWriteWithNondeterministicSyncFailure() throws Throwable { - new TestRunner().expect(anyOf(success(), serverError())) + new TestRunner().expect(anyOf(success(), successNoContent(), serverError())) .execute(); } @@ -253,7 +253,7 @@ public class HttpServerConformanceTest extends ServerProviderConformanceTest { @Override @Test public void testRequestContentWriteWithNondeterministicAsyncFailure() throws Throwable { - new TestRunner().expect(anyOf(success(), serverError())) + new TestRunner().expect(anyOf(success(), successNoContent(), serverError())) .execute(); } @@ -281,7 +281,7 @@ public class HttpServerConformanceTest extends ServerProviderConformanceTest { @Override @Test public void testRequestContentWriteNondeterministicException() throws Throwable { - new TestRunner().expect(anyOf(success(), serverError(), successNoContent())) + new TestRunner().expect(anyOf(success(), successNoContent(), serverError(), successNoContent())) .execute(); } @@ -309,7 +309,7 @@ public class HttpServerConformanceTest extends ServerProviderConformanceTest { @Override @Test public void testRequestContentWriteNondeterministicExceptionWithSyncCompletion() throws Throwable { - new TestRunner().expect(anyOf(success(), serverError())) + new TestRunner().expect(anyOf(success(), successNoContent(), serverError())) .execute(); } @@ -394,7 +394,7 @@ public class HttpServerConformanceTest extends ServerProviderConformanceTest { @Override @Test public void testRequestContentWriteExceptionWithNondeterministicAsyncFailure() throws Throwable { - new TestRunner().expect(anyOf(success(), serverError())) + new TestRunner().expect(anyOf(success(), successNoContent(), serverError())) .execute(); } @@ -520,7 +520,7 @@ public class HttpServerConformanceTest extends ServerProviderConformanceTest { @Override @Test public void testRequestContentCloseNondeterministicExceptionWithSyncCompletion() throws Throwable { - new TestRunner().expect(anyOf(success(), serverError(), successNoContent())) + new TestRunner().expect(anyOf(success(), successNoContent(), serverError(), successNoContent())) .execute(); } @@ -548,7 +548,7 @@ public class HttpServerConformanceTest extends ServerProviderConformanceTest { @Override @Test public void testRequestContentCloseNondeterministicExceptionWithAsyncCompletion() throws Throwable { - new TestRunner().expect(anyOf(success(), serverError(), successNoContent())) + new TestRunner().expect(anyOf(success(), successNoContent(), serverError(), successNoContent())) .execute(); } diff --git a/container-search/src/main/java/com/yahoo/search/handler/SearchResponse.java b/container-search/src/main/java/com/yahoo/search/handler/SearchResponse.java index b4a469c569a..5b5ff0770c4 100644 --- a/container-search/src/main/java/com/yahoo/search/handler/SearchResponse.java +++ b/container-search/src/main/java/com/yahoo/search/handler/SearchResponse.java @@ -49,9 +49,11 @@ public class SearchResponse { } public static Timing createTiming(Query query, Result result) { - return new Timing(result.getElapsedTime().firstFill(), + long summaryStartTime = result.getElapsedTime().firstFill(); + long queryStartTime = result.getElapsedTime().first(); + return new Timing(summaryStartTime, 0, - result.getElapsedTime().first(), + queryStartTime == Long.MAX_VALUE ? 0 : queryStartTime, query.getTimeout()); } |