From 14a4cbf04ff2df99027bcaa6167e39394c4091ad Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Fri, 15 Mar 2024 09:11:41 +0100 Subject: [PATCH] Use correct JournalSegmentWriter for initial indexing JournalSegment should look at StorageLevel and pick the appropriate writer instead of always using FileChannelJournalSegment. JIRA: CONTROLLER-2099 Change-Id: I060618a2808a837214b5ae61f4860f329c1799f0 Signed-off-by: Robert Varga --- .../main/java/io/atomix/storage/journal/JournalSegment.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/atomix-storage/src/main/java/io/atomix/storage/journal/JournalSegment.java b/atomix-storage/src/main/java/io/atomix/storage/journal/JournalSegment.java index ec685fe5c9..0058186e2f 100644 --- a/atomix-storage/src/main/java/io/atomix/storage/journal/JournalSegment.java +++ b/atomix-storage/src/main/java/io/atomix/storage/journal/JournalSegment.java @@ -64,7 +64,10 @@ final class JournalSegment implements AutoCloseable { } catch (IOException e) { throw new StorageException(e); } - writer = new FileChannelJournalSegmentWriter<>(channel, this, maxEntrySize, index, namespace); + writer = switch (storageLevel) { + case DISK -> new FileChannelJournalSegmentWriter<>(channel, this, maxEntrySize, index, namespace); + case MAPPED -> new MappedJournalSegmentWriter<>(channel, this, maxEntrySize, index, namespace).toFileChannel(); + }; } /** -- 2.36.6