Join seed nodes before becoming singleton cluster, see #2267

* self is initially not member (in gossip state)
* if the join to seed nodes timeout it joins itself, and becomes
  singleton cluster
* remove the special case handling of singelton cluster in gossip
  merge, since singleton cluster is not the normal state when joining
  any more
This commit is contained in:
Patrik Nordwall 2012-06-25 21:07:44 +02:00
parent df7f558c2a
commit 25996bf284
7 changed files with 53 additions and 30 deletions

View file

@ -16,6 +16,7 @@ object SingletonClusterMultiJvmSpec extends MultiNodeConfig {
commonConfig(debugConfig(on = false).
withFallback(ConfigFactory.parseString("""
akka.cluster {
auto-join = on
auto-down = on
failure-detector.threshold = 4
}
@ -38,12 +39,20 @@ abstract class SingletonClusterSpec
"A cluster of 2 nodes" must {
"not be singleton cluster when joined" taggedAs LongRunningTest in {
"become singleton cluster when started with 'auto-join=on' and 'seed-nodes=[]'" taggedAs LongRunningTest in {
startClusterNode()
awaitUpConvergence(1)
cluster.isSingletonCluster must be(true)
enterBarrier("after-1")
}
"not be singleton cluster when joined with other node" taggedAs LongRunningTest in {
awaitClusterUp(first, second)
cluster.isSingletonCluster must be(false)
assertLeader(first, second)
enterBarrier("after-1")
enterBarrier("after-2")
}
"become singleton cluster when one node is shutdown" taggedAs LongRunningTest in {
@ -58,7 +67,7 @@ abstract class SingletonClusterSpec
assertLeader(first)
}
enterBarrier("after-2")
enterBarrier("after-3")
}
}
}