diff options
author | Harald Musum <musum@verizonmedia.com> | 2022-12-08 13:42:29 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-08 13:42:29 +0100 |
commit | aa74d025471edc83da714f4cb2a7a0eed84fc0c8 (patch) | |
tree | 634c51d814e46de32c2f5fe60b3b8f861d519647 | |
parent | 99b1c7795757d0f337d319bfa8f559382692665d (diff) | |
parent | 8fc7f7ce2b30ed8afacbc3f013b27c5b94bc4194 (diff) |
Merge pull request #25171 from vespa-engine/jonmv/handle-empty-zk-nodes
Handle empty ZK nodes in log storage
-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); |