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.

Reply via email to