atomic-storage: remove type dependency at segment level I/O 17/111217/3
authorRuslan Kashapov <ruslan.kashapov@pantheon.tech>
Wed, 3 Apr 2024 09:53:20 +0000 (12:53 +0300)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 18 Apr 2024 15:50:19 +0000 (17:50 +0200)
commit08d6b66f08fd997ab92e97e86d18059480eb693b
treedfb1d27870d3c96c59c26ae1fe0ba0720d91053a
parent0324432d000896c3f27c7be4e1863231bd50cadc
atomic-storage: remove type dependency at segment level I/O

Due to object de- and serialization was served by segment
I/O artifacts it required these artifacts holding serializer
instance and being dependent on its type (generics).

Moving serialization to upper level (journal) allows segment
reader/writer operate on byte level only with no extra data
conversions. Serializer interface simplified for further
isolation and removal of Kryo serializer.

JIRA: CONTROLLER-2115
Change-Id: I8f6bac3192a0f38b627150be4c8ea128f1e233e5
Signed-off-by: Ruslan Kashapov <ruslan.kashapov@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 files changed:
atomix-storage/pom.xml
atomix-storage/src/main/java/io/atomix/storage/journal/CommitsSegmentJournalReader.java
atomix-storage/src/main/java/io/atomix/storage/journal/DiskJournalSegmentWriter.java
atomix-storage/src/main/java/io/atomix/storage/journal/JournalSegment.java
atomix-storage/src/main/java/io/atomix/storage/journal/JournalSegmentReader.java
atomix-storage/src/main/java/io/atomix/storage/journal/JournalSegmentWriter.java
atomix-storage/src/main/java/io/atomix/storage/journal/JournalSerdes.java
atomix-storage/src/main/java/io/atomix/storage/journal/JournalSerializer.java [new file with mode: 0644]
atomix-storage/src/main/java/io/atomix/storage/journal/MappedJournalSegmentWriter.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
features/odl-mdsal-clustering-commons/pom.xml
features/odl-mdsal-clustering-commons/src/main/feature/feature.xml