Skip to content

Track: svc-event-consumer R2 get 'Network connection lost' (Sentry 7252094770) #1

@charliecreates

Description

@charliecreates

Owning code appears in charlie-labs/charlie at commit d59be8962463f8768712cff0d20f57bc8b9ef6a1:
https://github.com/charlie-labs/charlie/commit/d59be8962463f8768712cff0d20f57bc8b9ef6a1

Sentry issue: https://charlie-labs.sentry.io/issues/7252094770/?environment=prod

What we're seeing

  • Error: Network connection lost
  • Likely during await env.eventsBucket.get(objectKey) (Cloudflare R2 read) in svc-event-consumer
  • Volume: 48 events since 2026-02-09
  • Impact: 1 user affected
  • Status: still happening

Notes

  • The charlie-labs/charlie repo currently has GitHub Issues disabled, so this issue lives here for tracking.

Suggested remediation

  1. Add bounded retries around R2 get() with jittered exponential backoff (e.g. 3-5 attempts, cap total wait).
  2. Improve observability:
    • Include objectKey, bucket, attempt count, and request/trace IDs in logs/Sentry context.
    • Differentiate not-found (null) vs transport/network failures.
  3. Ensure queue semantics won't drop messages on transient failures; consider treating retry exhaustion as a distinct error type.

Acceptance ideas

  • Simulated transient failure triggers retries and then succeeds without emitting an error.
  • If retries exhaust, error includes key + attempt count and is easy to correlate in Sentry/logs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions