Thanks for the replies everyone. I'm still waiting for the Heureka moment in my brain to kick in when it comes to modelling actor systems. My confusion is around the basic guarantees especially when it comes to Akka's primitives like "watch" and "setReceiveTimeout" for instance.
Is it guaranteed, even for distributed actors, that messages send by actor A to actor B will at least end up in the mailbox of Actor B? Or are there simply no guarantees at all and actors may never get to see even "Terminated" or "Timeout" messages? Or are there different guarantees for Akka primitives? In the Akka persistence package for instance, the Channel actor offers at-least-once semantics by retrying messages until an ack is received. However, as the sender (A) I'm sending the intended message to Channel (C) which again means I have no guarantee that it ever ends up in the Channel as there are no guarantees between A and C. Something must be wrong with my understanding and or expectations... Any wisdom provided would be greatly appreciated. Cheers Tino On Monday, January 27, 2014 11:25:14 PM UTC+11, √ wrote: > > It's way simpler to just create/wrap another mailbox implementation and > use ThreadLocalRandom with a chance to drop the inbound message on > _dequeue_. > > > On Mon, Jan 27, 2014 at 1:21 PM, Angel Java Lopez > <[email protected]<javascript:> > > wrote: > >> First idea: Implement the mailbox using an actor >> >> Actor1 sends messages to ActorRef2 >> >> To simulate drop message, replace ActorRef2 by ActorRef3 that points to >> an actor that forwards message to ActorRef2, but randomly it "lost" some >> message. >> >> Angel "Java" Lopez >> @ajlopez >> >> >> On Mon, Jan 27, 2014 at 9:17 AM, Akka Team <[email protected]<javascript:> >> > wrote: >> >>> Hi Tino, >>> >>> There is no such Mailbox implemented right now, but there are plans to >>> do something like that. We have quite a bit of testing tools for >>> remoting/cluster that emulate various networking problems including >>> completely crazy scenarios. It is not very much documented though and I >>> think they will see some refactoring in the future. >>> >>> -Endre >>> >>> >>> On Wed, Jan 22, 2014 at 1:30 AM, Tino Adams <[email protected]<javascript:> >>> > wrote: >>> >>>> Hi >>>> >>>> I understand that Akka, like other actor implementations, provides a >>>> at-most-once delivery guarantee. >>>> I was wondering if Akka is shipped with a mailbox implementation which >>>> randomly drops messages for testing purposes. >>>> >>>> How do you guys test your systems for potential message loss, unit >>>> tests only? >>>> >>>> Cheers >>>> Tino >>>> >>>> -- >>>> >>>>>>>>>> Read the docs: http://akka.io/docs/ >>>> >>>>>>>>>> Check the FAQ: http://akka.io/faq/ >>>> >>>>>>>>>> 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/groups/opt_out. >>>> >>> >>> >>> >>> -- >>> Akka Team >>> Typesafe - The software stack for applications that scale >>> Blog: letitcrash.com >>> Twitter: @akkateam >>> >>> -- >>> >>>>>>>>>> Read the docs: http://akka.io/docs/ >>> >>>>>>>>>> Check the FAQ: http://akka.io/faq/ >>> >>>>>>>>>> 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/groups/opt_out. >>> >> >> -- >> >>>>>>>>>> Read the docs: http://akka.io/docs/ >> >>>>>>>>>> Check the FAQ: http://akka.io/faq/ >> >>>>>>>>>> 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/groups/opt_out. >> > > > > -- > Cheers, > √ > > * ——————— **Viktor Klang* > *Chief Architect - **Typesafe <http://www.typesafe.com/>* > > Twitter: @viktorklang > -- >>>>>>>>>> Read the docs: http://akka.io/docs/ >>>>>>>>>> Check the FAQ: http://akka.io/faq/ >>>>>>>>>> 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/groups/opt_out.
