X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fshardmanager%2FShardManagerTest.java;h=6a8830c25b2d213bf105decd8e170c306e37d2d9;hb=1a6462c3cdb2cd310ab9503beb18da70f6e3779d;hp=dc640d2c9238104017b5904e1495e16c85c60f45;hpb=b47ffc2df37ef67559274068d651c86aa666cbc3;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/shardmanager/ShardManagerTest.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/shardmanager/ShardManagerTest.java index dc640d2c92..6a8830c25b 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/shardmanager/ShardManagerTest.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/shardmanager/ShardManagerTest.java @@ -59,7 +59,6 @@ import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; import java.util.stream.Collectors; -import org.apache.commons.lang3.SerializationUtils; import org.junit.Test; import org.mockito.Mockito; import org.opendaylight.controller.cluster.access.concepts.MemberName; @@ -68,6 +67,7 @@ import org.opendaylight.controller.cluster.datastore.ClusterWrapperImpl; import org.opendaylight.controller.cluster.datastore.DataStoreVersions; import org.opendaylight.controller.cluster.datastore.DatastoreContext; import org.opendaylight.controller.cluster.datastore.DatastoreContextFactory; +import org.opendaylight.controller.cluster.datastore.DistributedDataStore; import org.opendaylight.controller.cluster.datastore.Shard; import org.opendaylight.controller.cluster.datastore.ShardManager.SchemaContextModules; import org.opendaylight.controller.cluster.datastore.config.ConfigurationImpl; @@ -83,8 +83,6 @@ import org.opendaylight.controller.cluster.datastore.messages.ActorInitialized; import org.opendaylight.controller.cluster.datastore.messages.AddShardReplica; import org.opendaylight.controller.cluster.datastore.messages.ChangeShardMembersVotingStatus; import org.opendaylight.controller.cluster.datastore.messages.CreateShard; -import org.opendaylight.controller.cluster.datastore.messages.DatastoreSnapshot; -import org.opendaylight.controller.cluster.datastore.messages.DatastoreSnapshot.ShardSnapshot; import org.opendaylight.controller.cluster.datastore.messages.FindLocalShard; import org.opendaylight.controller.cluster.datastore.messages.FindPrimary; import org.opendaylight.controller.cluster.datastore.messages.LocalPrimaryShardFound; @@ -97,6 +95,9 @@ import org.opendaylight.controller.cluster.datastore.messages.RemotePrimaryShard import org.opendaylight.controller.cluster.datastore.messages.RemoveShardReplica; import org.opendaylight.controller.cluster.datastore.messages.ShardLeaderStateChanged; import org.opendaylight.controller.cluster.datastore.messages.UpdateSchemaContext; +import org.opendaylight.controller.cluster.datastore.persisted.DatastoreSnapshot; +import org.opendaylight.controller.cluster.datastore.persisted.DatastoreSnapshot.ShardSnapshot; +import org.opendaylight.controller.cluster.datastore.persisted.ShardManagerSnapshot; import org.opendaylight.controller.cluster.datastore.utils.ForwardingActor; import org.opendaylight.controller.cluster.datastore.utils.MockClusterWrapper; import org.opendaylight.controller.cluster.datastore.utils.MockConfiguration; @@ -168,7 +169,8 @@ public class ShardManagerTest extends AbstractShardManagerTest { } private TestShardManager.Builder newTestShardMgrBuilderWithMockShardActor(ActorRef shardActor) { - return TestShardManager.builder(datastoreContextBuilder).shardActor(shardActor); + return TestShardManager.builder(datastoreContextBuilder).shardActor(shardActor) + .distributedDataStore(mock(DistributedDataStore.class)); } @@ -1372,9 +1374,8 @@ public class ShardManagerTest extends AbstractShardManagerTest { assertEquals("Shard names", Sets.newHashSet("shard1", "shard2", "astronauts"), Sets.newHashSet( Lists.transform(datastoreSnapshot.getShardSnapshots(), shardNameTransformer))); - byte[] snapshotBytes = datastoreSnapshot.getShardManagerSnapshot(); - assertNotNull("Expected ShardManagerSnapshot", snapshotBytes); - ShardManagerSnapshot snapshot = SerializationUtils.deserialize(snapshotBytes); + ShardManagerSnapshot snapshot = datastoreSnapshot.getShardManagerSnapshot(); + assertNotNull("Expected ShardManagerSnapshot", snapshot); assertEquals("Shard names", Sets.newHashSet("shard1", "shard2", "astronauts"), Sets.newHashSet(snapshot.getShardList())); @@ -1393,9 +1394,10 @@ public class ShardManagerTest extends AbstractShardManagerTest { .put("shard1", Collections.emptyList()).put("shard2", Collections.emptyList()) .put("astronauts", Collections.emptyList()).build()); - ShardManagerSnapshot snapshot = new ShardManagerSnapshot(Arrays.asList("shard1", "shard2", "astronauts")); - DatastoreSnapshot restoreFromSnapshot = new DatastoreSnapshot(shardMrgIDSuffix, - SerializationUtils.serialize(snapshot), Collections.emptyList()); + ShardManagerSnapshot snapshot = + new ShardManagerSnapshot(Arrays.asList("shard1", "shard2", "astronauts"), Collections.emptyMap()); + DatastoreSnapshot restoreFromSnapshot = new DatastoreSnapshot(shardMrgIDSuffix, snapshot, + Collections.emptyList()); TestActorRef shardManager = actorFactory.createTestActor(newTestShardMgrBuilder(mockConfig) .restoreFromSnapshot(restoreFromSnapshot).props().withDispatcher(Dispatchers.DefaultDispatcherId())); @@ -1413,11 +1415,9 @@ public class ShardManagerTest extends AbstractShardManagerTest { assertEquals("getType", shardMrgIDSuffix, datastoreSnapshot.getType()); - byte[] snapshotBytes = datastoreSnapshot.getShardManagerSnapshot(); - assertNotNull("Expected ShardManagerSnapshot", snapshotBytes); - snapshot = SerializationUtils.deserialize(snapshotBytes); + assertNotNull("Expected ShardManagerSnapshot", datastoreSnapshot.getShardManagerSnapshot()); assertEquals("Shard names", Sets.newHashSet("shard1", "shard2", "astronauts"), - Sets.newHashSet(snapshot.getShardList())); + Sets.newHashSet(datastoreSnapshot.getShardManagerSnapshot().getShardList())); LOG.info("testRestoreFromSnapshot ending"); } @@ -1495,7 +1495,8 @@ public class ShardManagerTest extends AbstractShardManagerTest { // Have a dummy snapshot to be overwritten by the new data // persisted. String[] restoredShards = { "default", "people" }; - ShardManagerSnapshot snapshot = new ShardManagerSnapshot(Arrays.asList(restoredShards)); + ShardManagerSnapshot snapshot = + new ShardManagerSnapshot(Arrays.asList(restoredShards), Collections.emptyMap()); InMemorySnapshotStore.addSnapshot(shardManagerID, snapshot); Uninterruptibles.sleepUninterruptibly(2, TimeUnit.MILLISECONDS); @@ -1950,12 +1951,14 @@ public class ShardManagerTest extends AbstractShardManagerTest { LOG.info("testShardPersistenceWithRestoredData starting"); new JavaTestKit(getSystem()) { { - MockConfiguration mockConfig = new MockConfiguration(ImmutableMap.>builder() - .put("default", Arrays.asList("member-1", "member-2")) - .put("astronauts", Arrays.asList("member-2")) - .put("people", Arrays.asList("member-1", "member-2")).build()); - String[] restoredShards = { "default", "astronauts" }; - ShardManagerSnapshot snapshot = new ShardManagerSnapshot(Arrays.asList(restoredShards)); + MockConfiguration mockConfig = + new MockConfiguration(ImmutableMap.>builder() + .put("default", Arrays.asList("member-1", "member-2")) + .put("astronauts", Arrays.asList("member-2")) + .put("people", Arrays.asList("member-1", "member-2")).build()); + String[] restoredShards = {"default", "astronauts"}; + ShardManagerSnapshot snapshot = + new ShardManagerSnapshot(Arrays.asList(restoredShards), Collections.emptyMap()); InMemorySnapshotStore.addSnapshot("shard-manager-" + shardMrgIDSuffix, snapshot); // create shardManager to come up with restored data