-
Notifications
You must be signed in to change notification settings - Fork 650
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
OTLP exporters don't respect timeout #2663
Comments
Moving some discussion from the PR here:
cc @srikanthccv I checked the Go impl (where this is a common pattern) and it actually does something different.
This is really confusing to me because DEADLINE_EXCEEDED is retryable but it will never happen? I'm not really sure what the intention of the spec is. Maybe a few examples can help tease out the details: BSP has as longer timeout
does the export abort after 10s? Or should it retry until 30 seconds? What if the user calls force flush with 15s timeout? BSP has a shorter timeout
presumably the BSP should win out here User passes a longer timeout than either
What if the user calls force flush with a 30s timeout? Should we wait 30s or respect the shorter configured options of BSP/OTLP? Maybe there is an argument for making the timeout params |
Any update on this? Not sure if it's the same bug but I set the timeout to 1 sec and it keeps trying to reach the (inexistent) endpoint:
|
This behavior is EXTREMELY problematic when collector has worse performance than the application. Which for many is acceptable, after all this is telemetry data. Especially when we are talking about Lambda, with sub-second invocations and short timeouts. Current workaround for autoinstrumentation I see is to patch the retries out completely during the cold start:
|
I wanted to keep some form of retry so I made this patch:
Here's how you can apply this patch:
|
Discussed further in #2402 (comment)
The text was updated successfully, but these errors were encountered: