Skip to content

ref(service): Simplify semantic service errors - #606

Merged
jan-auer merged 19 commits into
mainfrom
ref/semantic-service-errors
Sep 3, 2026
Merged

ref(service): Simplify semantic service errors#606
jan-auer merged 19 commits into
mainfrom
ref/semantic-service-errors

Conversation

@jan-auer

@jan-auer jan-auer commented Aug 31, 2026

Copy link
Copy Markdown
Member

Replace the service error enum with an opaque error and semantic error kinds.

Preserve backend response details as structured source errors. Classify panics, client stream failures, corrupt data, and capacity failures consistently across service and server code. The server now only needs to match on the public "kind", but not on the full enum with potentially nested errors.

These errors still don't capture backtraces, so we rely on the error kind + manual context to locate them precisely.

Replaces #547
Closes FS-446
Ref FS-358

@jan-auer
jan-auer requested a review from a team as a code owner August 31, 2026 13:46
@linear-code

linear-code Bot commented Aug 31, 2026

Copy link
Copy Markdown

FS-358

FS-446

Comment thread objectstore-service/src/service.rs Outdated
@codecov

This comment has been minimized.

Comment thread objectstore-service/src/backend/tiered.rs Outdated
Comment thread objectstore-service/src/service.rs
Comment thread objectstore-service/src/backend/extensions.rs Outdated
Comment thread objectstore-server/src/endpoints/objects.rs
@jan-auer

jan-auer commented Sep 1, 2026

Copy link
Copy Markdown
Member Author

After iterating on this a bit more, this approach doesn't work at all. Since backtraces are not stabilized, I'm not able to find a good API that allows us to capture them with the tracing integration.

We will instead go back to tracking custom context descriptions for now.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 7f31d3c. Configure here.

Comment thread objectstore-service/src/backend/gcs.rs
…errors

* origin/main:
  ref(bigtable): delete_non_tombstone no longer emits extra delete in no-op case (#610)
  feat(server): Make Sentry stack traces configurable (#608)
  feat(server): Add Resumable Upload API (#593)

# Conflicts:
#	objectstore-server/src/endpoints/common.rs
#	objectstore-service/src/error.rs
Comment thread objectstore-service/src/backend/gcs.rs Outdated
Comment thread objectstore-service/src/error.rs
Comment thread objectstore-service/src/error.rs Outdated
Comment thread objectstore-service/src/backend/extensions.rs Outdated
Comment thread objectstore-server/examples/capture_service_error.rs Outdated
Comment thread objectstore-service/src/error.rs
Comment thread objectstore-service/src/service.rs
Comment thread objectstore-server/src/endpoints/common.rs

@lcian lcian left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

@jan-auer
jan-auer merged commit cce8d39 into main Sep 3, 2026
26 checks passed
@jan-auer
jan-auer deleted the ref/semantic-service-errors branch September 3, 2026 13:54
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.

2 participants