Improve tell-based protocol assumptions 32/98432/1
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 10 Nov 2021 11:34:30 +0000 (12:34 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 11 Nov 2021 12:13:45 +0000 (13:13 +0100)
Make failures a bit more visible by comparing human-readable things.

Change-Id: I682c020be348c61fcdf4c3f31949ba0f666af020
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 8e4ea1b1109f2c4bf167cd2cca2a7ffe2e1f7b73)
(cherry picked from commit 67f471c7360afd147401bbde8511de4f220df0ba)

opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/DistributedDataStoreRemotingIntegrationTest.java

index c9f1e43a12ef85f732e25b0a35073e5857a86904..59ebaf201965298659ed6b5739d757fafe789198 100644 (file)
@@ -37,7 +37,6 @@ import akka.testkit.javadsl.TestKit;
 import com.google.common.base.Stopwatch;
 import com.google.common.base.Throwables;
 import com.google.common.collect.ImmutableMap;
-import com.google.common.primitives.UnsignedLong;
 import com.google.common.util.concurrent.ListenableFuture;
 import com.google.common.util.concurrent.MoreExecutors;
 import com.google.common.util.concurrent.Uninterruptibles;
@@ -84,6 +83,7 @@ import org.opendaylight.controller.cluster.datastore.persisted.FrontendClientMet
 import org.opendaylight.controller.cluster.datastore.persisted.FrontendShardDataTreeSnapshotMetadata;
 import org.opendaylight.controller.cluster.datastore.persisted.MetadataShardDataTreeSnapshot;
 import org.opendaylight.controller.cluster.datastore.persisted.ShardSnapshotState;
+import org.opendaylight.controller.cluster.datastore.utils.UnsignedLongBitmap;
 import org.opendaylight.controller.cluster.raft.base.messages.TimeoutNow;
 import org.opendaylight.controller.cluster.raft.client.messages.GetOnDemandRaftState;
 import org.opendaylight.controller.cluster.raft.client.messages.OnDemandRaftState;
@@ -371,10 +371,9 @@ public class DistributedDataStoreRemotingIntegrationTest extends AbstractTest {
             writeTx.write(CarsModel.newCarPath("car" + i), CarsModel.newCarEntry("car" + i, Uint64.valueOf(20000)));
             followerTestKit.doCommit(writeTx.ready());
 
-            DOMStoreReadTransaction domStoreReadTransaction = txChain.newReadOnlyTransaction();
-            domStoreReadTransaction.read(CarsModel.BASE_PATH).get();
-
-            domStoreReadTransaction.close();
+            try (var tx = txChain.newReadOnlyTransaction()) {
+                tx.read(CarsModel.BASE_PATH).get();
+            }
         }
 
         // wait to let the shard catch up with purged
@@ -414,17 +413,11 @@ public class DistributedDataStoreRemotingIntegrationTest extends AbstractTest {
             metadata = iterator.next();
         }
 
-        assertEquals(0, metadata.getClosedTransactions().size());
-
-        final var purgedRanges = metadata.getPurgedTransactions().ranges();
-
         // FIXME: CONTROLLER-1991: remove this assumption
         assumeTrue(false);
 
-        assertEquals(1, purgedRanges.size());
-        final var purgedRange = purgedRanges.first();
-        assertEquals(UnsignedLong.ZERO, purgedRange.lower());
-        assertEquals(UnsignedLong.valueOf(10), purgedRange.upper());
+        assertEquals(UnsignedLongBitmap.of(), metadata.getClosedTransactions());
+        assertEquals("[[0.." + numCars * 2 + "]]", metadata.getPurgedTransactions().toString());
     }
 
     @Test
@@ -446,10 +439,9 @@ public class DistributedDataStoreRemotingIntegrationTest extends AbstractTest {
             writeTx = txChain.newWriteOnlyTransaction();
             writeTx.close();
 
-            DOMStoreReadTransaction domStoreReadTransaction = txChain.newReadOnlyTransaction();
-            domStoreReadTransaction.read(CarsModel.BASE_PATH).get();
-
-            domStoreReadTransaction.close();
+            try (var tx = txChain.newReadOnlyTransaction()) {
+                tx.read(CarsModel.BASE_PATH).get();
+            }
         }
 
         writeTx = txChain.newWriteOnlyTransaction();