Hello,

I'd like to clarify the warning given in the documentation:

> We recommend against using the auto-down feature of Akka Cluster in 
production. This is crucial for correct behavior if you use Cluster 
Singleton <http://doc.akka.io/docs/akka/2.5/scala/cluster-singleton.html> 
or Cluster Sharding 
<http://doc.akka.io/docs/akka/2.5/scala/cluster-sharding.html>, especially 
together with Akka Persistence 
<http://doc.akka.io/docs/akka/2.5/scala/persistence.html>. For Akka 
Persistence with Cluster Sharding it can result in corrupt data in case of 
network partitions.
(http://doc.akka.io/docs/akka/2.5/scala/cluster-usage.html#auto-downing-do-not-use-)

This passage raises several questions:

1. Does it mean that auto-downing is *always* a bad idea? Or is it only a 
bad idea when using Cluster Singleton and Cluster Sharding, so that if I'm 
not using them, using auto-downing in production is perfectly fine?
I get mixed results from the rest of the documentation and the blog posts 
--- they seem to contradict each other:

The timer based auto downing works well for clusters where you have "many 
> workers, but no master" for example, since causing a split need not end in 
> a wrong "leader" being elected (since there is no leader).

(https://groups.google.com/d/msg/akka-user/GApzVvLmguE/J9LZnNHytRkJ)

If you use auto-downing and that triggers because of a network partition 
> there will be two separate clusters and they will not recombine 
> automatically.

(https://groups.google.com/d/msg/akka-user/AwxHoeFvnsg/86pB6VRmCgAJ)

So --- will Akka Cluster work after rejoining or not? Or is it "undefined 
behavior"?

2. Am I OK if I'm using Cluster Sharding with Distributed Data instead of 
Akka Persistence? 
3. How exactly is "correct behaviour" violated when I'm using Cluster 
Singleton with auto-downing?
Suppose I'm using Cluster Singleton to store a cache, and if I detect that 
there's another instance of that cache, I simply terminate one of the 
instances --- so I'm fine if there are more than one instance of the 
"singleton", and I don't need to merge anything (the older values will 
eventually be overwritten by newer values). Am I OK with auto-downing in 
this case? Or will it break in more subtle ways?

Note that a similar question was asked before 
— 
https://groups.google.com/forum/#!searchin/akka-user/auto$20downing|sort:relevance/akka-user/kIkw-be5EJ8/1Fz9saF5AQAJ
 
— but no authoritative answer was given. I hope someone will finally 
clarifies this.

Thanks
Igor Baltiyskiy

-- 
>>>>>>>>>>      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