Skip to content

chore: capture sentry backtraces#2166

Merged
pjenvey merged 2 commits into
masterfrom
chore/sentry-capture-STOR-493
Mar 27, 2026
Merged

chore: capture sentry backtraces#2166
pjenvey merged 2 commits into
masterfrom
chore/sentry-capture-STOR-493

Conversation

@pjenvey
Copy link
Copy Markdown
Member

@pjenvey pjenvey commented Mar 27, 2026

Description

(we were missing the "capture" feature)

and switch back to sentry's now longstanding default transport of reqwest+rustls, which avoids issues w/ our grpc client's included boringssl that occurred w/ reqwest+native-tls

Issue(s)

Closes STOR-493

(we were missing the "capture" feature)

and switch back to sentry's now longstanding default transport of
reqwest+rustls, which avoids issues w/ our grpc client's included boringssl
that occurred w/ reqwest+native-tls

Closes STOR-493
@pjenvey pjenvey requested review from chenba and taddes March 27, 2026 00:23
Copy link
Copy Markdown
Collaborator

@taddes taddes left a comment

Choose a reason for hiding this comment

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

lgtm, though I'll have to get brief context on this from you sometime. grpcio ftw. Is this basically where reqwest and grpcio's boringssl fight over TLS internals, so libcurl was used as a side-step since it has its own independent TLS stack that didn't clash?

Comment thread syncserver/src/main.rs
// likely grpcio's boringssl
let curl_transport_factory = |options: &sentry::ClientOptions| {
Arc::new(sentry::transports::CurlHttpTransport::new(options)) as Arc<dyn sentry::Transport>
};
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

What changed so we no longer need this? Sorry I don't have the context.

@pjenvey
Copy link
Copy Markdown
Member Author

pjenvey commented Mar 27, 2026

lgtm, though I'll have to get brief context on this from you sometime. grpcio ftw. Is this basically where reqwest and grpcio's boringssl fight over TLS internals, so libcurl was used as a side-step since it has its own independent TLS stack that didn't clash?

Yea, exactly. @chenba the original issue is here: #289 as Taddes said, reqwest with its native-tls backend (which usually ends up using the openssl installed on your system) somehow seemed to "conflict" w/ the boringssl vendored with our grpc client used for Spanner, so the easy fix was to switch to a different transport.

Apparently sentry changed its default a long time ago, not that long after our original workaround, to reqwest w/ the pure rust rustls backend. I probably should have noticed this when autopush started using the same grpc client a couple years ago and never needed the curl transport 😅

@pjenvey pjenvey merged commit f049739 into master Mar 27, 2026
24 checks passed
@pjenvey pjenvey deleted the chore/sentry-capture-STOR-493 branch March 27, 2026 18:25
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.

3 participants