Skip to content

Create new PekkoRouteHolder for each request#16258

Merged
laurit merged 2 commits intoopen-telemetry:mainfrom
samwright:fix-pekko-routeholder
Feb 26, 2026
Merged

Create new PekkoRouteHolder for each request#16258
laurit merged 2 commits intoopen-telemetry:mainfrom
samwright:fix-pekko-routeholder

Conversation

@samwright
Copy link
Copy Markdown
Contributor

@samwright samwright commented Feb 22, 2026

Previously a request would reuse an existing PekkoRouteHolder if it existed in the Context. This should never happen, since the server should start with a root span, but it seems there's a context leak somewhere allowing multiple requests, and therefore multiple threads, to operate on the same PekkoRouteHolder. This randomly causes issues with concurrent access to StringBuilder and ArrayDeque instances.

This might fix issue #15681. It also might not, but it is nevertheless an improvement.

Previously a request would reuse an existing PekkoRouteHolder if it existed in the Context. This should never happen, since the server should start with a root span, but it seems there's a context leak somewhere allowing multiple requests, and therefore multiple threads, to operate on the same PekkoRouteHolder. This randomly causes issues with concurrent access to StringBuilder and ArrayDeque instances.

This might fix issue 15681. It also might not, but it is nevertheless an improvement.
@laurit laurit merged commit 2b988fc into open-telemetry:main Feb 26, 2026
85 checks passed
@otelbot
Copy link
Copy Markdown
Contributor

otelbot Bot commented Feb 26, 2026

Thank you for your contribution @samwright! 🎉 We would like to hear from you about your experience contributing to OpenTelemetry by taking a few minutes to fill out this survey.

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