Change member prio for Joining/Up, see #3239

* Sometimes caused duplicate MemberUp events, after conflicting gossips
This commit is contained in:
Patrik Nordwall 2013-04-19 07:54:23 +02:00
parent 3569886bbe
commit a3df775931
6 changed files with 25 additions and 50 deletions

View file

@ -97,14 +97,8 @@ abstract class StatsSampleSpec extends MultiNodeSpec(StatsSampleSpecConfig)
system.actorOf(Props[StatsWorker], "statsWorker")
system.actorOf(Props[StatsService], "statsService")
// FIXME ticket 3239 duplicate MemberUp events, it should be possible to use
// receiveN(3).collect { case MemberUp(m) => m.address }.toSet must be (Set(firstAddress, secondAddress, thirdAddress))
import akka.actor.Address
@scala.annotation.tailrec def awaitMembersUp(expected: Set[Address], got: Set[Address] = Set.empty): Unit = {
val members = got + expectMsgType[MemberUp].member.address
if (members != expected) awaitMembersUp(expected, members)
}
awaitMembersUp(Set(firstAddress, secondAddress, thirdAddress))
receiveN(3).collect { case MemberUp(m) => m.address }.toSet must be (
Set(firstAddress, secondAddress, thirdAddress))
Cluster(system).unsubscribe(testActor)