Environment
Situation
Can someone please explain what happens to an event that reaches the retry limit? Do we just throw it away? A retry has a specific purpose in our guaranteed delivery of events. If we are going to throw away an event then how can we capture that this has occurred?
Resolution
What the policies do is:
- Detect well-known error conditions
- Retry the event causing that error condition by
- Removing the association of the object causing the offense
- "Migrating" the object causing the offense
- Appending and evaluating a retry counter to the @event-id
If the max retry count is reached, just leave the event alone, which means just report the error which originally triggered the retry.