How to set at-least-once strategy for akka typed?

Hi all

I have several actors that communicate with each other and most of the time the messages, that were sent, does not reach the other actor.

For example, when the actor A sends messages to B and most of the case, the actor B does not receive the messages from A at all. Running the test, sometimes failed sometimes passed, so the behavior is so unpredictable.

How to guarantee the at-least-one delivery in akka typed? Where do I have to enable it?

Thanks

That sounds strange. Even though Akka only guarantees at-most once it has a very high best effort to deliver the message so normally they are delivered. An example when it can be lost is when there is network partition.

Do you know why they are not delivered “most of the time”? Otherwise you should investigate that.

For Classic actors we have the AtLeastOnceDelivery which is based on Akka Persistence. We don’t have corresponding for Akka Typed yet. It’s in the backlog. At-least once delivery can be implemented with resends an confirmation messages, but we want to provide some utilities to make it easier. However, given how you phrased the question there seems to be something more fundamentally wrong here.

The problem is solve through https://stackoverflow.com/questions/57019328/scala-matcherror-on-actor/57020206#57020206. It was my failed.
Thanks a lot for your help.

1 Like