Skip to content

otel: retries must be tracked per-call and not per-attempt #8700

@easwars

Description

@easwars

The number of retries is currently tracked inside the attemptInfo here:

previousRPCAttempts uint32

And a new attemptInfo is created for every attempt here:

func getOrCreateRPCAttemptInfo(ctx context.Context) (context.Context, *attemptInfo) {

We need to track this in the callInfo instead, so that we can increment the number of retries for a call:

type callInfo struct {

We had a PR that attempted to do this earlier: #8342, but it introduced a flaky test and therefore had to be rolled back.

Metadata

Metadata

Assignees

Labels

Area: ObservabilityIncludes Stats, Tracing, Channelz, Healthz, Binlog, Reflection, Admin, GCP ObservabilityP2Type: Bug

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions