Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Request Hedging #1712

Open
pquerna opened this issue Dec 24, 2024 · 0 comments
Open

Request Hedging #1712

pquerna opened this issue Dec 24, 2024 · 0 comments
Labels
area:rpc enhancement New feature or request experts needed This issue or pull request is outside an area where general approvers feel they can approve

Comments

@pquerna
Copy link

pquerna commented Dec 24, 2024

We have an internal request hedging system, similar in concept to what the gRPC team has talked about here:
https://grpc.io/docs/guides/request-hedging/

In Golang, we can use context.WithCancelCause(...) to cancel a hedge that didn't win. The winning hedge just looks like a normal Span that was successful.

When we are integrating some 3rd-party OTEL libraries, like otelpgx, it uses span.RecordError(err) liberally, and so we get Spans marked as "error", when they were really just cancelled. We can deal with some of this by changing our own software of course.

But when looking at semconv there didn't seem to even be a way to mark an RPC/Database operation as a "hedge" and to denote it was cancelled on purpose. We've been using some internal terminology like "winning hedge" and "lost hedge".

Has this been discussed before? I could only find minor references as it being out of scope previously:
https://github.com/open-telemetry/opentelemetry-specification/blob/d1c6aec6524f8c071d5fdef23d57ca5964fa6bb5/oteps/trace/0174-http-semantic-conventions.md?plain=1#L165-L167

@lmolkova lmolkova added enhancement New feature or request experts needed This issue or pull request is outside an area where general approvers feel they can approve area:new area:rpc and removed area:new labels Jan 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:rpc enhancement New feature or request experts needed This issue or pull request is outside an area where general approvers feel they can approve
Projects
None yet
Development

No branches or pull requests

2 participants