What is the retry mechanism for an action?

Hello! Say I have an action that consumes an event from a topic. The action then makes a network request on the internet to retrieve information.

And let’s say the network call fails and I return an “effects.error”. Would the action re-process the event? If I have 10 errors in a row, will the action retry immediately after each error? Or is there some delay?

The scenario is that the receiving server is down and can’t process the request for a while. I’m trying to understand if when it wakes up whether there will be a “thundering herd” coming from my actions.

1 Like

Hi @glop.postbox.0u,

Yes, the action will re-process this event, any Kalix @Subscription ensures at-least-once delivery. The retry strategy is based on exponential backoff, up to 30 seconds. Keep in mind that events are processed in the same order (for a given entity id) which also minimizes the “thundering herd” problem.

Very useful, thanks @aludwiko