Skip to content
This repository was archived by the owner on Dec 23, 2023. It is now read-only.
This repository was archived by the owner on Dec 23, 2023. It is now read-only.

gRPC retry breaks tracing #1896

@mwuertinger

Description

@mwuertinger

I'm not sure if this is a gRPC or an OpenCensus issue. If this is the wrong place to report this, please let me know and I will open an issue for gRPC.

What version of OpenCensus are you using?

0.19.1

What version of gRPC are you using?

1.18.0

What JVM are you using (java -version)?

openjdk version "1.8.0_212"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_212-b03)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.212-b03, mixed mode)

What did you do?

I'm constructing a gRPC channel like below and then use this channel to make calls to a remote service.

ManagedChannelBuilder
	.forAddress(host, port)
	.defaultLoadBalancingPolicy("round_robin")
	.nameResolverFactory(DnsNameResolverProvider.asFactory())
	.idleTimeout(30, TimeUnit.SECONDS)
	.enableRetry()
	.build();

What did you expect to see?

I expect that outgoing calls create a span and that the grpc-trace-bin header is set so that the remote service can pick up the tracing information.

What did you see instead?

No span is created on the client side and the grpc-trace-bin header is missing.

Additional context

Removing the enableRetry() fixes the problem and tracing works as expected.

I'm using the StackdriverTraceExporter on both client and server.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions