-
Notifications
You must be signed in to change notification settings - Fork 104
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
opentelemetry-operations-go/exporter/trace rpc error: code = Unavailable #208
Comments
Would any of the options for the OTLP exporter solve your use-case? If possible, it would be nice to support similar grpc-related options to the otlptracegrpc options. |
It looks like the cloud trace client has retry logic built in by default. I'm wondering if I followed that correctly, or if maybe something in the batch processor is dropping that retry handling? |
Can we test it with our mock cloud trace implementation? |
Re-reading it, I think that retry logic is only on by default for |
Opened a PR to add this in #550, but going to double check with cloud trace folks first to see if there's a specific reason that |
We ended up changing the underlying client defaults after opening googleapis/google-cloud-go#7184. Those changes should get copied from google internal to Github soon, and the clients will be regenerated. At that point, we'll need to bump our dependencies to pull in the new defaults but otherwise shouldn't require any code changes for this feature. We might be able to use the tests I started to add in #550 though. However with this we will want to remove our default enabled |
To update this: batch retry is now enabled by default at head in the cloud trace libraries: https://github.com/googleapis/google-cloud-go/blob/19e9d033c263e889d32b74c4c853c440ce136d68/trace/apiv2/trace_client.go#L64-L75 Once a new trace client release is tagged, I'll update #550 to try bumping that dependency here and add tests to verify |
@damemi @dashpole I see this retry is now removed as of OTel v0.84.0. I had a question about using the OTel persistent queue. I believe when using the OTel retry an item doesn't leave the queue until it successfully sends. So if it fails and the system shuts down the persistent queue will keep it on disk and retry. Using the the google-cloud retry does this behavior change? If the retry fails does the item stay in the OTel sending queue or is it removed and then is discarded by the google-cloud library if it fails? This is probably and edge case but if a collector has a persistent queue and is shut down while things are retrying are they now lost where before with the OTel retry they would be persisted on disk? |
That doesn't seem like the right behavior if retry is disabled. If you are able to reproduce it, can you open a separate issue? |
Yeah let me double check. I may be missing part of how the exporter helper works with retry and sending queue. |
Hey all,
our monitoring sometimes shows the following error message from the traces exporter:
We are using the following library versions:
I think the error is common among grpc systems when something is restarting or connections are lost. Maybe providing a retry option like grpc_retry would help to reduce data loss and the occurrence of such low level alerts.
Regards,
Carsten
The text was updated successfully, but these errors were encountered: