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

When Span and Trace IDs match inconsistent results are returned #787

Closed
joe-elliott opened this issue Jun 22, 2021 · 1 comment
Closed
Labels
stale Used for stale issues / PRs

Comments

@joe-elliott
Copy link
Member

Describe the bug
I'm unsure what the "correct" behavior is here, but if a trace and span id collide Tempo will return one span or the other based on the order that the spans are fed into CombineTraces.

This is slightly more likely to occur then it sounds. The way that the Jaeger go client samples traces can increase the chance of collisions:

jaegertracing/jaeger-client-go#582

And the same client uses the trace id for its root span guaranteeing a span id collision if the trace ids collide:

https://github.com/jaegertracing/jaeger-client-go/blob/master/tracer.go#L278

The end result is that Tempo non-deterministically returns one root span or the other (along with the rest of the traces) due to the behavior of:

func (o objectCombiner) Combine(objA []byte, objB []byte, dataEncoding string) ([]byte, bool) {

@github-actions
Copy link
Contributor

github-actions bot commented Dec 1, 2022

This issue has been automatically marked as stale because it has not had any activity in the past 60 days.
The next time this stale check runs, the stale label will be removed if there is new activity. The issue will be closed after 15 days if there is no new activity.
Please apply keepalive label to exempt this Issue.

@github-actions github-actions bot added the stale Used for stale issues / PRs label Dec 1, 2022
@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Dec 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
stale Used for stale issues / PRs
Projects
None yet
Development

No branches or pull requests

1 participant