From 133f71ecf73f59d88d9b037f6e801057b18bd655 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Wed, 13 Mar 2024 09:50:03 +0100 Subject: [PATCH] Cache reader's nextIndex during reset() JournalSegmentReader.getNextIndex() involves some computation, so do not call it twice when deciding how to reset SegmentedJournalReader. JIRA: CONTROLLER-2106 Change-Id: I7527d8f0c47d35b7a59c30558715204a85b24eae Signed-off-by: Robert Varga (cherry picked from commit 4aa75b385d864cff4409d47264453324b4150fa7) --- .../io/atomix/storage/journal/SegmentedJournalReader.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/atomix-storage/src/main/java/io/atomix/storage/journal/SegmentedJournalReader.java b/atomix-storage/src/main/java/io/atomix/storage/journal/SegmentedJournalReader.java index 861eed7f56..24a91589a6 100644 --- a/atomix-storage/src/main/java/io/atomix/storage/journal/SegmentedJournalReader.java +++ b/atomix-storage/src/main/java/io/atomix/storage/journal/SegmentedJournalReader.java @@ -80,9 +80,10 @@ sealed class SegmentedJournalReader implements JournalReader permits Commi reset(); } - if (index < currentReader.getNextIndex()) { + final var nextIndex = currentReader.getNextIndex(); + if (index < nextIndex) { rewind(index); - } else if (index > currentReader.getNextIndex()) { + } else if (index > nextIndex) { forward(index); } else { currentReader.reset(index); -- 2.36.6