summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMorten Tokle <mortent@verizonmedia.com>2020-09-04 13:35:51 +0200
committerMorten Tokle <mortent@verizonmedia.com>2020-09-04 13:35:51 +0200
commita7214af1b64f8785f1c465623ec3f74ea4ed4b9d (patch)
tree83e1c5d204250dce78b4022c5304161307f505aa
parenta65f13be8b7117c255ddd1baeb03eae4ed9081ab (diff)
Handle log record duplicates
-rw-r--r--vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/TestRunnerHandler.java8
-rw-r--r--vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/TestRunnerHandlerTest.java2
2 files changed, 4 insertions, 6 deletions
diff --git a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/TestRunnerHandler.java b/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/TestRunnerHandler.java
index 3a9c9caf863..77c68012005 100644
--- a/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/TestRunnerHandler.java
+++ b/vespa-osgi-testrunner/src/main/java/com/yahoo/vespa/testrunner/TestRunnerHandler.java
@@ -22,7 +22,6 @@ import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;
-import java.time.Instant;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
@@ -76,15 +75,14 @@ public class TestRunnerHandler extends LoggingRequestHandler {
String path = request.getUri().getPath();
if (path.equals("/tester/v1/log")) {
if (useOsgiMode) {
- Instant fetchRecordsAfter = Optional.ofNullable(request.getProperty("after"))
+ long fetchRecordsAfter = Optional.ofNullable(request.getProperty("after"))
.map(Long::parseLong)
- .map(Instant::ofEpochSecond)
- .orElse(Instant.EPOCH);
+ .orElse(-1L);
List<LogRecord> logRecords = Optional.ofNullable(junitRunner.getReport())
.map(TestReport::logLines)
.orElse(Collections.emptyList()).stream()
- .filter(record -> record.getInstant().isAfter(fetchRecordsAfter))
+ .filter(record -> record.getSequenceNumber()>fetchRecordsAfter)
.collect(Collectors.toList());
return new SlimeJsonResponse(logToSlime(logRecords));
} else {
diff --git a/vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/TestRunnerHandlerTest.java b/vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/TestRunnerHandlerTest.java
index 18e857089a0..2234bdff0a0 100644
--- a/vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/TestRunnerHandlerTest.java
+++ b/vespa-osgi-testrunner/src/test/java/com/yahoo/vespa/testrunner/TestRunnerHandlerTest.java
@@ -71,7 +71,7 @@ public class TestRunnerHandlerTest {
JsonTestHelper.assertJsonEquals(new String(out.toByteArray()), "{\"logRecords\":[{\"id\":0,\"at\":1598432151660,\"type\":\"info\",\"message\":\"Tests started\"}]}");
// Should not get old log
- response = testRunnerHandler.handle(HttpRequest.createTestRequest("http://localhost:1234/tester/v1/log?after="+testInstant.plusSeconds(1).getEpochSecond(), GET));
+ response = testRunnerHandler.handle(HttpRequest.createTestRequest("http://localhost:1234/tester/v1/log?after=0", GET));
out = new ByteArrayOutputStream();
response.render(out);
assertEquals("{\"logRecords\":[]}", new String(out.toByteArray()));