diff --git a/akka-cluster/src/multi-jvm/scala/akka/cluster/TransitionSpec.scala b/akka-cluster/src/multi-jvm/scala/akka/cluster/TransitionSpec.scala index 0d5e60b7ad..e3e446bd50 100644 --- a/akka-cluster/src/multi-jvm/scala/akka/cluster/TransitionSpec.scala +++ b/akka-cluster/src/multi-jvm/scala/akka/cluster/TransitionSpec.scala @@ -120,11 +120,11 @@ abstract class TransitionSpec runOn(first) { startClusterNode() - clusterView.isSingletonCluster must be(true) - clusterView.status must be(Joining) - clusterView.convergence must be(true) + awaitCond(clusterView.isSingletonCluster) + awaitMemberStatus(myself, Joining) + awaitCond(clusterView.convergence) leaderActions() - clusterView.status must be(Up) + awaitMemberStatus(myself, Up) } enterBarrier("after-1") @@ -138,8 +138,8 @@ abstract class TransitionSpec runOn(first, second) { // gossip chat from the join will synchronize the views awaitMembers(first, second) - memberStatus(first) must be(Up) - memberStatus(second) must be(Joining) + awaitMemberStatus(first, Up) + awaitMemberStatus(second, Joining) awaitCond(seenLatestGossip == Set(first, second)) clusterView.convergence must be(true) } @@ -147,17 +147,17 @@ abstract class TransitionSpec runOn(leader(first, second)) { leaderActions() - memberStatus(first) must be(Up) - memberStatus(second) must be(Up) + awaitMemberStatus(first, Up) + awaitMemberStatus(second, Up) } enterBarrier("leader-actions-2") leader(first, second) gossipTo nonLeader(first, second).head runOn(first, second) { // gossip chat will synchronize the views - awaitCond(memberStatus(second) == Up) - seenLatestGossip must be(Set(first, second)) - memberStatus(first) must be(Up) + awaitMemberStatus(second, Up) + awaitCond(seenLatestGossip == Set(first, second)) + awaitMemberStatus(first, Up) clusterView.convergence must be(true) } @@ -172,7 +172,7 @@ abstract class TransitionSpec runOn(second, third) { // gossip chat from the join will synchronize the views awaitMembers(first, second, third) - memberStatus(third) must be(Joining) + awaitMemberStatus(third, Joining) awaitCond(seenLatestGossip == Set(second, third)) clusterView.convergence must be(false) } @@ -182,19 +182,19 @@ abstract class TransitionSpec runOn(first, second) { // gossip chat will synchronize the views awaitMembers(first, second, third) - memberStatus(third) must be(Joining) - awaitCond(memberStatus(second) == Up) - seenLatestGossip must be(Set(first, second, third)) + awaitMemberStatus(third, Joining) + awaitMemberStatus(second, Up) + awaitCond(seenLatestGossip == Set(first, second, third)) clusterView.convergence must be(true) } first gossipTo third runOn(first, second, third) { - members must be(Set(first, second, third)) - memberStatus(first) must be(Up) - memberStatus(second) must be(Up) - memberStatus(third) must be(Joining) - seenLatestGossip must be(Set(first, second, third)) + awaitMembers(first, second, third) + awaitMemberStatus(first, Up) + awaitMemberStatus(second, Up) + awaitMemberStatus(third, Joining) + awaitCond(seenLatestGossip == Set(first, second, third)) clusterView.convergence must be(true) } @@ -202,17 +202,17 @@ abstract class TransitionSpec runOn(leader(first, second, third)) { leaderActions() - memberStatus(first) must be(Up) - memberStatus(second) must be(Up) - memberStatus(third) must be(Up) + awaitMemberStatus(first, Up) + awaitMemberStatus(second, Up) + awaitMemberStatus(third, Up) } enterBarrier("leader-actions-3") // leader gossipTo first non-leader leader(first, second, third) gossipTo nonLeader(first, second, third).head runOn(nonLeader(first, second, third).head) { - memberStatus(third) must be(Up) - seenLatestGossip must be(Set(leader(first, second, third), myself)) + awaitMemberStatus(third, Up) + awaitCond(seenLatestGossip == Set(leader(first, second, third), myself)) clusterView.convergence must be(false) } @@ -223,18 +223,18 @@ abstract class TransitionSpec cluster.clusterCore ! InternalClusterAction.SendGossipTo(nonLeader(first, second, third).tail.head) } runOn(nonLeader(first, second, third).tail.head) { - memberStatus(third) must be(Up) - seenLatestGossip must be(Set(first, second, third)) + awaitMemberStatus(third, Up) + awaitCond(seenLatestGossip == Set(first, second, third)) clusterView.convergence must be(true) } // first non-leader gossipTo the leader nonLeader(first, second, third).head gossipTo leader(first, second, third) runOn(first, second, third) { - memberStatus(first) must be(Up) - memberStatus(second) must be(Up) - memberStatus(third) must be(Up) - seenLatestGossip must be(Set(first, second, third)) + awaitMemberStatus(first, Up) + awaitMemberStatus(second, Up) + awaitMemberStatus(third, Up) + awaitCond(seenLatestGossip == Set(first, second, third)) clusterView.convergence must be(true) } @@ -245,8 +245,8 @@ abstract class TransitionSpec runOn(third) { markNodeAsUnavailable(second) reapUnreachable() - clusterView.unreachableMembers must contain(Member(second, Up)) - seenLatestGossip must be(Set(third)) + awaitCond(clusterView.unreachableMembers.contains(Member(second, Up))) + awaitCond(seenLatestGossip == Set(third)) } enterBarrier("after-second-unavailble") @@ -254,8 +254,8 @@ abstract class TransitionSpec third gossipTo first runOn(first, third) { - clusterView.unreachableMembers must contain(Member(second, Up)) - clusterView.convergence must be(false) + awaitCond(clusterView.unreachableMembers.contains(Member(second, Up))) + awaitCond(!clusterView.convergence) } runOn(first) { @@ -268,9 +268,9 @@ abstract class TransitionSpec first gossipTo third runOn(first, third) { - clusterView.unreachableMembers must contain(Member(second, Down)) - memberStatus(second) must be(Down) - seenLatestGossip must be(Set(first, third)) + awaitCond(clusterView.unreachableMembers.contains(Member(second, Down))) + awaitMemberStatus(second, Down) + awaitCond(seenLatestGossip == Set(first, third)) clusterView.convergence must be(true) }