-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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 trace id is invalid, jaeger-ui send this request forever #556
Comments
cc @tiffon |
That's pretty odd. I would expect an invalid ID to have a 404 response, but these are 200. Does the response have any data? Is there a trace, and if so what is the traceID? Thanks for reporting this. |
When I access URL with invalid trace ID I am getting this This happens with Cassandra and in-memory backend. Maybe the issue is with ES storage not returning NotFound. The UI display could be worded a bit better, "something that doesn't exist" is actually the trace, and the "bad JSON" error is misleading. |
Improving the error messages is something I want to look into. I'll create a ticket in jaeger-ui for it if there isn't one, already. |
Will also, of course, address this issue, specifically. |
@black-adder I see this code in ES spanstore // GetTrace takes a traceID and returns a Trace associated with that traceID
func (s *SpanReader) GetTrace(traceID model.TraceID) (*model.Trace, error) {
currentTime := time.Now()
traces, err := s.multiRead([]string{traceID.String()}, currentTime.Add(-s.maxLookback), currentTime)
if err != nil {
return nil, err
}
if len(traces) == 0 {
return nil, errNoTraces
}
return traces[0], nil
} There are two problems here. First, when no traces are found the error should be var traces []*model.Trace
for _, result := range results.Responses {
if result.Hits == nil {
return nil, errNilHits
} If I read it correctly, the method would return |
@yurishkuro the flowing multiread function code snippet var traces []*model.Trace
for _, result := range results.Responses {
if result.Hits == nil {
return nil, errNilHits
}
spans, err := s.collectSpans(result.Hits.Hits)
if err != nil {
return nil, err
}
traces = append(traces, &model.Trace{Spans: spans})
}
return traces, nil when the traceId is invalid or not in the es store, got result
this results that when I just make a pull request #597 which check |
Signed-off-by: 马庆升 <mqs@meitu.com>
#601 and the UI fix jaegertracing/jaeger-ui#128 resolve this. |
jaeger verison: 3136216
jaeger-ui version : 27c3d58
The text was updated successfully, but these errors were encountered: