-
Notifications
You must be signed in to change notification settings - Fork 810
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
Querier error returned as compressed binary data #938
Comments
This issue started after 6024681. @tomwilkie Perhaps this was introduced in #910 as it was the next build to release a new querier image? |
I'm not sure what fixed this, but it seems to no longer happen on the latest releases! |
Turns out we didn't test what we thought we had tested! |
Can confirm this is still an issue on the latest image |
It's working on
|
@leth gave me a tip which revealed what the corruption is - the code generating the error message is writing to a @tomwilkie does that raise any thoughts as to how we should avoid this? |
Can I look tomorrow? In Amsterdam for monitorama....
…On Wed, 5 Sep 2018 at 19:17, Bryan Boreham ***@***.***> wrote:
@leth <https://github.com/leth> gave me a tip which revealed what the
corruption is - the code generating the error message is writing to a
compressedResponseWriter, while ErrorFromHTTPResponse which pulls it out
into gRPC is assuming it can use those bytes directly.
@tomwilkie <https://github.com/tomwilkie> does that raise any thoughts as
to how we should avoid this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#938 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAbGhQOOIIRSdQ1LQmABFHvAbESwseL2ks5uYAcQgaJpZM4WD0aS>
.
|
So this was actually caused by #898 not #910, and the reason I was looking at the wrong commit is that a unit test failed on the merge for #910 https://circleci.com/gh/weaveworks/cortex/2700 |
@tomwilkie yeah it can wait. Maybe I'll just delete httpgrpc 😉 |
Meh, what did httpgrpc ever do for us?
…On Wed, 5 Sep 2018 at 19:34, Bryan Boreham ***@***.***> wrote:
@tomwilkie <https://github.com/tomwilkie> yeah it can wait. Maybe I'll
just delete httpgrpc 😉
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#938 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAbGhaB49dUzsWw4s4EL4xEAH1rt44Maks5uYAsqgaJpZM4WD0aS>
.
|
One approach would be to inspect the content-encoding of the response buffer and decompress if necessary. Seems like a lot of work. |
I don't see how - would you mind explaining? AFAICT the Prometheus API Register has always compressed results. I don't see how it ever worked... |
Not sure - everything should roundtrip. If we return a non-200 compressed response from the querier, it gets propagated as a grpc error from querier -> authfe, then converted back to a http response and written (compression header and all) back to the client. |
I haven't identified a specific code change, but we can make the issue come and go by switching to those querier versions noted above. Even if round-trip was working, we'd still have a smaller problem that the error message is dumped into the OpenTracing span. |
I wonder if this relates to #780 which is also about corruption of response data. |
One difference between Cortex does send back storage errors, so we should avoid that in cases like Checking into where it breaks, I confirmed it returns 500s, but readable, |
Problems went away eventually after updating everything to the latest version after protobuf changes. |
If I run a certain query in graph mode, I am told:
Error: rpc error: code = Code(413) desc = exceeded maximum number of samples in a query (100000)
If I run the same query in table mode, instead I am told:
Server error (rpc error: code = Code(500) desc = ����������4�M �0�����V-���*ЕW��1��B��{ ��w��g3�<Śo�� U�����^)N�ܨٯ�-N��|�!�H̸���<�FDZ�n���H~[RO�=ݨ(w�Ou�a��xt�a:~��������������+W����� )
The text was updated successfully, but these errors were encountered: