4 ms·
I dont have an answer, I'm just curious about something. I thought that the point of an outbox was that it was local, and could therefore be updated atomically
by mountainreason 4y ago
I dont have an answer, I'm just curious about something. I thought that the point of an outbox was that it was local, and could therefore be updated atomically along with any local db changes. What would happen if the orchestrator was unable to update the remote shared cache outbox after a local exception/rolled back transaction?
- olivermrbl 4y ago> What would happen if the orchestrator was unable to update the remote shared cache outbox after a local exception/rolled back transaction To be sure, I understand your question, you are referring to the following scenario: - Start global transaction - Create shared cache entry - Add events to the shared cache - Local transaction fails - Orchestrators starts rolling back local transaction - Attempts to delete shared cache entry <-- THIS ONE FAILS To ensure we don't have stale events in the cache, I would add a TTL, which is configurable for each job (such that you can have long-living events). So in case the orchestrator fails to delete the cache entry, they would be invalidated at some point by exceeding its TTL.