use of akka.cluster.Member in project controller by opendaylight.
the class MockClusterWrapper method createUnreachableMember.
public static UnreachableMember createUnreachableMember(final String memberName, final String address) {
UniqueAddress uniqueAddress = new UniqueAddress(AddressFromURIString.parse(address), 55L);
Member member = new Member(uniqueAddress, 1, MemberStatus.up(), setOf(memberName));
return new UnreachableMember(member);
}
use of akka.cluster.Member in project controller by opendaylight.
the class EntityOwnershipShard method initializeDownPeerMemberNamesFromClusterState.
private void initializeDownPeerMemberNamesFromClusterState() {
java.util.Optional<Cluster> cluster = getRaftActorContext().getCluster();
if (!cluster.isPresent()) {
return;
}
CurrentClusterState state = cluster.get().state();
Set<Member> unreachable = state.getUnreachable();
LOG.debug("{}: initializeDownPeerMemberNamesFromClusterState - current downPeerMemberNames: {}, unreachable: {}", persistenceId(), downPeerMemberNames, unreachable);
downPeerMemberNames.clear();
for (Member m : unreachable) {
downPeerMemberNames.add(MemberName.forName(m.getRoles().iterator().next()));
}
for (Member m : state.getMembers()) {
if (m.status() != MemberStatus.up() && m.status() != MemberStatus.weaklyUp()) {
LOG.debug("{}: Adding down member with status {}", persistenceId(), m.status());
downPeerMemberNames.add(MemberName.forName(m.getRoles().iterator().next()));
}
}
LOG.debug("{}: new downPeerMemberNames: {}", persistenceId(), downPeerMemberNames);
}
use of akka.cluster.Member in project controller by opendaylight.
the class MemberNode method waitForMemberDown.
public void waitForMemberDown(final 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");
}
use of akka.cluster.Member in project controller by opendaylight.
the class RpcRegistryTest method waitForMembersUp.
static void waitForMembersUp(final ActorSystem node, final UniqueAddress... addresses) {
Set<UniqueAddress> otherMembersSet = Sets.newHashSet(addresses);
Stopwatch sw = Stopwatch.createStarted();
while (sw.elapsed(TimeUnit.SECONDS) <= 10) {
CurrentClusterState state = Cluster.get(node).state();
for (Member m : state.getMembers()) {
if (m.status() == MemberStatus.up() && otherMembersSet.remove(m.uniqueAddress()) && otherMembersSet.isEmpty()) {
return;
}
}
Uninterruptibles.sleepUninterruptibly(100, TimeUnit.MILLISECONDS);
}
fail("Member(s) " + otherMembersSet + " are not Up");
}
Aggregations