BUG-5903: do not rely on primary info on failure
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / test / java / org / opendaylight / controller / cluster / datastore / MemberNode.java
index 9db9635e27f2cdddc87f9efc2a2c8dd1f8b409cf..de751beeb9d91a16dd3f013de2bfdb067d112a27 100644 (file)
@@ -26,6 +26,7 @@ import com.typesafe.config.ConfigFactory;
 import java.util.List;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
+import org.opendaylight.controller.cluster.access.concepts.MemberName;
 import org.opendaylight.controller.cluster.datastore.identifiers.ShardIdentifier;
 import org.opendaylight.controller.cluster.datastore.utils.ActorContext;
 import org.opendaylight.controller.cluster.raft.client.messages.GetOnDemandRaftState;
@@ -111,8 +112,13 @@ public class MemberNode {
     public void cleanup() {
         if(!cleanedUp) {
             cleanedUp = true;
-            kit.cleanup(configDataStore);
-            kit.cleanup(operDataStore);
+            if (configDataStore != null) {
+                configDataStore.close();
+            }
+            if (operDataStore != null) {
+                operDataStore.close();
+            }
+
             IntegrationTestKit.shutdownActorSystem(kit.getSystem(), Boolean.TRUE);
         }
     }
@@ -146,11 +152,12 @@ public class MemberNode {
             String... peerMemberNames) throws Exception {
         final Set<String> peerIds = Sets.newHashSet();
         for(String p: peerMemberNames) {
-            peerIds.add(ShardIdentifier.builder().memberName(p).shardName(shardName).
-                type(datastore.getActorContext().getDataStoreName()).build().toString());
+            peerIds.add(ShardIdentifier.create(shardName, MemberName.forName(p),
+                datastore.getActorContext().getDataStoreName()).toString());
         }
 
-        verifyRaftState(datastore, shardName, raftState -> assertEquals("Peers for shard " + shardName, peerIds, raftState.getPeerAddresses().keySet()));
+        verifyRaftState(datastore, shardName, raftState -> assertEquals("Peers for shard " + shardName, peerIds,
+            raftState.getPeerAddresses().keySet()));
     }
 
     public static void verifyNoShardPresent(DistributedDataStore datastore, String shardName) {
@@ -269,7 +276,7 @@ public class MemberNode {
 
             node.kit = new IntegrationTestKit(system, datastoreContextBuilder);
 
-            String memberName = new ClusterWrapperImpl(system).getCurrentMemberName();
+            String memberName = new ClusterWrapperImpl(system).getCurrentMemberName().getName();
             node.kit.getDatastoreContextBuilder().shardManagerPersistenceId("shard-manager-config-" + memberName);
             node.configDataStore = node.kit.setupDistributedDataStore("config_" + testName, moduleShardsConfig,
                     true, schemaContext, waitForshardLeader);