From 058765d3385b98d6e6bfc9d5aab1d0a2d6769dd6 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Tue, 29 Nov 2022 20:00:38 +0100 Subject: [PATCH] Define PayloadVersion.CHLORINE_SR2 Add the definition of PayloadVersion.CHLORINE_SR2. This is backwards compatiblein most senses. JIRA: CONTROLLER-2056 Change-Id: Ia39ccf117ec1a0eb0edf909fbaea903f13c185f3 Signed-off-by: Robert Varga --- .../AbstractVersionedShardDataTreeSnapshot.java | 2 ++ .../datastore/persisted/PayloadVersion.java | 14 +++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/AbstractVersionedShardDataTreeSnapshot.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/AbstractVersionedShardDataTreeSnapshot.java index 5e85434e4a..be38f29b44 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/AbstractVersionedShardDataTreeSnapshot.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/AbstractVersionedShardDataTreeSnapshot.java @@ -34,6 +34,7 @@ abstract class AbstractVersionedShardDataTreeSnapshot extends ShardDataTreeSnaps case SODIUM_SR1: return new ShardSnapshotState(readSnapshot(in), true); case MAGNESIUM: + case CHLORINE_SR2: return new ShardSnapshotState(readSnapshot(in), false); case TEST_FUTURE_VERSION: case TEST_PAST_VERSION: @@ -77,6 +78,7 @@ abstract class AbstractVersionedShardDataTreeSnapshot extends ShardDataTreeSnaps switch (version) { case SODIUM_SR1: case MAGNESIUM: + case CHLORINE_SR2: // Sodium and Magnesium snapshots use Java Serialization, but differ in stream format out.writeObject(this); return; diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/PayloadVersion.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/PayloadVersion.java index 0cd939a36b..4eb5ad6c37 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/PayloadVersion.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/PayloadVersion.java @@ -71,6 +71,17 @@ public enum PayloadVersion implements WritableObject { } }, + /** + * ABI version shipped enabled {@code 2022.09 Chlorine SR2}. This version revises the serialization format of + * payloads proxies to reduce their size. Otherwise this format is equivalent to {@link #MAGNESIUM}. + */ + CHLORINE_SR2(9) { + @Override + public NormalizedNodeStreamVersion getStreamVersion() { + return NormalizedNodeStreamVersion.MAGNESIUM; + } + }, + /** * Version which is newer than any other version. This version exists purely for testing purposes. */ @@ -130,7 +141,8 @@ public enum PayloadVersion implements WritableObject { case 0, 1, 2, 3, 4, 5, 6 -> throw new PastVersionException(version, SODIUM_SR1); case 7 -> SODIUM_SR1; case 8 -> MAGNESIUM; - default -> throw new FutureVersionException(version, MAGNESIUM); + case 9 -> CHLORINE_SR2; + default -> throw new FutureVersionException(version, CHLORINE_SR2); }; } -- 2.36.6