From f9f7739e90523361e38406d7df15cd99337219c5 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Fri, 15 Mar 2024 11:05:21 +0100 Subject: [PATCH] Make JournalSegmentWriter.getLastIndex() final We have duplicated code between the two implementations. Centralize it to the common superclass. JIRA: CONTROLLER-2098 Change-Id: I805e882566d8f891c23a1f25143d453c94284cd1 Signed-off-by: Robert Varga --- .../storage/journal/FileChannelJournalSegmentWriter.java | 5 ----- .../java/io/atomix/storage/journal/JournalSegmentWriter.java | 5 ++++- .../atomix/storage/journal/MappedJournalSegmentWriter.java | 5 ----- 3 files changed, 4 insertions(+), 11 deletions(-) diff --git a/atomix-storage/src/main/java/io/atomix/storage/journal/FileChannelJournalSegmentWriter.java b/atomix-storage/src/main/java/io/atomix/storage/journal/FileChannelJournalSegmentWriter.java index ec4d4a6dbb..5f146c7f86 100644 --- a/atomix-storage/src/main/java/io/atomix/storage/journal/FileChannelJournalSegmentWriter.java +++ b/atomix-storage/src/main/java/io/atomix/storage/journal/FileChannelJournalSegmentWriter.java @@ -146,11 +146,6 @@ final class FileChannelJournalSegmentWriter extends JournalSegmentWriter { } } - @Override - long getLastIndex() { - return lastEntry != null ? lastEntry.index() : firstIndex - 1; - } - @Override Indexed getLastEntry() { return lastEntry; diff --git a/atomix-storage/src/main/java/io/atomix/storage/journal/JournalSegmentWriter.java b/atomix-storage/src/main/java/io/atomix/storage/journal/JournalSegmentWriter.java index 6996906c7b..8ddaaae3c6 100644 --- a/atomix-storage/src/main/java/io/atomix/storage/journal/JournalSegmentWriter.java +++ b/atomix-storage/src/main/java/io/atomix/storage/journal/JournalSegmentWriter.java @@ -55,7 +55,10 @@ abstract sealed class JournalSegmentWriter permits FileChannelJournalSegmentW * * @return The last written index. */ - abstract long getLastIndex(); + final long getLastIndex() { + final Indexed lastEntry; + return (lastEntry = getLastEntry()) != null ? lastEntry.index() : firstIndex - 1; + } /** * Returns the last entry written. diff --git a/atomix-storage/src/main/java/io/atomix/storage/journal/MappedJournalSegmentWriter.java b/atomix-storage/src/main/java/io/atomix/storage/journal/MappedJournalSegmentWriter.java index 18aba4879e..ffc45dcfe7 100644 --- a/atomix-storage/src/main/java/io/atomix/storage/journal/MappedJournalSegmentWriter.java +++ b/atomix-storage/src/main/java/io/atomix/storage/journal/MappedJournalSegmentWriter.java @@ -149,11 +149,6 @@ final class MappedJournalSegmentWriter extends JournalSegmentWriter { } } - @Override - long getLastIndex() { - return lastEntry != null ? lastEntry.index() : firstIndex - 1; - } - @Override Indexed getLastEntry() { return lastEntry; -- 2.36.6