Cap index to sequenceNr before tryNext() 70/111470/3
authorRobert Varga <robert.varga@pantheon.tech>
Sun, 21 Apr 2024 12:04:40 +0000 (14:04 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Sun, 21 Apr 2024 17:56:11 +0000 (19:56 +0200)
Rather than relying on Indexed.index(), which requires us to attempt to
read the next entry, use a simple getNextIndex() check.

JIRA: CONTROLLER-2115
Change-Id: Id1d7638dda0d909b8383af8f1e201fb9e7f192e0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
opendaylight/md-sal/sal-akka-segmented-journal/src/main/java/org/opendaylight/controller/akka/segjournal/DataJournalV0.java

index 243a064b80fea81b9fed2a522dacb9f0105aabc4..fdb8c97d6a2fe87f745786d8f81580437bda72c5 100644 (file)
@@ -90,9 +90,9 @@ final class DataJournalV0 extends DataJournal {
 
     private void handleReplayMessages(final JournalReader<DataJournalEntry> reader, final ReplayMessages message) {
         int count = 0;
-        while (count < message.max) {
+        while (count < message.max && reader.getNextIndex() <= message.toSequenceNr) {
             final var next = reader.tryNext();
-            if (next == null || next.index() > message.toSequenceNr) {
+            if (next == null) {
                 break;
             }