cluster: defining the start-up procedure
In order to avoid the start-up ordering problems when firing up a large cluster, there needs to be one starting point; after all we want to create one actor hierarchy spanning the whole cluster.
Proposal:
This way there is no chance for forming multiple clusters or starting the guardian in more than one place, while retaining the ability to have all seed node entries (but the first) be logical/repointable/magic names.
Proposal:
- starting the cluster-aware actor system will not create any actors at first (and does not support system.actorOf)
- the system will also not respond to join requests until it has joined the cluster
- only the system which is named first in the list of seed nodes will join itself
- from this point on the other systems will start joining the first seed node; as they come up also the other seed nodes will start answering
- nobody starts any actors until the cluster has reached a configurable size; when this happens, the leader will create the cluster hierarchy’s guardian actor, which will spawn the whole application
This way there is no chance for forming multiple clusters or starting the guardian in more than one place, while retaining the ability to have all seed node entries (but the first) be logical/repointable/magic names.
Leave a comment
on 2012-07-03 14:06 *
By Patrik Nordwall
By the way, what happens when the node with the guardian is leaving or crash?
on 2012-08-14 10:14 *
By Patrik Nordwall
Assigned to changed from Patrik Nordwall to -none-
Status changed from Accepted to New
Roland, what do you have in mind here for Coltrane? If are not doing any actor related cluster stuff I don't know what goes into this ticket (now)?
on 2012-12-07 09:14 *
By Jonas Bonér
I agree