-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Max and min pointed at Sidecars not working on 0.35 #7368
Comments
Hey, can you please share your configuration of the related components? Something is odd ~ thanos sidecars usually dont issue range queries. |
@MichaHoffmann Just want to highlight on this that 0.34 with the same exact config doesn't have this problem. Here's what I'm supplying to the various components. Query:
Query Frontend:
Store:
Let me know if this sufficient, or there's more config you'd like to see. Thanks! |
Can you also please share the configuration of the sidecar that is logging the error? |
Sidecar:
|
The thing that is really weird to me is that the only thing that really runs that code (QueryRange from promclient.go) is the thanos ruler but the log statement you passed indicates that its from a container named "thanos-sidecar". Do you by chance run a ruler too? |
Could it be that some sidecars are on a version pre 0.34.0 ? And use the queryPushdown feature? We removed all raw promql queries from sidecars in f29b338 |
@MichaHoffmann No, all Thanos sidecars are version 0.34.1:
Also, we don't use Thanos Ruler. or at least, we don't have a Thanos Ruler deployment running, or intend to. The Thanos sidecars on the remote clusters are configured in the Prometheus Operator. |
Sorry, it changes nothing but just to correct myself: that change was released in 0.34.1. The only way I could understand this is if you would run a sidecar with version before 0.34.1. Something is pretty weird here; can you spot check the Thanos version of that sidecar that logs that line maybe just to be extra sure? |
|
I mean can you run something like "Thanos --version" inside the container? |
Certainly:
|
Hi guys! |
@pvlltvk does it work again if you upgrade sidecars? |
@MichaHoffmann Yes, I can confirm that with after sidecar upgrade to 0.35.0 it works again |
Awesome, thanks for confirming |
Thanos, Prometheus and Golang version used: docker.io/bitnami/thanos:0.35.0-debian-12-r4, sidecar version v0.34.1, prometheus version v2.50.1
Object Storage Provider: Azure
What happened:
Using Thanos Query, I can no longer use max() or min() operators and have it work with my sidecars. This is because the query going from Query -> Sidecar has fundamentally changed. For instance, when I run:
It yields this query on the sidecar:
This is new behavior. Using Thanos version 0.34, this log doesn't even appear. This logged query ^ will not load anything on the Sidecar because it has no "cluster" labels in there, that's added in transit.
This seems to happen with range queries like max() and min(). It doesn't happen with avg() or sum().
What you expected to happen:
Query can reach Sidecar, and just like versions past, it can load recent data from it and aggregate using max() or min().
How to reproduce it (as minimally and precisely as possible):
Use the versions above. Ship Prometheus data using a sidecar every 2hrs. Use external labels like cluster when shipping the data out. Notice the most recent 2hr data is missing when running a max() query, but data from object storage still loads.
Full logs to relevant components: The interesting log is shared above.
Anything else we need to know:
The text was updated successfully, but these errors were encountered: