aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2022-12-08 13:42:29 +0100
committerGitHub <noreply@github.com>2022-12-08 13:42:29 +0100
commitaa74d025471edc83da714f4cb2a7a0eed84fc0c8 (patch)
tree634c51d814e46de32c2f5fe60b3b8f861d519647
parent99b1c7795757d0f337d319bfa8f559382692665d (diff)
parent8fc7f7ce2b30ed8afacbc3f013b27c5b94bc4194 (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.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);