Skip to content

Fix deferred RPC span-tail replay ordering - #3961

Closed
noise64 wants to merge 1 commit into
mainfrom
noise64/fix-p3-span-replay
Closed

noise64 wants to merge 1 commit into
mainfrom
noise64/fix-p3-span-replay

Conversation

@noise64

@noise64 noise64 commented Sep 24, 2026

Copy link
Copy Markdown
Contributor
  • fixes p3 future-RPC replay when a completion marker resolves the RPC End before interleaved positional work reaches the replay cursor
  • waits for the interleaved owners to advance normally, then atomically validates and consumes the RPC's adjacent FinishSpan by span ID
  • applies the in-memory span transition only after the durable tail is consumed, without adding replay tolerance or skipping unrelated entries
  • adds focused regressions for the observed timer/RPC ordering and for rejecting a mismatched span tail without advancing the cursor
  • documents the post-terminal positional-tail ownership invariant in the durable-execution guide

Verification

  • cargo fmt -p golem-worker-executor -- --check
  • cargo test -p golem-worker-executor --lib prefetched_completion_ -- --report-time
  • existing completion-prefetch and delivery-marker cursor-boundary tests

@netlify

netlify Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for golemcloud canceled.

Name Link
🔨 Latest commit fbdca41
🔍 Latest deploy log https://app.netlify.com/projects/golemcloud/deploys/6ab532c55cb2da0007b646f9

@vigoo

vigoo commented Sep 24, 2026

Copy link
Copy Markdown
Contributor

A redesign of how spans are recorded in the oplog is coming, solving this better

@vigoo vigoo closed this Sep 24, 2026
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 24, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants