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 trace id is invalid, Jaeger UI send this request forever #128

Closed
tiffon opened this issue Nov 28, 2017 · 6 comments
Closed

When trace id is invalid, Jaeger UI send this request forever #128

tiffon opened this issue Nov 28, 2017 · 6 comments
Labels

Comments

@tiffon
Copy link
Member

tiffon commented Nov 28, 2017

Related to jaegertracing/jaeger#556.

The UI loops endlessly if the HTTP request to get a trace succeeds but does not have the expected trace. This can happen in the scenario described in the ticket and also when the URL has uppercase letters in the trace ID because the HTTP response always uses lowercase.

  • Limit the number of times the same request is issued
  • Do not reissue the same request
  • If the URL contains uppercase update the URL to be lowercase, then issue the request
    • A permanent redirect would be preferred, but that's in the hands of the query-service (cc @yurishkuro , @black-adder)
@yurishkuro
Copy link
Member

Limit the number of times the same request is issued

why do we need to repeat the request at all, if we already got a response (even if the response is empty)?

@tiffon
Copy link
Member Author

tiffon commented Nov 28, 2017

@yurishkuro Updated.

@yurishkuro
Copy link
Member

I think stopping the repeat is the solution for the original issue.

The uppercase issue a bit strange, I suspect it only exists in the UI, because on the server side I just tried a unit test that parses the URL like /api/traces/123456aBC, and it works fine (jaegertracing/jaeger#567).

@tiffon
Copy link
Member Author

tiffon commented Nov 28, 2017

@yurishkuro Agreed, stopping the repeat is the solution for the original issue.

The uppercase is a different manifestation of the same problem but is recoverable, unlike the original issue. The server returns trace IDs in lowercase regardless of the casing of the ID in the HTTP request. Not repeating the request will stop the loop, but the user is still not able to view the trace. Moving to a URL with lowercase trace ID will allow the request to be issued once and succeed.

@yurishkuro
Copy link
Member

what I'm saying is that I don't think the upper-case URL even gets to the server. If it did, the server would've returned the trace. You can verify in our internal installation, just use the View Trace JSON button and change the trace ID in the URL to upper case.

@tiffon
Copy link
Member Author

tiffon commented Nov 29, 2017

@yurishkuro Per our discussion earlier, the uppercase URL gets to the server and it does return the data. But, the traceID in the returned data is lowercase. So, the UI re-issues the request because the two traceIDs don't match. Shifting URLs with uppercase traceIDs to lowercase and then issuing the HTTP request should resolve the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants