Remix.run Logo
jayd16 6 hours ago

It's a bit of trick that the outbox to queue part of it likely needs to support "at least once but duplicates possible" into the queue.

mrkeen 5 hours ago | parent | next [-]

"Send multiple times from D to Q and deduplicate with a UUID" (idempotency) is well short of "insert into both D and Q or neither" (atomicity)

jayd16 5 hours ago | parent [-]

What are you saying here? I'm pointing out that you need to be ok with the lack of exactly once transaction between O and Q. Maybe you're agreeing and simply saying that's a fine?

KraftyOne 5 hours ago | parent | prev [-]

Every item will be written to the queue exactly once (as the update is transactional). Queue processing may need at-least-once semantics, yes, depending on what exactly you're doing.

jayd16 5 hours ago | parent [-]

The queue write is not in the transaction. The proposed trick is that that is ok because an outbox is able to be transacted on. It kicks the can some what...