STORE DOCS / DIAGRAMS

Backend acceptance or precondition conflict

Backend acceptance or precondition conflictMutationServer sends a deterministic request for generation g and idempotency key k, returns a Present or Absent acknowledgement after backend acceptance, or throws a sanctioned StoreResults.conflict after a precondition conflict.ALT[backend accepts][precondition conflict]push(generation g,idempotencyKey k)deterministic requestfor g and kauthoritative resultPresent or Absentacknowledgementconflict responsesanctioned throw:StoreResults.conflictMutation engineMutationServerBackendCall / local workAcknowledgement / returnSanctioned throw
After the backend accepts, receipt durability determines whether a later drain can replay generation g. That continuation is shown in the next diagram.