From: Robert Varga Date: Wed, 25 Sep 2019 10:45:18 +0000 (+0200) Subject: Define PayloadVersion.MAGNESIUM X-Git-Tag: release/magnesium~67 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=422ac9fbe65c02f942c1fed41ff4aa96545f4224 Define PayloadVersion.MAGNESIUM This adds the PayloadVersion which uses Magnesium normalized node stream. JIRA: CONTROLLER-1919 Change-Id: Ie43e9932a19bd19c92f14890da13646bf56e2f6f Signed-off-by: Robert Varga --- 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 96ab0ca5e6..9e6402cda9 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 return new ShardSnapshotState(readSnapshot(in), true); case NEON_SR2: case SODIUM_SR1: + case MAGNESIUM: return new ShardSnapshotState(readSnapshot(in), false); case TEST_FUTURE_VERSION: case TEST_PAST_VERSION: @@ -78,7 +79,8 @@ abstract class AbstractVersionedShardDataTreeSnapshot extends ShardDataTreeSnaps case BORON: case NEON_SR2: case SODIUM_SR1: - // Boron, NeonSR2 and Sodium snapshots use Java Serialization, but differ in stream format + case MAGNESIUM: + // Boron, NeonSR2, Sodium and Magnesium snapshots use Java Serialization, but differ in stream format out.writeObject(this); return; case TEST_FUTURE_VERSION: 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 272cc7e80e..921c9fca96 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 @@ -82,6 +82,17 @@ public enum PayloadVersion implements WritableObject { } }, + /** + * Revised payload version. Payloads remain the same as {@link #SODIUM_SR1}, but messages bearing QNames in any + * shape are using {@link NormalizedNodeStreamVersion#MAGNESIUM}, which improves encoding. + */ + MAGNESIUM(8) { + @Override + public NormalizedNodeStreamVersion getStreamVersion() { + return NormalizedNodeStreamVersion.MAGNESIUM; + } + }, + /** * Version which is newer than any other version. This version exists purely for testing purposes. */ @@ -150,8 +161,10 @@ public enum PayloadVersion implements WritableObject { return NEON_SR2; case 7: return SODIUM_SR1; + case 8: + return MAGNESIUM; default: - throw new FutureVersionException(version, SODIUM_SR1); + throw new FutureVersionException(version, MAGNESIUM); } }