On Tue, Apr 12, 2016 at 1:20 AM, Paul Cleary <[email protected]> wrote:
> I noticed that 2.4.4 had some work on the Split Brain Resolver. Is this > going to be OSS or remain commercial? > It's right that we in this sprint are extracting Lightbend's Split Brain Resolver <http://doc.akka.io/docs/akka/rp-16s01p04/scala/split-brain-resolver.html> to a separate library that can be used with OSS Akka. That library will continue to be a feature that is exclusively available for Lightbend's subscription customers. > > I have recently seen the dreaded split brain, and need to implement a > workaround. A shared quorum value should be sufficient for my purposes. > > Also, just curious, is there anyway that a split brain can occur with only > one seed node? My understanding (which maybe inaccurate) is that if the > seed node cannot be contacted, that it just hangs out until it can be > reached? > Just to clarify, Split Brain Resolver handles downing in case of network partitions and such. Here you describe issues when joining a cluster. It's true that we can call that split brain also since the result is that separated clusters are formed. I just wanted to highlight that the Split Brain Resolver does not solve the joining. We have Lightbend's ConductR or Heiko's ConstructR for that. Split brain with only one seed node? When starting a fresh cluster it is that seed node that will bootstrap the cluster and it's the only node that will join itself. Other nodes will not join themselves or anyone else than that single seed node. They will retry, until that is successful (so they will "hang" if the first seed node is not reachable). If you restart the single seed node it will join itself and not the existing cluster, since it doesn't know about it. When you have more than one seed node it will first try joining the other seed nodes (existing cluster) before joining itself. Similar when you later join more nodes. They will only try that single seed node and if it is not available they will just continue retrying ("hang"). If you restart the single seed node it will join itself and not the existing cluster, since it doesn't know about it. When you have more than one seed node it will first try joining the other seed nodes (existing cluster) before joining itself. > > In reality, I don't need to elastically add nodes to akka cluster, I have > a set cluster size. > Just put all nodes in the seed-nodes list, in the same order, then. Cheers, Patrik > -- > >>>>>>>>>> Read the docs: http://akka.io/docs/ > >>>>>>>>>> Check the FAQ: > http://doc.akka.io/docs/akka/current/additional/faq.html > >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user > --- > You received this message because you are subscribed to the Google Groups > "Akka User List" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/akka-user. > For more options, visit https://groups.google.com/d/optout. > -- Patrik Nordwall Akka Tech Lead Lightbend <http://www.lightbend.com/> - Reactive apps on the JVM Twitter: @patriknw -- >>>>>>>>>> Read the docs: http://akka.io/docs/ >>>>>>>>>> Check the FAQ: >>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups "Akka User List" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
