Switch MetadataShardDataTreeSnapshot to new Proxy 91/105891/6
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 11 May 2023 17:07:01 +0000 (19:07 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Fri, 12 May 2023 17:42:26 +0000 (19:42 +0200)
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 <robert.varga@pantheon.tech>
opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/MetadataShardDataTreeSnapshot.java
opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/persisted/ShardDataTreeSnapshotTest.java

index 1d7d43289aef12df988dc567b49100f4e2957f15..a33a650052b3fb543fec886938294947ff2fee36 100644 (file)
@@ -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 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;
 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 {
 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);
 
         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
         }
 
             // For Externalizable
         }
 
-        Proxy(final MetadataShardDataTreeSnapshot snapshot) {
-            rootNode = snapshot.getRootNode().orElseThrow();
-            metadata = snapshot.getMetadata();
-            version = snapshot.version().getStreamVersion();
-        }
-
         @Override
         @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
         }
 
         @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 "
     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() {
 
     @Override
     PayloadVersion version() {
-        return PayloadVersion.MAGNESIUM;
+        return PayloadVersion.CHLORINE_SR2;
     }
 
     }
 
+    @java.io.Serial
     private Object writeReplace() {
     private Object writeReplace() {
-        return new Proxy(this);
+        return new MS(this);
     }
 
     @Override
     }
 
     @Override
index 9c50f1669c4d355a371f5c8b1128c5a31f8fc033..b0bb23046415a4c0e4e5ba5504dffdae9ce3ab15 100644 (file)
@@ -46,7 +46,7 @@ public class ShardDataTreeSnapshotTest {
         }
 
         final byte[] bytes = bos.toByteArray();
         }
 
         final byte[] bytes = bos.toByteArray();
-        assertEquals(236, bytes.length);
+        assertEquals(202, bytes.length);
 
         ShardDataTreeSnapshot deserialized;
         try (ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(bytes))) {
 
         ShardDataTreeSnapshot deserialized;
         try (ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(bytes))) {
@@ -73,7 +73,7 @@ public class ShardDataTreeSnapshotTest {
         }
 
         final byte[] bytes = bos.toByteArray();
         }
 
         final byte[] bytes = bos.toByteArray();
-        assertEquals(384, bytes.length);
+        assertEquals(350, bytes.length);
 
         ShardDataTreeSnapshot deserialized;
         try (ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(bytes))) {
 
         ShardDataTreeSnapshot deserialized;
         try (ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(bytes))) {
@@ -87,6 +87,7 @@ public class ShardDataTreeSnapshotTest {
 
     static class TestShardDataTreeSnapshotMetadata
             extends ShardDataTreeSnapshotMetadata<TestShardDataTreeSnapshotMetadata> {
 
     static class TestShardDataTreeSnapshotMetadata
             extends ShardDataTreeSnapshotMetadata<TestShardDataTreeSnapshotMetadata> {
+        @java.io.Serial
         private static final long serialVersionUID = 1L;
 
         private final String data;
         private static final long serialVersionUID = 1L;
 
         private final String data;
@@ -112,8 +113,7 @@ public class ShardDataTreeSnapshotTest {
 
         @Override
         public boolean equals(final Object obj) {
 
         @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 {
         }
 
         private static class Proxy implements Externalizable {