Do not leak Kryo from atomix.storage 40/104740/8
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 2 Mar 2023 18:57:03 +0000 (19:57 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Mon, 27 Mar 2023 12:14:57 +0000 (14:14 +0200)
commit014a5d10aa01fcb9b1a7f8bae97e13ca3b7aa698
tree9d35162ceadf967b7b3b1c92da4ca3287087c511
parent0bacb5d7a91f1bc0fcd13763b1cdfcd74ed2e0e6
Do not leak Kryo from atomix.storage

Rather than dealing with Kryo serializers, introduce separate interfaces
to deal with input/output and serialization logic.

This allows us to be in explicit control as to what interface do we
support towards segmented journal persistence. It further means Kryo is
now a pure implementation thing and can be removed without changing the
APIs.

JIRA: CONTROLLER-2072
Change-Id: Ib4550f5f29d33d792f37110b5a14756654a5b87e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 files changed:
opendaylight/md-sal/sal-akka-segmented-journal/src/main/java/org/opendaylight/controller/akka/segjournal/DataJournalEntrySerializer.java
opendaylight/md-sal/sal-akka-segmented-journal/src/main/java/org/opendaylight/controller/akka/segjournal/LongSerdes.java [new file with mode: 0644]
opendaylight/md-sal/sal-akka-segmented-journal/src/main/java/org/opendaylight/controller/akka/segjournal/SegmentedJournalActor.java
third-party/atomix/storage/pom.xml
third-party/atomix/storage/src/main/java/io/atomix/storage/journal/JournalSerdes.java
third-party/atomix/storage/src/main/java/io/atomix/utils/serializer/EntrySerializer.java [new file with mode: 0644]
third-party/atomix/storage/src/main/java/io/atomix/utils/serializer/KryoEntryInput.java [new file with mode: 0644]
third-party/atomix/storage/src/main/java/io/atomix/utils/serializer/KryoEntryOutput.java [new file with mode: 0644]
third-party/atomix/storage/src/main/java/io/atomix/utils/serializer/Namespace.java
third-party/atomix/storage/src/test/java/io/atomix/storage/journal/AbstractJournalTest.java
third-party/atomix/storage/src/test/java/io/atomix/storage/journal/ByteArraySerdes.java [new file with mode: 0644]
third-party/atomix/storage/src/test/java/io/atomix/storage/journal/TestEntrySerdes.java [moved from third-party/atomix/storage/src/test/java/io/atomix/storage/journal/TestEntrySerializer.java with 50% similarity]