Skip to content

[Queue] Implement transactional dispatch, leases, deduplication, and fencing #32

Open

Description

@gnanirahulnutakki

Outcome

Deliver accepted work durably while allowing safe worker replacement and duplicate messages.

Scope

  • Implement queue abstraction, outbox dispatch, acknowledgement/visibility semantics, lease renewal/expiry, per-resource serialization, fencing, and bounded concurrency.

Acceptance criteria

  • Lost acknowledgements and repeated dispatch do not lose work.
  • Crashed-worker leases recover and stale workers cannot commit.
  • Poisoned work reaches a bounded, inspectable terminal path.

Test and evidence

  • Duplicate, lease-race, dispatcher-crash, queue-outage, and poison-message tests.

Dependencies

  • Blocked by #31.
  • Blocked by #12.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:reconciliationPersistence, planning, execution, and recoverypriority:p0Critical prerequisite or correctness boundary

    Type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions