Remove JournalWriter.getLastEntry()
[controller.git] / opendaylight / md-sal / sal-akka-segmented-journal / src / main / java / org / opendaylight / controller / akka / segjournal / SegmentedJournalActor.java
index 9f63892d26fdfd949b46d0bb9213bd84df2deb80..a3c28cac8addc8c774d64ea6408f1c20251d6d38 100644 (file)
@@ -486,8 +486,9 @@ abstract sealed class SegmentedJournalActor extends AbstractActor {
         final var sw = Stopwatch.createStarted();
         deleteJournal = SegmentedJournal.<Long>builder().withDirectory(directory).withName("delete")
                 .withNamespace(DELETE_NAMESPACE).withMaxSegmentSize(DELETE_SEGMENT_SIZE).build();
-        final var lastEntry = deleteJournal.writer().getLastEntry();
-        lastDelete = lastEntry == null ? 0 : lastEntry.entry();
+        final var lastDeleteRecovered = deleteJournal.openReader(deleteJournal.writer().getLastIndex())
+            .tryNext((index, value, length) -> value);
+        lastDelete = lastDeleteRecovered == null ? 0 : lastDeleteRecovered.longValue();
 
         dataJournal = new DataJournalV0(persistenceId, messageSize, context().system(), storage, directory,
             maxEntrySize, maxSegmentSize);