Hi,When rebalancing a Shard, the old shard is stopped and a new shard is started on another node, after which all messages for that Shard will be send to the new node. When a message is received, the actor will be created. When Akka-persistence is used the Actor will reload all its events and restore state before processing the new message. But if no message is sent, the actor will not be created. This can be problematic when the actor is has some active state with retry mechanisme or timeout. Is my understanding correct?
Is there a way to actively restore the Shard state when the shard is moved to another node? One problem I can see with this is when going back to less nodes. This means that the shards will be rebalanced, but potentially giving memory problems. This will cause rebalancing and memory problems on the next node and eventually putting the whole cluster down. Starting the cluster will be also problematic for the same reason.Cheers,Jeroen
--
>>>>>>>>>> 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 akka-user+...@googlegroups.com.
To post to this group, send email to akka...@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.
Patrik Nordwall
Typesafe - Reactive apps on the JVM
Twitter: @patriknw
Couldn't we add a watchdog feature to Cluster Sharding itself?
On Fri, May 16, 2014 at 9:31 AM, Heiko Seeberger <heiko.s...@gmail.com> wrote:
Couldn't we add a watchdog feature to Cluster Sharding itself?I don't think this is a core feature of Cluster Sharding and I think it can be better implemented at the application level. For example, the application knows how to send a message to a specific actor, since it is the application that defines the id extractor.
/Patrik
Hello,
good catch - we are running in this situation in the moment as well - some of our sharded actors register to a Cluster Pub-Sub topic
when started - when getting rebalanced or when a node crashes the sharded actor is not restarted and hence not subscribed anymore...
First thought would also be to just extend ClusterSharding.start with a keepAlive field to restart actors automatically?
For now, I think we will solve this by implementing a Watchdog as ClusterSingleton.