summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorn.christian@seime.no>2019-03-29 15:47:12 +0100
committerGitHub <noreply@github.com>2019-03-29 15:47:12 +0100
commit9e592933ccfdf4833e6ff2413e05074e033b68ca (patch)
tree6c7640438f39f893c2b3dc8688dcebe8f1c2f289
parentdb02a6f26cbf5b65219a0766dca5379fea781b04 (diff)
parent625ecec7f6694d00dc9916318c20033b3e4ea589 (diff)
Merge pull request #8964 from vespa-engine/geirst/logserver-rpc-server-fix
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 {