-
Notifications
You must be signed in to change notification settings - Fork 0
0.38.0_fork-0.38.0 fork #1
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
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: Michael Hoffmann <[email protected]>
* Query: fix endpointset setup This commit fixes an issue where we add non-strict, non-group endpoints to the endpointset twice, once with resolved addresses from the dns provider and once with its dns prefix. Signed-off-by: Michael Hoffmann <[email protected]> * deps: bump promql-engine (thanos-io#8181) Signed-off-by: Michael Hoffmann <[email protected]> * Changelog: cut release 0.38-rc.1 Signed-off-by: Michael Hoffmann <[email protected]> --------- Signed-off-by: Michael Hoffmann <[email protected]>
Signed-off-by: Michael Hoffmann <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Update Thanos for the v0.38.0 release, simplify the e2e QuerierBuilder, introduce query logging, and align build, docs, and versioning.
- Add v0.38 permalink to Hugo config
- Simplify e2e tests and builder by removing per-address methods in favor of WithEndpoints
- Introduce
--query.log-querieswith request IDs and logging in QueryAPI - Add
--wait-intervalflag to bucket-replicate and underlying replicator, bump dependencies, and update version/docs
Reviewed Changes
Copilot reviewed 18 out of 19 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| website/hugo.yaml | Add v0.38 permalink entry |
| test/e2e/*.go | Remove deprecated With*Addresses in favor of WithEndpoints |
| test/e2e/e2ethanos/services.go | Drop per-address builder fields and methods |
| pkg/api/query/v1.go | Add enableQueryLogging, random IDs, and log calls |
| cmd/thanos/query.go | Register and pass --query.log-queries flag |
| pkg/replicate/replicator.go | Add waitInterval parameter to RunReplicate |
| cmd/thanos/tools_bucket.go | Register --wait-interval flag and pass through |
| cmd/thanos/endpointset.go | Change DNS-based endpoint resolution logic |
| Makefile & Dockerfile.multi-stage | Pin Docker build to linux/amd64, comment out non-root user |
| go.mod & VERSION | Bump dependencies, set version to 0.38.0 |
| CHANGELOG.md & docs/release-process.md | Update changelog entries and release shepherd table |
Comments suppressed due to low confidence (5)
CHANGELOG.md:21
- The Markdown link for v0.38.0 is broken and missing the opening parenthesis around the URL. It should use
## [v0.38.0](https://github.com/thanos-io/thanos/tree/release-0.38) - 03.04.2025.
## [v0.38.0] https://github.com/thanos-io/thanos/tree/release-0.38) - 03.04.2025
CHANGELOG.md:48
- Ensure the new changelog entry follows the same link syntax as others (e.g., include parentheses around the URL).
- [#8181](https://github.com/thanos-io/thanos/pull/8181) Deps: bump promql engine
Dockerfile.multi-stage:24
- Commenting out the non-root user setup causes the container to run as root, which poses a security risk. Consider re-enabling creation of a dedicated non-root user.
# RUN adduser \
cmd/thanos/endpointset.go:301
- This now includes strict dynamic endpoints even though they previously excluded
--strict. Consider preserving the strict check (&& !ecfg.Strict) to avoid changing behavior.
if addr := ecfg.Address; dns.IsDynamicNode(addr) && !ecfg.Group {
Makefile:210
- [nitpick] Locking the build to
linux/amd64may prevent multi-architecture images. Consider supporting other platforms or removing the--platformflag.
@docker build -f Dockerfile.multi-stage -t "thanos" --platform linux/amd64 --build-arg BASE_DOCKER_SHA=$(BASE_DOCKER_SHA) .
|
|
||
| // Optional stats field in response if parameter "stats" is not empty. | ||
| var qs stats.QueryStats | ||
| qs = stats.NewQueryStats(qry.Stats()) |
Copilot
AI
Jul 14, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Stats are computed on every request even when the stats parameter isn't set, adding unnecessary overhead. Move this inside the if r.FormValue(Stats) != "" guard.
| qs = stats.NewQueryStats(qry.Stats()) | |
| if r.FormValue(Stats) != "" { | |
| qs = stats.NewQueryStats(qry.Stats()) | |
| } |
Changes
Verification
The jira ticket 0.38.0_fork does not exist