X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FMemberNode.java;h=5ae53317f084f8b0f05e0023d23c581bf0e2c03e;hp=d5d4ad1afc26b8e7595b30e94ca707ba144bece7;hb=207129172cb981630f955170cb67efceba02df85;hpb=d54ecf76d2bb2a06b0d94a8d4b8ad6ca0d7830e0;ds=sidebyside diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/MemberNode.java b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/MemberNode.java index d5d4ad1afc..5ae53317f0 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/MemberNode.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/test/java/org/opendaylight/controller/cluster/datastore/MemberNode.java @@ -100,6 +100,28 @@ public class MemberNode { fail("Member(s) " + otherMembersSet + " are not Up"); } + public void waitForMemberDown(String member) { + Stopwatch sw = Stopwatch.createStarted(); + while(sw.elapsed(TimeUnit.SECONDS) <= 10) { + CurrentClusterState state = Cluster.get(kit.getSystem()).state(); + for(Member m: state.getUnreachable()) { + if(member.equals(m.getRoles().iterator().next())) { + return; + } + } + + for(Member m: state.getMembers()) { + if(m.status() != MemberStatus.up() && member.equals(m.getRoles().iterator().next())) { + return; + } + } + + Uninterruptibles.sleepUninterruptibly(100, TimeUnit.MILLISECONDS); + } + + fail("Member " + member + " is now down"); + } + public void cleanup() { if(!cleanedUp) { cleanedUp = true; @@ -139,7 +161,7 @@ public class MemberNode { final Set peerIds = Sets.newHashSet(); for(String p: peerMemberNames) { peerIds.add(ShardIdentifier.builder().memberName(p).shardName(shardName). - type(datastore.getActorContext().getDataStoreType()).build().toString()); + type(datastore.getActorContext().getDataStoreName()).build().toString()); } verifyRaftState(datastore, shardName, new RaftStateVerifier() {