summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeir Storli <geirst@verizonmedia.com>2019-03-29 14:42:15 +0000
committerGeir Storli <geirst@verizonmedia.com>2019-03-29 14:42:15 +0000
commit625ecec7f6694d00dc9916318c20033b3e4ea589 (patch)
treed3bec78b02f624a2c488eb873040a7ecb53eaf98
parentc02161249c161ee65f5a0be018439152b6cc8763 (diff)
Support handling a list of log messages and flush after each time.
-rw-r--r--logserver/src/main/java/ai/vespa/logserver/protocol/ArchiveLogMessagesMethod.java1
-rw-r--r--logserver/src/main/java/com/yahoo/logserver/LogDispatcher.java4
-rw-r--r--logserver/src/test/java/ai/vespa/logserver/protocol/ArchiveLogMessagesMethodTest.java1
3 files changed, 5 insertions, 1 deletions
diff --git a/logserver/src/main/java/ai/vespa/logserver/protocol/ArchiveLogMessagesMethod.java b/logserver/src/main/java/ai/vespa/logserver/protocol/ArchiveLogMessagesMethod.java
index 9d234b73692..f210ce38457 100644
--- a/logserver/src/main/java/ai/vespa/logserver/protocol/ArchiveLogMessagesMethod.java
+++ b/logserver/src/main/java/ai/vespa/logserver/protocol/ArchiveLogMessagesMethod.java
@@ -76,6 +76,7 @@ public class ArchiveLogMessagesMethod {
return;
}
logDispatcher.handle(ProtobufSerialization.fromLogRequest(logRequestPayload));
+ logDispatcher.flush();
rpcRequest.returnValues().add(new Int8Value((byte)0));
byte[] responsePayload = ProtobufSerialization.toLogResponse();
rpcRequest.returnValues().add(new Int32Value(responsePayload.length));
diff --git a/logserver/src/main/java/com/yahoo/logserver/LogDispatcher.java b/logserver/src/main/java/com/yahoo/logserver/LogDispatcher.java
index 65fa83598b6..9b5816dc252 100644
--- a/logserver/src/main/java/com/yahoo/logserver/LogDispatcher.java
+++ b/logserver/src/main/java/com/yahoo/logserver/LogDispatcher.java
@@ -88,7 +88,9 @@ public class LogDispatcher implements LogHandler, SelectLoopHook {
}
public void handle(List<LogMessage> messages) {
- throw new IllegalStateException("method not supported");
+ for (var message : messages) {
+ handle(message);
+ }
}
/**
diff --git a/logserver/src/test/java/ai/vespa/logserver/protocol/ArchiveLogMessagesMethodTest.java b/logserver/src/test/java/ai/vespa/logserver/protocol/ArchiveLogMessagesMethodTest.java
index a30df6bb050..847975bf2d9 100644
--- a/logserver/src/test/java/ai/vespa/logserver/protocol/ArchiveLogMessagesMethodTest.java
+++ b/logserver/src/test/java/ai/vespa/logserver/protocol/ArchiveLogMessagesMethodTest.java
@@ -47,6 +47,7 @@ public class ArchiveLogMessagesMethodTest {
}
}
verify(logDispatcher).handle(new ArrayList<>(messages));
+ verify(logDispatcher).flush();
}
private static class TestClient implements AutoCloseable {