logoalt Hacker News

jedbergyesterday at 4:16 PM2 repliesview on HN

> The problem with durable execution is that your entire workflow still needs to be idempotent.

Yes, but what that means depends on your durability framework. For example, the one that my company makes can use the same database for both durability and application data, so updates to application data can be wrapped in the same database transaction as the durability update. This means "the work" isn't done unless "recording the work" is also done. It also means they can be undone together.


Replies

nightpoolyesterday at 4:31 PM

A lot of work can be wrapped inside a database transaction, but never everything. You're always going to want to interact with external APIs eventually.

show 1 reply
teerayyesterday at 6:00 PM

> This means "the work" isn't done unless "recording the work" is also done. It also means they can be undone together.

That's just another way of saying that the step in question is idempotent.

show 1 reply