summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2022-12-08 13:25:59 +0100
committerjonmv <venstad@gmail.com>2022-12-08 13:25:59 +0100
commit8fc7f7ce2b30ed8afacbc3f013b27c5b94bc4194 (patch)
tree87a99dbd47f841af123120449852227f24611717 /controller-server
parent563f72f6acd7d98558a3af735c220e208be182e1 (diff)
Handle empty ZK nodes in log storage
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/BufferedLogStore.java3
1 files changed, 2 insertions, 1 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/BufferedLogStore.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/BufferedLogStore.java
index a3ec30bb122..21255ae83bf 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/BufferedLogStore.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/BufferedLogStore.java
@@ -16,6 +16,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
+import java.util.function.Predicate;
import java.util.stream.Collectors;
import static java.nio.charset.StandardCharsets.UTF_8;
@@ -62,7 +63,7 @@ public class BufferedLogStore {
return; // Max size exceeded — store no more.
byte[] emptyChunk = "[]".getBytes();
- byte[] lastChunk = buffer.readLog(id, type, lastChunkId).orElse(emptyChunk);
+ byte[] lastChunk = buffer.readLog(id, type, lastChunkId).filter(chunk -> chunk.length > 0).orElse(emptyChunk);
long sizeLowerBound = lastChunk.length;
Map<Step, List<LogEntry>> log = logSerializer.fromJson(lastChunk, -1);