My use case is to build not just a mission-critical application based on akka, but actually a life-critical application. We need to be able to ensure that the application is resilient, since we are handling incoming alarms that need attention from the end-users. Although these alarms are persisted for documentation purposes, it is not a vital feature to persist these alarms. To be able to present the alarms to the enduser at all times, even in the stiuation of persistence failure is vital to us. A sub-domain of the application (ie sub-hierarchy of actors) therefore need to be resilient to persist failures.
I am looking into a solution now where I try out the use of proxies as you suggest On Friday, January 30, 2015 at 2:14:09 PM UTC+1, Björn Antonsson wrote: > > Hi, > > I assume that you are talking about akka-persistence, and if that is the > case I would have to say that there is no way to override this behavior, > since running a persistent actor without persistence sort of defeats its > whole purpose. > > If you want to have something that still starts and lives regardless of > persistence failures, then you can always model your actors as a proxy that > keeps running no matter what and the persistent actor that backs it. I > think that how to react and recover from storage failures should be the > responsibility of the proxy parent and not the persistent actor. > > I don't know enough about your particular use case, but I think that you > need to think very carefully about what guarantees the user of the system > expects, if you keep running in the face of storage failures. > > B/ > > On 29 January 2015 at 14:43:15, Ketil Johannessen ([email protected] > <javascript:>) wrote: > > Hi, everyone! > > We are currently building an application where resilience and recovery > from errors is the absolutely most important requirement. > Currently we are using Cassandra as persistent store, running in a cluster > with multiple nodes. Still, we want to explore the possibility of being > able to continue running our application even in the case all seed nodes > are unavailable (application is already up and running). I realize that > this may cause side-effects when letting end-users enter new data and > believe these data have been persisted, but for parts of our actor > hierarchy, it is better to be able to keep the actors running after a > persistence failure occur. > > I know how to handle the situation when persist calls fail, but when > initializing new actors in a state of failed database, these new actors are > left in the recovery state and will never start processing commands. This > is due to the fact that even new actor instances always initializes in a > state of recovery. > > > Is there a way of overriding this behavious and forcing actor instances to > transition into processCommands state? > > > -- > >>>>>>>>>> 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] <javascript:>. > To post to this group, send email to [email protected] > <javascript:>. > Visit this group at http://groups.google.com/group/akka-user. > For more options, visit https://groups.google.com/d/optout. > > > -- > Björn Antonsson > Typesafe <http://typesafe.com/> – Reactive Apps on the JVM > twitter: @bantonsson <http://twitter.com/#!/bantonsson> > > -- >>>>>>>>>> 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 http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
