Shorten currentPosition 76/111076/2
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 26 Mar 2024 19:17:44 +0000 (20:17 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 26 Mar 2024 21:09:57 +0000 (22:09 +0100)
Our current file position is limited to 2^31-1, hence we can safely use
an int instead of a long. This is what StorageLevel.MAPPED needs anyway.

JIRA: CONTROLLER-2100
Change-Id: Idddea88cdc031f515675a39afb64115ded39fe0b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
atomix-storage/src/main/java/io/atomix/storage/journal/DiskJournalSegmentWriter.java

index e51de40687c9723ff74dc3340975f2260875003a..96386a5d621d24045dd150bf49ae5e8170a3017a 100644 (file)
@@ -50,7 +50,7 @@ final class DiskJournalSegmentWriter<E> extends JournalSegmentWriter<E> {
   private final ByteBuffer buffer;
 
   private Indexed<E> lastEntry;
-  private long currentPosition;
+  private int currentPosition;
 
   DiskJournalSegmentWriter(final FileChannel channel, final JournalSegment<E> segment, final int maxEntrySize,
           final JournalIndex index, final JournalSerdes namespace) {
@@ -79,7 +79,7 @@ final class DiskJournalSegmentWriter<E> extends JournalSegmentWriter<E> {
 
   @Override
   MappedJournalSegmentWriter<E> toMapped() {
-    return new MappedJournalSegmentWriter<>(this, (int) currentPosition);
+    return new MappedJournalSegmentWriter<>(this, currentPosition);
   }
 
   @Override
@@ -113,7 +113,7 @@ final class DiskJournalSegmentWriter<E> extends JournalSegmentWriter<E> {
           }
 
           lastEntry = entry;
-          this.index.index(nextIndex, (int) currentPosition);
+          this.index.index(nextIndex, currentPosition);
           nextIndex++;
 
           // Update the current position for indexing.
@@ -166,7 +166,7 @@ final class DiskJournalSegmentWriter<E> extends JournalSegmentWriter<E> {
       // Update the last entry with the correct index/term/length.
       final var indexedEntry = new Indexed<E>(index, entry, length);
       lastEntry = indexedEntry;
-      this.index.index(index, (int) currentPosition);
+      this.index.index(index, currentPosition);
 
       currentPosition = currentPosition + HEADER_BYTES + length;
       return (Indexed<T>) indexedEntry;