Skip to content

test(delivery): prove single-claim across instances and slow-callback redelivery (RIG-3107) - #1353

Draft
rigel-mintaka wants to merge 2 commits into
compass-managed/rig-4031-held-gapsfrom
compass-managed/rig-3107-t4-transport-proof
Draft

rigel-mintaka wants to merge 2 commits into
compass-managed/rig-4031-held-gapsfrom
compass-managed/rig-3107-t4-transport-proof

Conversation

@rigel-mintaka

@rigel-mintaka rigel-mintaka commented Sep 26, 2026 •

Copy link
Copy Markdown
Contributor

This PR is part of a stack containing 6 PRs:

  1. main
  2. feat(comms): publish message_posted on the event fabric (RIG-3107) #1333
  3. feat(fabric): propagate trace context, add OnReconnect, pin serial callbacks (RIG-3107) #1337
  4. feat(delivery): consume message_posted from the event fabric (RIG-3107) #1345
  5. fix(delivery): fire a hold that lost the race to its settle; skip held in start sweeps (RIG-4031) #1351
  6. "test(delivery): prove single-claim across instances and slow-callback redelivery (RIG-3107)" (this PR)
  7. feat(fabric): let a subscriber callback fail so the event is redelivered (RIG-4030) #1355

T4 transport proofs:

  • Two delivery halves on one NATS and one Postgres claim each of 20 posts
    exactly once through the shared durable queue-group.
  • A healthy callback held past AckWait is redelivered to the other
    instance; an always-slow one exhausts MaxDeliver (server advisory).

Nak-to-MaxDeliver and DLQ-park on a callback failure wait on the callback
error-return decision. An always-slow healthy event is dropped at
MaxDeliver, not parked, contrary to the record wording; routed to Matt.

Spec-impact: none. Refs RIG-3107

Co-authored-by: Matt Wilkinson matt@rigel.build

… redelivery (RIG-3107)

T4 transport proofs:

- Two delivery halves on one NATS and one Postgres claim each of 20 posts
  exactly once through the shared durable queue-group.
- A healthy callback held past AckWait is redelivered to the other
  instance; an always-slow one exhausts MaxDeliver (server advisory).

Nak-to-MaxDeliver and DLQ-park on a callback failure wait on the callback
error-return decision. An always-slow healthy event is dropped at
MaxDeliver, not parked, contrary to the record wording; routed to Matt.

Spec-impact: none. Refs RIG-3107

Co-authored-by: Matt Wilkinson <matt@rigel.build>
@linear-code

linear-code Bot commented Sep 26, 2026

Copy link
Copy Markdown

RIG-3107

@github-actions

github-actions Bot commented Sep 26, 2026 •

Copy link
Copy Markdown

Compass engineering docs preview: https://compass-managed-rig-3107-t4.compass-eng-docs.pages.dev

Deployed from compass-managed/rig-3107-t4-transport-proof at 6fe9d98.

Review lows: the always-slow test now checks the advisory payload
(deliveries, stream seq) and that nothing reaches DLQSubject; the held
callback is released on failure; the two-instance test reports any claim
outside the posted set; the dead attempts counter is gone.

Spec-impact: none. Refs RIG-3107

Co-authored-by: Matt Wilkinson <matt@rigel.build>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant