diff options
author | jonmv <venstad@gmail.com> | 2022-12-08 13:25:59 +0100 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2022-12-08 13:25:59 +0100 |
commit | 8fc7f7ce2b30ed8afacbc3f013b27c5b94bc4194 (patch) | |
tree | 87a99dbd47f841af123120449852227f24611717 /controller-server | |
parent | 563f72f6acd7d98558a3af735c220e208be182e1 (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.java | 3 |
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); |