Skip to content

control: forward traces in a non-blocking goroutine#6757

Open
jsternberg wants to merge 2 commits into
moby:masterfrom
jsternberg:unreachable-otlp-endpoint
Open

control: forward traces in a non-blocking goroutine#6757
jsternberg wants to merge 2 commits into
moby:masterfrom
jsternberg:unreachable-otlp-endpoint

Conversation

@jsternberg
Copy link
Copy Markdown
Collaborator

@jsternberg jsternberg commented May 7, 2026

Traces are now forwarded in a non-blocking goroutine when sent through
the traces exporter. This prevents traces forwarded from the client from
being stalled while waiting for an upstream uploader to appear.

Fixes #6747.

Traces are now forwarded in a non-blocking goroutine when sent through
the traces exporter. This prevents traces forwarded from the client from
being stalled while waiting for an upstream uploader to appear.

Signed-off-by: Jonathan A. Sternberg <jonathan.sternberg@docker.com>
@jsternberg jsternberg force-pushed the unreachable-otlp-endpoint branch from 5a2a63d to f2fe9e2 Compare May 7, 2026 20:37
@jsternberg jsternberg requested a review from tonistiigi May 8, 2026 13:46
Adds a shutdown context to `appcontext` that will only cancel when an
interrupt has been received twice. One interrupt will signal the program
should clean up and shut down, the second indicates we should skip
shutdown procedures (more forceful), and the third will indicate that we
should immediately terminate the program.

This gives a bit more of a degree of control to shutdown procedures like
the traces and metrics exporter so there's a difference between forcibly
calling exit and just waiting a long time for the shutdown to happen.

Signed-off-by: Jonathan A. Sternberg <jonathan.sternberg@docker.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

OTLP shutdown stalls buildctl and buildkitd when the collector is unreachable

1 participant