Rename JournalSegment.index() 80/111080/3
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 26 Mar 2024 21:16:59 +0000 (22:16 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 27 Mar 2024 00:15:46 +0000 (01:15 +0100)
'index' is an overloaded term. firstIndex() is much more descriptive
than 'index()', which is easily confused with public API argument names.

JIRA: CONTROLLER-2100
Change-Id: I7848a6bb0e1e7b4a1c7f63c8e6db5b02bd0dab76
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
atomix-storage/src/main/java/io/atomix/storage/journal/JournalSegment.java
atomix-storage/src/main/java/io/atomix/storage/journal/JournalSegmentWriter.java
atomix-storage/src/main/java/io/atomix/storage/journal/SegmentedJournal.java
atomix-storage/src/main/java/io/atomix/storage/journal/SegmentedJournalReader.java
atomix-storage/src/main/java/io/atomix/storage/journal/SegmentedJournalWriter.java

index 118d39b3d0870e467bc922ae36e368deb21cc2f9..9239f86d256eca2d0f481bfa5d59f376fb617cb4 100644 (file)
@@ -79,7 +79,7 @@ final class JournalSegment<E> implements AutoCloseable {
    *
    * @return The segment's starting index.
    */
-  long index() {
+  long firstIndex() {
     return descriptor.index();
   }
 
@@ -264,7 +264,7 @@ final class JournalSegment<E> implements AutoCloseable {
     return MoreObjects.toStringHelper(this)
         .add("id", descriptor.id())
         .add("version", descriptor.version())
-        .add("index", index())
+        .add("index", firstIndex())
         .toString();
   }
 }
index e08e50de9e8f62befbbcc5208ee73c79ece6aa38..af633a248ffdc94845515770d68aeb87fe4550e8 100644 (file)
@@ -63,7 +63,7 @@ abstract sealed class JournalSegmentWriter<E> permits DiskJournalSegmentWriter,
      * @return The last written index.
      */
     final long getLastIndex() {
-        return lastEntry != null ? lastEntry.index() : segment.index() - 1;
+        return lastEntry != null ? lastEntry.index() : segment.firstIndex() - 1;
     }
 
     /**
@@ -81,7 +81,7 @@ abstract sealed class JournalSegmentWriter<E> permits DiskJournalSegmentWriter,
      * @return The next index to be written.
      */
     final long getNextIndex() {
-        return lastEntry != null ? lastEntry.index() + 1 : segment.index();
+        return lastEntry != null ? lastEntry.index() + 1 : segment.firstIndex();
     }
 
     /**
@@ -112,7 +112,7 @@ abstract sealed class JournalSegmentWriter<E> permits DiskJournalSegmentWriter,
     abstract JournalSegmentReader<E> reader();
 
     private void resetWithBuffer(final JournalSegmentReader<E> reader, final long index) {
-        long nextIndex = segment.index();
+        long nextIndex = segment.firstIndex();
 
         // Clear the buffer indexes and acquire ownership of the buffer
         currentPosition = JournalSegmentDescriptor.BYTES;
@@ -150,7 +150,7 @@ abstract sealed class JournalSegmentWriter<E> permits DiskJournalSegmentWriter,
         // Truncate the index.
         this.index.truncate(index);
 
-        if (index < segment.index()) {
+        if (index < segment.firstIndex()) {
           // Reset the writer to the first entry.
           currentPosition = JournalSegmentDescriptor.BYTES;
         } else {
index 18ef23e5b1278f58cf19f7c92ea61422bdffb495..ef1a4cf028ebba5a8293e000cccc3a2a1e8eb95f 100644 (file)
@@ -24,7 +24,6 @@ import java.nio.file.StandardOpenOption;
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.Map;
-import java.util.SortedMap;
 import java.util.TreeMap;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentNavigableMap;
@@ -303,7 +302,7 @@ public final class SegmentedJournal<E> implements Journal<E> {
 
     // If the index already equals the first segment index, skip the reset.
     JournalSegment<E> firstSegment = getFirstSegment();
-    if (index == firstSegment.index()) {
+    if (index == firstSegment.firstIndex()) {
       return firstSegment;
     }
 
@@ -390,7 +389,7 @@ public final class SegmentedJournal<E> implements Journal<E> {
   synchronized JournalSegment<E> getSegment(long index) {
     assertOpen();
     // Check if the current segment contains the given index first in order to prevent an unnecessary map lookup.
-    if (currentSegment != null && index > currentSegment.index()) {
+    if (currentSegment != null && index > currentSegment.firstIndex()) {
       return currentSegment;
     }
 
@@ -408,7 +407,7 @@ public final class SegmentedJournal<E> implements Journal<E> {
    * @param segment The segment to remove.
    */
   synchronized void removeSegment(JournalSegment<E> segment) {
-    segments.remove(segment.index());
+    segments.remove(segment.firstIndex());
     segment.close();
     segment.delete();
     resetCurrentSegment();
@@ -518,7 +517,7 @@ public final class SegmentedJournal<E> implements Journal<E> {
 
         // Add the segment to the segments list.
         LOG.debug("Found segment: {} ({})", segment.descriptor().id(), segmentFile.file().getName());
-        segments.put(segment.index(), segment);
+        segments.put(segment.firstIndex(), segment);
       }
     }
 
@@ -528,7 +527,7 @@ public final class SegmentedJournal<E> implements Journal<E> {
     Iterator<Map.Entry<Long, JournalSegment<E>>> iterator = segments.entrySet().iterator();
     while (iterator.hasNext()) {
       JournalSegment<E> segment = iterator.next().getValue();
-      if (previousSegment != null && previousSegment.lastIndex() != segment.index() - 1) {
+      if (previousSegment != null && previousSegment.lastIndex() != segment.firstIndex() - 1) {
         LOG.warn("Journal is inconsistent. {} is not aligned with prior segment {}", segment.file().file(), previousSegment.file().file());
         corrupted = true;
       }
@@ -586,7 +585,7 @@ public final class SegmentedJournal<E> implements Journal<E> {
    */
   public boolean isCompactable(long index) {
     Map.Entry<Long, JournalSegment<E>> segmentEntry = segments.floorEntry(index);
-    return segmentEntry != null && segments.headMap(segmentEntry.getValue().index()).size() > 0;
+    return segmentEntry != null && segments.headMap(segmentEntry.getValue().firstIndex()).size() > 0;
   }
 
   /**
@@ -597,7 +596,7 @@ public final class SegmentedJournal<E> implements Journal<E> {
    */
   public long getCompactableIndex(long index) {
     Map.Entry<Long, JournalSegment<E>> segmentEntry = segments.floorEntry(index);
-    return segmentEntry != null ? segmentEntry.getValue().index() : 0;
+    return segmentEntry != null ? segmentEntry.getValue().firstIndex() : 0;
   }
 
   /**
@@ -608,9 +607,9 @@ public final class SegmentedJournal<E> implements Journal<E> {
    * @param index The index up to which to compact the journal.
    */
   public void compact(long index) {
-    Map.Entry<Long, JournalSegment<E>> segmentEntry = segments.floorEntry(index);
+    final var segmentEntry = segments.floorEntry(index);
     if (segmentEntry != null) {
-      SortedMap<Long, JournalSegment<E>> compactSegments = segments.headMap(segmentEntry.getValue().index());
+      final var compactSegments = segments.headMap(segmentEntry.getValue().firstIndex());
       if (!compactSegments.isEmpty()) {
         LOG.debug("{} - Compacting {} segment(s)", name, compactSegments.size());
         for (JournalSegment<E> segment : compactSegments.values()) {
@@ -619,7 +618,7 @@ public final class SegmentedJournal<E> implements Journal<E> {
           segment.delete();
         }
         compactSegments.clear();
-        resetHead(segmentEntry.getValue().index());
+        resetHead(segmentEntry.getValue().firstIndex());
       }
     }
   }
index 2549f0ebb82f5d70c095b72022313e5be886fec6..cc0fe0d31c0c71dcaf7bed6bf7cedcfbf001b91a 100644 (file)
@@ -33,13 +33,13 @@ sealed class SegmentedJournalReader<E> implements JournalReader<E> permits Commi
         this.journal = requireNonNull(journal);
         currentSegment = requireNonNull(segment);
         currentReader = segment.createReader();
-        nextIndex = currentSegment.index();
+        nextIndex = currentSegment.firstIndex();
         currentEntry = null;
     }
 
     @Override
     public final long getFirstIndex() {
-        return journal.getFirstSegment().index();
+        return journal.getFirstSegment().firstIndex();
     }
 
     @Override
@@ -58,7 +58,7 @@ sealed class SegmentedJournalReader<E> implements JournalReader<E> permits Commi
 
         currentSegment = journal.getFirstSegment();
         currentReader = currentSegment.createReader();
-        nextIndex = currentSegment.index();
+        nextIndex = currentSegment.firstIndex();
         currentEntry = null;
     }
 
@@ -86,7 +86,7 @@ sealed class SegmentedJournalReader<E> implements JournalReader<E> permits Commi
             nextIndex = position.index();
             currentReader.setPosition(position.position());
         } else {
-            nextIndex = currentSegment.index();
+            nextIndex = currentSegment.firstIndex();
             currentReader.setPosition(JournalSegmentDescriptor.BYTES);
         }
         while (nextIndex < index && tryNext() != null) {
@@ -98,7 +98,7 @@ sealed class SegmentedJournalReader<E> implements JournalReader<E> permits Commi
      * Rewinds the journal to the given index.
      */
     private void rewind(final long index) {
-        if (currentSegment.index() >= index) {
+        if (currentSegment.firstIndex() >= index) {
             JournalSegment<E> segment = journal.getSegment(index - 1);
             if (segment != null) {
                 currentReader.close();
@@ -115,8 +115,8 @@ sealed class SegmentedJournalReader<E> implements JournalReader<E> permits Commi
     public Indexed<E> tryNext() {
         var next = currentReader.readEntry(nextIndex);
         if (next == null) {
-            final var nextSegment = journal.getNextSegment(currentSegment.index());
-            if (nextSegment == null || nextSegment.index() != nextIndex) {
+            final var nextSegment = journal.getNextSegment(currentSegment.firstIndex());
+            if (nextSegment == null || nextSegment.firstIndex() != nextIndex) {
                 return null;
             }
 
index ccd26615743e309bdef3942017d280abcf533af9..389c06aa4ec77cada95360182f47c78ead15a6de 100644 (file)
@@ -48,7 +48,7 @@ final class SegmentedJournalWriter<E> implements JournalWriter<E> {
 
   @Override
   public void reset(long index) {
-    if (index > currentSegment.index()) {
+    if (index > currentSegment.firstIndex()) {
       currentSegment.releaseWriter();
       currentSegment = journal.resetSegments(index);
       currentWriter = currentSegment.acquireWriter();
@@ -73,7 +73,7 @@ final class SegmentedJournalWriter<E> implements JournalWriter<E> {
     try {
       return currentWriter.append(entry);
     } catch (BufferOverflowException e) {
-      if (currentSegment.index() == currentWriter.getNextIndex()) {
+      if (currentSegment.firstIndex() == currentWriter.getNextIndex()) {
         throw e;
       }
     }
@@ -92,7 +92,7 @@ final class SegmentedJournalWriter<E> implements JournalWriter<E> {
     }
 
     // Delete all segments with first indexes greater than the given index.
-    while (index < currentSegment.index() && currentSegment != journal.getFirstSegment()) {
+    while (index < currentSegment.firstIndex() && currentSegment != journal.getFirstSegment()) {
       currentSegment.releaseWriter();
       journal.removeSegment(currentSegment);
       currentSegment = journal.getLastSegment();