Skip to content

Worker: better reporting on socket errors - #1505

Merged
josephjclark merged 6 commits into
release/nextfrom
fix-sentry-reporting
Aug 26, 2026
Merged

Worker: better reporting on socket errors#1505
josephjclark merged 6 commits into
release/nextfrom
fix-sentry-reporting

Conversation

@josephjclark

@josephjclark josephjclark commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

This PR adds a few fixes to improve diagnostics

  • Fix some issues in sentry reporting (more reports on error and better run scoping)
  • include dataclip size in the send-complete event for tracking and debugging (sent to lightning)

This so far won't fix any of the problems we've been seeing in #1504. I might include a fix.

AI Usage

Please disclose whether you've used AI anywhere in this PR (it's cool, we just
want to know!):

  • I have used Claude Code
  • I have used another model
  • I have not used AI

You can read more details in our
Responsible AI Policy

josephjclark and others added 2 commits August 24, 2026 11:30
Each run already opened a sentry isolation scope, but engine and socket
callbacks fire outside its async context, so breadcrumbs and errors were
landing on the global scope and interleaving across concurrent runs. The
scope is now held on the run context and re-entered where the reporting
actually happens.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-project-automation github-project-automation Bot moved this to New Issues in Core Aug 25, 2026
@josephjclark
josephjclark changed the base branch from main to release/next August 26, 2026 14:09
@josephjclark
josephjclark merged commit 7398d41 into release/next Aug 26, 2026
10 checks passed
@github-project-automation github-project-automation Bot moved this from New Issues to Done in Core Aug 26, 2026
@josephjclark
josephjclark deleted the fix-sentry-reporting branch August 26, 2026 14:34
josephjclark added a commit that referenced this pull request Aug 27, 2026
* Worker: better reporting on socket errors (#1505)

* Worker: attribute sentry reports to the run that produced them

Each run already opened a sentry isolation scope, but engine and socket
callbacks fire outside its async context, so breadcrumbs and errors were
landing on the global scope and interleaving across concurrent runs. The
scope is now held on the run context and re-entered where the reporting
actually happens.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* carry payload size on step-complete events for better reporting

* type fix

* add payload size to step complete event

* report payload size to sentry

* changeset

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* Worker: Fix dataclip serialization (#1507)

* Worker: attribute sentry reports to the run that produced them

Each run already opened a sentry isolation scope, but engine and socket
callbacks fire outside its async context, so breadcrumbs and errors were
landing on the global scope and interleaving across concurrent runs. The
scope is now held on the run context and re-entered where the reporting
actually happens.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* carry payload size on step-complete events for better reporting

* type fix

* report better errors out of sentry

* Gate double-encoding fix for output dataclips behind WORKER_NO_STRINGIFY_STATE

The worker double-JSON-encodes step output dataclips before sending them to
Lightning: once via a manual stringify, then again when phoenix serializes
the envelope. That double-encoding is what bloats large dataclips past
Lightning's websocket frame limit and kills the connection mid-run. The
runtime already sanitizes/clones state before it reaches this point, so the
manual stringify is redundant - but skipping it changes the wire format, so
it's opt-in via --stringify-state/--no-stringify-state (CLI) or
WORKER_NO_STRINGIFY_STATE (env), default false to preserve current
behaviour until the matching Lightning-side support (2.19+) is widely
deployed.

* docs and changelog

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* versions

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants