Publish cluster changes to event bus, see #2202
* ClusterEventBus * Removed register listener and related * Removed Gossip.meta because it doesn't handle version conflicts
This commit is contained in:
parent
9094199011
commit
e38dd80f38
14 changed files with 209 additions and 159 deletions
|
|
@ -11,6 +11,8 @@ import akka.testkit._
|
|||
import scala.concurrent.util.duration._
|
||||
import scala.collection.immutable.SortedSet
|
||||
import java.util.concurrent.atomic.AtomicReference
|
||||
import akka.actor.Props
|
||||
import akka.actor.Actor
|
||||
|
||||
object NodeUpMultiJvmSpec extends MultiNodeConfig {
|
||||
val first = role("first")
|
||||
|
|
@ -27,6 +29,7 @@ abstract class NodeUpSpec
|
|||
with MultiNodeClusterSpec {
|
||||
|
||||
import NodeUpMultiJvmSpec._
|
||||
import ClusterEvent._
|
||||
|
||||
"A cluster node that is joining another cluster" must {
|
||||
"be moved to UP by the leader after a convergence" taggedAs LongRunningTest in {
|
||||
|
|
@ -39,12 +42,13 @@ abstract class NodeUpSpec
|
|||
"be unaffected when joining again" taggedAs LongRunningTest in {
|
||||
|
||||
val unexpected = new AtomicReference[SortedSet[Member]](SortedSet.empty)
|
||||
cluster.registerListener(new MembershipChangeListener {
|
||||
def notify(members: SortedSet[Member]) {
|
||||
if (members.size != 2 || members.exists(_.status != MemberStatus.Up))
|
||||
unexpected.set(members)
|
||||
cluster.subscribe(system.actorOf(Props(new Actor {
|
||||
def receive = {
|
||||
case MembersChanged(members) ⇒
|
||||
if (members.size != 2 || members.exists(_.status != MemberStatus.Up))
|
||||
unexpected.set(members)
|
||||
}
|
||||
})
|
||||
})), classOf[MembersChanged])
|
||||
enterBarrier("listener-registered")
|
||||
|
||||
runOn(second) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue