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.
