Skip to content

Conversation

@dgur-outbrain
Copy link

@dgur-outbrain dgur-outbrain commented Jul 14, 2025

  • I added CHANGELOG entry for this change.
  • Change is not relevant to the end user.

Changes

Verification

The jira ticket 0.38.0_fork does not exist

MichaHoffmann and others added 4 commits March 25, 2025 13:41
* 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]>
Copilot AI review requested due to automatic review settings July 14, 2025 17:09
@devx-app devx-app bot changed the title 0.38.0 fork 0.38.0_fork-0.38.0 fork Jul 14, 2025
@dgur-outbrain dgur-outbrain requested a review from syegournov July 14, 2025 17:09
Copy link

Copilot AI left a 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-queries with request IDs and logging in QueryAPI
  • Add --wait-interval flag 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/amd64 may prevent multi-architecture images. Consider supporting other platforms or removing the --platform flag.
	@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())
Copy link

Copilot AI Jul 14, 2025

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.

Suggested change
qs = stats.NewQueryStats(qry.Stats())
if r.FormValue(Stats) != "" {
qs = stats.NewQueryStats(qry.Stats())
}

Copilot uses AI. Check for mistakes.
@dgur-outbrain dgur-outbrain enabled auto-merge July 14, 2025 17:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants