Improve test logging in DistributedEntityOwnershipIntegrationTest
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / test / java / org / opendaylight / controller / cluster / datastore / shardmanager / ShardManagerTest.java
index ffa264141c412251bdadaf133609f80ea2af7778..5efd0947026d6cc51aa9d59bb1cb2ef3b5ef57d4 100644 (file)
@@ -44,7 +44,6 @@ import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
 import com.google.common.util.concurrent.Uninterruptibles;
-import com.typesafe.config.ConfigFactory;
 import java.net.URI;
 import java.util.AbstractMap;
 import java.util.Arrays;
@@ -67,6 +66,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;
@@ -138,18 +138,16 @@ public class ShardManagerTest extends AbstractShardManagerTest {
     private final String shardMgrID = ShardManagerIdentifier.builder().type(shardMrgIDSuffix).build().toString();
 
     private ActorSystem newActorSystem(String config) {
-        ActorSystem system = ActorSystem.create("cluster-test", ConfigFactory.load().getConfig(config));
-        actorSystems.add(system);
-        return system;
+        return newActorSystem("cluster-test", config);
     }
 
     private ActorRef newMockShardActor(ActorSystem system, String shardName, String memberName) {
         String name = ShardIdentifier.create(shardName, MemberName.forName(memberName), "config").toString();
         if (system == getSystem()) {
-            return actorFactory.createTestActor(Props.create(MessageCollectorActor.class), name);
+            return actorFactory.createActor(Props.create(MessageCollectorActor.class), name);
         }
 
-        return TestActorRef.create(system, Props.create(MessageCollectorActor.class), name);
+        return system.actorOf(Props.create(MessageCollectorActor.class), name);
     }
 
     private Props newShardMgrProps() {
@@ -168,7 +166,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));
     }
 
 
@@ -178,7 +177,8 @@ public class ShardManagerTest extends AbstractShardManagerTest {
     }
 
     private Props newPropsShardMgrWithMockShardActor(ActorRef shardActor) {
-        return newTestShardMgrBuilderWithMockShardActor(shardActor).props();
+        return newTestShardMgrBuilderWithMockShardActor(shardActor).props()
+                .withDispatcher(Dispatchers.DefaultDispatcherId());
     }
 
 
@@ -247,9 +247,9 @@ public class ShardManagerTest extends AbstractShardManagerTest {
             }
         };
 
-        final TestActorRef<MessageCollectorActor> defaultShardActor = actorFactory.createTestActor(
+        final ActorRef defaultShardActor = actorFactory.createActor(
                 Props.create(MessageCollectorActor.class), actorFactory.generateActorId("default"));
-        final TestActorRef<MessageCollectorActor> topologyShardActor = actorFactory.createTestActor(
+        final ActorRef topologyShardActor = actorFactory.createActor(
                 Props.create(MessageCollectorActor.class), actorFactory.generateActorId("topology"));
 
         final Map<String, Entry<ActorRef, DatastoreContext>> shardInfoMap = Collections.synchronizedMap(
@@ -1213,7 +1213,8 @@ public class ShardManagerTest extends AbstractShardManagerTest {
                 datastoreContextBuilder.shardInitializationTimeout(1, TimeUnit.MINUTES).persistent(true);
 
                 ActorRef shardManager = actorFactory
-                        .createActor(newShardMgrProps(new ConfigurationImpl(new EmptyModuleShardConfigProvider())));
+                        .createActor(newShardMgrProps(new ConfigurationImpl(new EmptyModuleShardConfigProvider()))
+                                .withDispatcher(Dispatchers.DefaultDispatcherId()));
 
                 SchemaContext schemaContext = TestModel.createTestContext();
                 shardManager.tell(new UpdateSchemaContext(schemaContext), ActorRef.noSender());
@@ -1264,7 +1265,8 @@ public class ShardManagerTest extends AbstractShardManagerTest {
                 datastoreContextBuilder.shardInitializationTimeout(1, TimeUnit.MINUTES).persistent(true);
 
                 ActorRef shardManager = actorFactory
-                        .createActor(newShardMgrProps(new ConfigurationImpl(new EmptyModuleShardConfigProvider())));
+                        .createActor(newShardMgrProps(new ConfigurationImpl(new EmptyModuleShardConfigProvider()))
+                                .withDispatcher(Dispatchers.DefaultDispatcherId()));
 
                 shardManager.tell(new UpdateSchemaContext(TestModel.createTestContext()), ActorRef.noSender());
 
@@ -1293,7 +1295,8 @@ public class ShardManagerTest extends AbstractShardManagerTest {
         new JavaTestKit(getSystem()) {
             {
                 ActorRef shardManager = actorFactory
-                        .createActor(newShardMgrProps(new ConfigurationImpl(new EmptyModuleShardConfigProvider())));
+                        .createActor(newShardMgrProps(new ConfigurationImpl(new EmptyModuleShardConfigProvider()))
+                                .withDispatcher(Dispatchers.DefaultDispatcherId()));
 
                 Shard.Builder shardBuilder = Shard.builder();
 
@@ -1327,8 +1330,8 @@ public class ShardManagerTest extends AbstractShardManagerTest {
                 .put("shard1", Arrays.asList("member-1")).put("shard2", Arrays.asList("member-1"))
                 .put("astronauts", Collections.<String>emptyList()).build());
 
-        TestActorRef<TestShardManager> shardManager = actorFactory
-                .createTestActor(newShardMgrProps(mockConfig).withDispatcher(Dispatchers.DefaultDispatcherId()));
+        TestActorRef<TestShardManager> shardManager = actorFactory.createTestActor(newShardMgrProps(mockConfig)
+                .withDispatcher(Dispatchers.DefaultDispatcherId()));
 
         shardManager.tell(GetSnapshot.INSTANCE, kit.getRef());
         Failure failure = kit.expectMsgClass(Failure.class);
@@ -1392,7 +1395,8 @@ public class ShardManagerTest extends AbstractShardManagerTest {
                 .put("shard1", Collections.<String>emptyList()).put("shard2", Collections.<String>emptyList())
                 .put("astronauts", Collections.<String>emptyList()).build());
 
-        ShardManagerSnapshot snapshot = new ShardManagerSnapshot(Arrays.asList("shard1", "shard2", "astronauts"));
+        ShardManagerSnapshot snapshot =
+                new ShardManagerSnapshot(Arrays.asList("shard1", "shard2", "astronauts"), Collections.emptyMap());
         DatastoreSnapshot restoreFromSnapshot = new DatastoreSnapshot(shardMrgIDSuffix, snapshot,
                 Collections.<ShardSnapshot>emptyList());
         TestActorRef<TestShardManager> shardManager = actorFactory.createTestActor(newTestShardMgrBuilder(mockConfig)
@@ -1424,7 +1428,8 @@ public class ShardManagerTest extends AbstractShardManagerTest {
         new JavaTestKit(getSystem()) {
             {
                 ActorRef shardManager = actorFactory
-                        .createActor(newShardMgrProps(new ConfigurationImpl(new EmptyModuleShardConfigProvider())));
+                        .createActor(newShardMgrProps(new ConfigurationImpl(new EmptyModuleShardConfigProvider()))
+                                .withDispatcher(Dispatchers.DefaultDispatcherId()));
 
                 shardManager.tell(new AddShardReplica("model-inventory"), getRef());
                 Status.Failure resp = expectMsgClass(duration("2 seconds"), Status.Failure.class);
@@ -1492,7 +1497,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);
 
@@ -1622,7 +1628,8 @@ public class ShardManagerTest extends AbstractShardManagerTest {
 
                 ActorRef mockNewReplicaShardActor = newMockShardActor(getSystem(), "astronauts", "member-1");
                 final TestActorRef<TestShardManager> shardManager = actorFactory.createTestActor(
-                        newTestShardMgrBuilder(mockConfig).shardActor(mockNewReplicaShardActor).props(), shardMgrID);
+                        newTestShardMgrBuilder(mockConfig).shardActor(mockNewReplicaShardActor).props()
+                            .withDispatcher(Dispatchers.DefaultDispatcherId()), shardMgrID);
                 shardManager.underlyingActor()
                         .setMessageInterceptor(newFindPrimaryInterceptor(mockShardLeaderKit.getRef()));
 
@@ -1673,7 +1680,8 @@ public class ShardManagerTest extends AbstractShardManagerTest {
                         .put("astronauts", Arrays.asList("member-2")).build());
 
                 final ActorRef newReplicaShardManager = actorFactory
-                        .createActor(newTestShardMgrBuilder(mockConfig).shardActor(mockShardActor).props(), shardMgrID);
+                        .createActor(newTestShardMgrBuilder(mockConfig).shardActor(mockShardActor).props()
+                                .withDispatcher(Dispatchers.DefaultDispatcherId()), shardMgrID);
 
                 newReplicaShardManager.tell(new UpdateSchemaContext(TestModel.createTestContext()), getRef());
                 MockClusterWrapper.sendMemberUp(newReplicaShardManager, "member-2",
@@ -1693,7 +1701,8 @@ public class ShardManagerTest extends AbstractShardManagerTest {
         new JavaTestKit(getSystem()) {
             {
                 ActorRef shardManager = actorFactory
-                        .createActor(newShardMgrProps(new ConfigurationImpl(new EmptyModuleShardConfigProvider())));
+                        .createActor(newShardMgrProps(new ConfigurationImpl(new EmptyModuleShardConfigProvider()))
+                                .withDispatcher(Dispatchers.DefaultDispatcherId()));
 
                 shardManager.tell(new RemoveShardReplica("model-inventory", MEMBER_1), getRef());
                 Status.Failure resp = expectMsgClass(duration("10 seconds"), Status.Failure.class);
@@ -1711,9 +1720,8 @@ public class ShardManagerTest extends AbstractShardManagerTest {
             {
                 String memberId = "member-1-shard-default-" + shardMrgIDSuffix;
 
-                final TestActorRef<MockRespondActor> respondActor = actorFactory
-                        .createTestActor(Props.create(MockRespondActor.class, RemoveServer.class,
-                                new RemoveServerReply(ServerChangeStatus.OK, null)), memberId);
+                final ActorRef respondActor = actorFactory.createActor(Props.create(MockRespondActor.class,
+                        RemoveServer.class, new RemoveServerReply(ServerChangeStatus.OK, null)), memberId);
 
                 ActorRef shardManager = getSystem().actorOf(newPropsShardMgrWithMockShardActor(respondActor));
 
@@ -1882,8 +1890,8 @@ public class ShardManagerTest extends AbstractShardManagerTest {
                         .put("astronauts", Arrays.asList("member-2"))
                         .put("people", Arrays.asList("member-1", "member-2")).build());
 
-                TestActorRef<TestShardManager> shardManager = actorFactory
-                        .createTestActor(newShardMgrProps(mockConfig));
+                TestActorRef<TestShardManager> shardManager = actorFactory.createTestActor(
+                        newShardMgrProps(mockConfig).withDispatcher(Dispatchers.DefaultDispatcherId()));
 
                 shardManager.underlyingActor().waitForRecoveryComplete();
                 shardManager.tell(new FindLocalShard("people", false), getRef());
@@ -1916,11 +1924,11 @@ public class ShardManagerTest extends AbstractShardManagerTest {
                         .put("people", Arrays.asList("member-1", "member-2")).build());
 
                 String shardId = ShardIdentifier.create("default", MEMBER_1, shardMrgIDSuffix).toString();
-                TestActorRef<MessageCollectorActor> shard = actorFactory.createTestActor(MessageCollectorActor.props(),
-                        shardId);
+                ActorRef shard = actorFactory.createActor(MessageCollectorActor.props(), shardId);
 
                 TestActorRef<TestShardManager> shardManager = actorFactory
-                        .createTestActor(newTestShardMgrBuilder(mockConfig).addShardActor("default", shard).props());
+                        .createTestActor(newTestShardMgrBuilder(mockConfig).addShardActor("default", shard).props()
+                                .withDispatcher(Dispatchers.DefaultDispatcherId()));
 
                 shardManager.underlyingActor().waitForRecoveryComplete();
 
@@ -1947,17 +1955,19 @@ public class ShardManagerTest extends AbstractShardManagerTest {
         LOG.info("testShardPersistenceWithRestoredData starting");
         new JavaTestKit(getSystem()) {
             {
-                MockConfiguration mockConfig = new MockConfiguration(ImmutableMap.<String, List<String>>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.<String, List<String>>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
-                TestActorRef<TestShardManager> newRestoredShardManager = actorFactory
-                        .createTestActor(newShardMgrProps(mockConfig));
+                TestActorRef<TestShardManager> newRestoredShardManager = actorFactory.createTestActor(
+                        newShardMgrProps(mockConfig).withDispatcher(Dispatchers.DefaultDispatcherId()));
 
                 newRestoredShardManager.underlyingActor().waitForRecoveryComplete();
 
@@ -1989,17 +1999,13 @@ public class ShardManagerTest extends AbstractShardManagerTest {
                         .put("shard1", Arrays.asList("member-1")).put("shard2", Arrays.asList("member-1")).build());
 
                 String shardId1 = ShardIdentifier.create("shard1", MEMBER_1, shardMrgIDSuffix).toString();
-                TestActorRef<MessageCollectorActor> shard1 = actorFactory.createTestActor(
-                        MessageCollectorActor.props().withDispatcher(Dispatchers.DefaultDispatcherId()), shardId1);
+                ActorRef shard1 = actorFactory.createActor(MessageCollectorActor.props(), shardId1);
 
                 String shardId2 = ShardIdentifier.create("shard2", MEMBER_1, shardMrgIDSuffix).toString();
-                TestActorRef<MessageCollectorActor> shard2 = actorFactory.createTestActor(
-                        MessageCollectorActor.props().withDispatcher(Dispatchers.DefaultDispatcherId()), shardId2);
+                ActorRef shard2 = actorFactory.createActor(MessageCollectorActor.props(), shardId2);
 
-                TestActorRef<TestShardManager> shardManager = actorFactory
-                        .createTestActor(newTestShardMgrBuilder(mockConfig).addShardActor("shard1", shard1)
-                                .addShardActor("shard2", shard2).props()
-                                .withDispatcher(Dispatchers.DefaultDispatcherId()));
+                ActorRef shardManager = actorFactory.createActor(newTestShardMgrBuilder(mockConfig)
+                        .addShardActor("shard1", shard1).addShardActor("shard2", shard2).props());
 
                 shardManager.tell(new UpdateSchemaContext(TestModel.createTestContext()), getRef());
                 shardManager.tell(new ActorInitialized(), shard1);
@@ -2035,8 +2041,8 @@ public class ShardManagerTest extends AbstractShardManagerTest {
             {
                 String memberId = "member-1-shard-default-" + shardMrgIDSuffix;
 
-                TestActorRef<MockRespondActor> respondActor = actorFactory
-                        .createTestActor(Props.create(MockRespondActor.class, ChangeServersVotingStatus.class,
+                ActorRef respondActor = actorFactory
+                        .createActor(Props.create(MockRespondActor.class, ChangeServersVotingStatus.class,
                                 new ServerChangeReply(ServerChangeStatus.OK, null)), memberId);
 
                 ActorRef shardManager = getSystem().actorOf(newPropsShardMgrWithMockShardActor(respondActor));
@@ -2071,8 +2077,8 @@ public class ShardManagerTest extends AbstractShardManagerTest {
             {
                 String memberId = "member-1-shard-default-" + shardMrgIDSuffix;
 
-                TestActorRef<MockRespondActor> respondActor = actorFactory
-                        .createTestActor(Props.create(MockRespondActor.class, ChangeServersVotingStatus.class,
+                ActorRef respondActor = actorFactory
+                        .createActor(Props.create(MockRespondActor.class, ChangeServersVotingStatus.class,
                                 new ServerChangeReply(ServerChangeStatus.NO_LEADER, null)), memberId);
 
                 ActorRef shardManager = getSystem().actorOf(newPropsShardMgrWithMockShardActor(respondActor));