Handling errors in event streams
Sooner or later a wrong event gets recorded: a bug calculated the wrong price, a user did something nobody expected, or a message arrived twice. In a system that keeps history, you don’t erase the mistake. You record what corrects it, the way a bank posts a correcting entry instead of editing last month’s statement. You’ll learn how to do that so the data ends up right and you can still see what happened.
The first two articles are short and explain the mindset: you can’t unsend a message, and the “impossible” case will happen. The next two show how to fix bugs and change past data in practice, using hotel examples. The last explains why duplicate messages appear and where you can filter them out.
Read them in order.

What texting your Ex has to do with Event-Driven Design?
2021-01-27We sometimes feel melancholic, blue and a bit messy. When we enhance those feelings with “gummy berry juice” then various dubious ideas come to our minds. We grab the…
No, it can never happen!
2022-01-05“No, it can never happen!”. Have you heard this sentence before? For example, a user with the same e-mail address may not register, or the shipment won’t be delivered. I…
Fixing bugs in Event Sourcing is hard, for real?
2026-07-27Every system ends up with bad data. Some of it comes from integrations, some from users doing things nobody predicted, and a good part of it comes from us, because we…
Oops I did it again, or how to update past data in Event Sourcing
2023-09-22One team win is a loss for the other. For some people, money loss is a gain for others. In the same way, the challenging parts of Event Sourcing are also its superpowers…
Deduplication in Distributed Systems: Myths, Realities, and Practical Solutions
2024-11-25Last week, we discussed how to use queuing to guarantee idempotency. What’s idempotency? It’s when we ensure that no matter how often we run the same operation, we’ll…