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

Clarify whether OTLP/gRPC codes should cover both client and server #506

Open
carlosalberto opened this issue Sep 6, 2023 · 1 comment

Comments

@carlosalberto
Copy link
Contributor

From open-telemetry/opentelemetry-specification#3653:

This seems confusing, the current spec says "The server MAY use other gRPC codes to indicate retryable and not-retryable errors if those other gRPC codes are more appropriate for a particular erroneous situation. The client SHOULD interpret gRPC status codes as retryable or not-retryable according to the following table..." which indicates that the gRPC status codes are only coming from the server. Should the transient error here cover both client and server error?

and

For gRPC this is not always true. See https://grpc.github.io/grpc/core/md_doc_statuscodes.html... A common example where an RPC returns a status which was not set by the server is the Unavailable status code. For instance, if you make an rpc call to some server bogusurl.com the call results in an Unavailable status code.

See https://github.com/open-telemetry/opentelemetry-proto/blob/main/docs/specification.md#failures

@tigrannajaryan
Copy link
Member

Yes, if the gRPC client can't make the the call and returns Unavailable status code the exporter is supposed to interpret it according to the table. Generally, the exporter does not need to know who is responsible for returned status code, whether it is coming from the server or because the client can't connect to the server.

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

No branches or pull requests

2 participants