diff --git a/performanceDb/src/main/java/org/lucares/performance/db/PdbFileIterator.java b/performanceDb/src/main/java/org/lucares/performance/db/PdbFileIterator.java index 8974df5..770e390 100644 --- a/performanceDb/src/main/java/org/lucares/performance/db/PdbFileIterator.java +++ b/performanceDb/src/main/java/org/lucares/performance/db/PdbFileIterator.java @@ -34,14 +34,19 @@ public class PdbFileIterator implements Iterator, AutoCloseable { if (reader == null) { return null; } - final Entry entry = reader.readNullableEntry(); + Entry entry = reader.readNullableEntry(); - if (entry == null) { + while (entry == null) { nextFile(); if (reader == null) { return null; } else { - return reader.readEntry().orElse(null); + entry = reader.readEntry().orElse(null); + // A reader might return null, for a newly opened reader, + // if the file was created, but nothing has been written to + // disk yet. + // This might happen, because of buffering, or when an ingestion + // was cancelled. } }