-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Upgrade to v2.28.1 - > v2.29.0 An error was reported #5862
Comments
Hmm, maybe something related to #5296. Do you know how we could reproduce this? 🤔 Also, do you see all expected StoreAPI nodes in the Stores page? |
Do not check the specific problem and error, directly roll back the version, Looking forward to repair The new 'thanos_frontend_sharding_middleware_queries_total' metrics added to query-fe was not found |
I upgrade 0.29.0.rc early and not found problem, I mainly use sidecar mode, so just upgrade sidecar, querier, query-frontend, not include receiver. today when i upgrade receiver, the 'No StoreAPIs matched for this query' problem occured. it only error when query the tenant which use receive mode with thanos-query, query other tenant is work ok, query via thanos-query-frontend is work ok. the receive print this logs
I think the PR #4886 may be relevant. |
I notice the prometheus code minTime is math.MaxInt64 but in thanos multi tsdb code it is math.MinInt64, so the query is filtered out unexpectedly? Lines 115 to 116 in ef3a331
|
Hey @hanjm, it's possible, although I cannot see how this breaks the time range filtering |
@BigbigY do you use Thanos Receive? |
@matej-g
the receiver may exposed multi tenant label info, but only one time range info. Lines 218 to 236 in ef3a331
when query receiver in querier, it will be not filtered out.
when request arrived the receiver, it will filtered out.
then the receiver return a Abort error. |
I think the receiver should not return abort error event if no client matched in multi-tsdb, right? |
Sounds like a valid bug. Help wanted |
We are seeing this and are not using Thanos Receive. |
Thanos Receive has not been upgraded |
It looks like then this might be because of changes in query? Either way thanks @hanjm for the report, I'll try to take a look whether I can reproduce / fix this. |
Hey @hanjm , thanks for the pointers, I did not try to reproduce it, just went through the code (although it should not be too hard to create a test case if my thinking is correct) and I think you're right, but it's not only because of time range. I believe the filtering in the downstream proxy store (in receiver) works correctly - because for one store we cannot match labels (different tenant) and for the other store we cannot match time range, it correctly returns that no stores were found. The problem seems to be that the upstream proxy store (in querier) does not have enough information to filter out this downstream proxy store. Since when the downstream store returns info to upstream store, it reports labels and time range for both stores (combined) - the upstream store therefore cannot filter it out. However, once we hit the downstream proxy, we find that in fact neither one of the two stores match and we go to no matching store error and this is what we see in the upstream proxy store (https://github.com/thanos-io/thanos/blob/main/pkg/store/proxy.go#L322). I'm not sure how this worked before #5296 and if this could have changed, but does this make sense @hanjm @GiedriusS? |
This was also brought to us by @SuperQ at Community Hours. Generally, the problem that Ben is having is that when multiple Queries are chained, no Store matched situation might be not an error. It's was done as error for easy debugging on configuration error, but not it is impacting correct queries. Sounds like #5937 is the solution, we will take a look, thanks! |
In #5937, I wonder if we need to get that fancy with a control flag. |
It's normal and not an error if a query does not match due to no downstream stores. This is common when querying with external labels and tiered query servers. This bug was introduced in thanos-io#5296 Fixes: thanos-io#5862 Signed-off-by: SuperQ <[email protected]>
It's normal and not an error if a query does not match due to no downstream stores. This is common when querying with external labels and tiered query servers. This bug was introduced in thanos-io#5296 Fixes: thanos-io#5862 Signed-off-by: SuperQ <[email protected]>
It's normal and not an error if a query does not match due to no downstream stores. This is common when querying with external labels and tiered query servers. This bug was introduced in thanos-io#5296 Fixes: thanos-io#5862 Signed-off-by: SuperQ <[email protected]>
It's normal and not an error if a query does not match due to no downstream stores. This is common when querying with external labels and tiered query servers. This bug was introduced in thanos-io#5296 Fixes: thanos-io#5862 Signed-off-by: SuperQ <[email protected]>
It's normal and not an error if a query does not match due to no downstream stores. This is common when querying with external labels and tiered query servers. This bug was introduced in thanos-io#5296 Fixes: thanos-io#5862 Signed-off-by: SuperQ <[email protected]>
It's normal and not an error if a query does not match due to no downstream stores. This is common when querying with external labels and tiered query servers. This bug was introduced in thanos-io#5296 Fixes: thanos-io#5862 Signed-off-by: SuperQ <[email protected]>
It's normal and not an error if a query does not match due to no downstream stores. This is common when querying with external labels and tiered query servers. This bug was introduced in thanos-io#5296 Fixes: thanos-io#5862 Signed-off-by: SuperQ <[email protected]>
It's normal and not an error if a query does not match due to no downstream stores. This is common when querying with external labels and tiered query servers. This bug was introduced in #5296 Fixes: #5862 Signed-off-by: SuperQ <[email protected]>
It's normal and not an error if a query does not match due to no downstream stores. This is common when querying with external labels and tiered query servers. This bug was introduced in thanos-io#5296 Fixes: thanos-io#5862 Signed-off-by: SuperQ <[email protected]>
It's normal and not an error if a query does not match due to no downstream stores. This is common when querying with external labels and tiered query servers. This bug was introduced in thanos-io#5296 Fixes: thanos-io#5862 Signed-off-by: SuperQ <[email protected]>
Error message:
Symptom The same query generates an error after v2.29.0 is upgraded, and v2.28.1 is rolled back to recover the query
An error is as follows
![image](https://user-images.githubusercontent.com/16998173/199968046-dbe8e490-3c49-43fe-9db4-4b59692e8316.png)
The text was updated successfully, but these errors were encountered: