From 5aed2bd908c7ee9245a4f4dee2fbbb2f18689114 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Thu, 11 May 2023 19:07:01 +0200 Subject: [PATCH] Switch MetadataShardDataTreeSnapshot to new Proxy We have defined MS as the new proxy, but have not switched to it. This patch finishes that migration. JIRA: CONTROLLER-2077 Change-Id: Ie8031c77e8900bd4a5e408a9a2ae7491bdf19171 Signed-off-by: Robert Varga --- .../MetadataShardDataTreeSnapshot.java | 25 ++++++------------- .../persisted/ShardDataTreeSnapshotTest.java | 8 +++--- 2 files changed, 11 insertions(+), 22 deletions(-) diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/MetadataShardDataTreeSnapshot.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/MetadataShardDataTreeSnapshot.java index 1d7d43289a..a33a650052 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/MetadataShardDataTreeSnapshot.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/MetadataShardDataTreeSnapshot.java @@ -24,7 +24,6 @@ import java.io.StreamCorruptedException; import java.util.Map; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.codec.binfmt.NormalizedNodeDataInput; -import org.opendaylight.yangtools.yang.data.codec.binfmt.NormalizedNodeDataOutput; import org.opendaylight.yangtools.yang.data.codec.binfmt.NormalizedNodeStreamVersion; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -38,6 +37,7 @@ import org.slf4j.LoggerFactory; public final class MetadataShardDataTreeSnapshot extends AbstractVersionedShardDataTreeSnapshot implements Serializable { private static final class Proxy implements Externalizable { + @java.io.Serial private static final long serialVersionUID = 1L; private static final Logger LOG = LoggerFactory.getLogger(MetadataShardDataTreeSnapshot.class); @@ -52,22 +52,9 @@ public final class MetadataShardDataTreeSnapshot extends AbstractVersionedShardD // For Externalizable } - Proxy(final MetadataShardDataTreeSnapshot snapshot) { - rootNode = snapshot.getRootNode().orElseThrow(); - metadata = snapshot.getMetadata(); - version = snapshot.version().getStreamVersion(); - } - @Override - public void writeExternal(final ObjectOutput out) throws IOException { - out.writeInt(metadata.size()); - for (ShardDataTreeSnapshotMetadata m : metadata.values()) { - out.writeObject(m); - } - out.writeBoolean(true); - try (NormalizedNodeDataOutput stream = version.newDataOutput(out)) { - stream.writeNormalizedNode(rootNode); - } + public void writeExternal(final ObjectOutput out) { + throw new UnsupportedOperationException(); } @Override @@ -103,6 +90,7 @@ public final class MetadataShardDataTreeSnapshot extends AbstractVersionedShardD } } + @java.io.Serial private static final long serialVersionUID = 1L; @SuppressFBWarnings(value = "SE_BAD_FIELD", justification = "This field is not Serializable but this class " @@ -134,11 +122,12 @@ public final class MetadataShardDataTreeSnapshot extends AbstractVersionedShardD @Override PayloadVersion version() { - return PayloadVersion.MAGNESIUM; + return PayloadVersion.CHLORINE_SR2; } + @java.io.Serial private Object writeReplace() { - return new Proxy(this); + return new MS(this); } @Override diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/persisted/ShardDataTreeSnapshotTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/persisted/ShardDataTreeSnapshotTest.java index 9c50f1669c..b0bb230464 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/persisted/ShardDataTreeSnapshotTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/persisted/ShardDataTreeSnapshotTest.java @@ -46,7 +46,7 @@ public class ShardDataTreeSnapshotTest { } final byte[] bytes = bos.toByteArray(); - assertEquals(236, bytes.length); + assertEquals(202, bytes.length); ShardDataTreeSnapshot deserialized; try (ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(bytes))) { @@ -73,7 +73,7 @@ public class ShardDataTreeSnapshotTest { } final byte[] bytes = bos.toByteArray(); - assertEquals(384, bytes.length); + assertEquals(350, bytes.length); ShardDataTreeSnapshot deserialized; try (ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(bytes))) { @@ -87,6 +87,7 @@ public class ShardDataTreeSnapshotTest { static class TestShardDataTreeSnapshotMetadata extends ShardDataTreeSnapshotMetadata { + @java.io.Serial private static final long serialVersionUID = 1L; private final String data; @@ -112,8 +113,7 @@ public class ShardDataTreeSnapshotTest { @Override public boolean equals(final Object obj) { - return obj instanceof TestShardDataTreeSnapshotMetadata - && data.equals(((TestShardDataTreeSnapshotMetadata)obj).data); + return obj instanceof TestShardDataTreeSnapshotMetadata other && data.equals(other.data); } private static class Proxy implements Externalizable { -- 2.36.6