Skip to content

Reconcile idempotent object materialisation after commit timeout #238

Description

@zcourts

Defect

Worka E2E36 proved that an object-materialisation publication can exceed the runner timeout after its MVCC transaction leaves open. The retry resolves the deterministic idempotency key to that durable transaction, then incorrectly attempts to stage the publication again and fails permanently with transaction is no longer open.

This is a release-blocking closed-transaction replay defect, cross-linked with #236.

Required behavior

  • Inspect durable transaction state immediately after idempotent begin.
  • Stage only an open transaction.
  • Re-drive/reconcile committing and committed transactions without restaging.
  • Accept committed success only when the exact expected canonical publication is readable.
  • Advance from a proven terminal failure with a stable publication identity and bounded deterministic attempt ordinal.
  • Cover timeout-after-commit, committing replay, committed match/mismatch, and terminal recovery.

Implementation status

  • Source fix pushed in 675b22a on worka/v0.1.0-anvil-rc9.
  • Direct rustfmt and git diff --check.
  • Focused compiled tests (deferred while Developer Defence owns the shared Cargo build).
  • Worka HMO E2E validation with the next candidate image.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:mvccMVCC storage, snapshots, conflicts, application, or GCarea:recoveryRestart, replacement, repair, backup, or disaster recoveryarea:testingModel, integration, fault, compatibility, or chaos testingkind:bugConfirmed defect requiring correctionrelease-blockerMust be resolved before the assigned release ships

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions