Skip to content

Commit bf8af36

Browse files
authored
Update Thanos (#6490)
Signed-off-by: alanprot <[email protected]>
1 parent 3b326c4 commit bf8af36

File tree

17 files changed

+133
-59
lines changed

17 files changed

+133
-59
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ require (
5252
github.com/stretchr/testify v1.10.0
5353
github.com/thanos-io/objstore v0.0.0-20241111205755-d1dd89d41f97
5454
github.com/thanos-io/promql-engine v0.0.0-20241217103156-9dbff30059cf
55-
github.com/thanos-io/thanos v0.37.3-0.20250106173420-0e95c464dd42
55+
github.com/thanos-io/thanos v0.37.3-0.20250107220537-0d426361672a
5656
github.com/uber/jaeger-client-go v2.30.0+incompatible
5757
github.com/weaveworks/common v0.0.0-20230728070032-dd9e68f319d5
5858
go.etcd.io/etcd/api/v3 v3.5.17

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1657,8 +1657,8 @@ github.com/thanos-io/objstore v0.0.0-20241111205755-d1dd89d41f97 h1:VjG0mwhN1Dkn
16571657
github.com/thanos-io/objstore v0.0.0-20241111205755-d1dd89d41f97/go.mod h1:vyzFrBXgP+fGNG2FopEGWOO/zrIuoy7zt3LpLeezRsw=
16581658
github.com/thanos-io/promql-engine v0.0.0-20241217103156-9dbff30059cf h1:JFh4PjC9yQidiFi4qMWbPddIgsLWPIsSEbXs75+tLxs=
16591659
github.com/thanos-io/promql-engine v0.0.0-20241217103156-9dbff30059cf/go.mod h1:wx0JlRZtsB2S10JYUgeg5GqLfMxw31SzArP+28yyE00=
1660-
github.com/thanos-io/thanos v0.37.3-0.20250106173420-0e95c464dd42 h1:UagJirP9rmR/m5ne4DyPZvAa+Yvkc5qiiPGl+jVVK9M=
1661-
github.com/thanos-io/thanos v0.37.3-0.20250106173420-0e95c464dd42/go.mod h1:VOu1neDpx4n/2OCQmfT/0RMU85UzhO35ce0S3Ew+NSk=
1660+
github.com/thanos-io/thanos v0.37.3-0.20250107220537-0d426361672a h1:VdOsK6zhseRVfpkOxCJ3b2MKhuP1sBjTnC7Bib7DLws=
1661+
github.com/thanos-io/thanos v0.37.3-0.20250107220537-0d426361672a/go.mod h1:VOu1neDpx4n/2OCQmfT/0RMU85UzhO35ce0S3Ew+NSk=
16621662
github.com/tjhop/slog-gokit v0.1.2 h1:pmQI4SvU9h4gA0vIQsdhJQSqQg4mOmsPykG2/PM3j1I=
16631663
github.com/tjhop/slog-gokit v0.1.2/go.mod h1:8fhlcp8C8ELbg3GCyKv06tgt4B5sDq2P1r2DQAu1HuM=
16641664
github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM=

pkg/distributor/distributor_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3375,7 +3375,7 @@ func (i *mockIngester) Query(ctx context.Context, req *client.QueryRequest, opts
33753375
return nil, errFail
33763376
}
33773377

3378-
_, _, matchers, err := client.FromQueryRequest(storecache.NewNoopMatcherCache(), req)
3378+
_, _, matchers, err := client.FromQueryRequest(storecache.NoopMatchersCache, req)
33793379
if err != nil {
33803380
return nil, err
33813381
}
@@ -3401,7 +3401,7 @@ func (i *mockIngester) QueryStream(ctx context.Context, req *client.QueryRequest
34013401
return nil, errFail
34023402
}
34033403

3404-
_, _, matchers, err := client.FromQueryRequest(storecache.NewNoopMatcherCache(), req)
3404+
_, _, matchers, err := client.FromQueryRequest(storecache.NoopMatchersCache, req)
34053405
if err != nil {
34063406
return nil, err
34073407
}
@@ -3460,7 +3460,7 @@ func (i *mockIngester) MetricsForLabelMatchersStream(ctx context.Context, req *c
34603460
return nil, errFail
34613461
}
34623462

3463-
_, _, _, multiMatchers, err := client.FromMetricsForLabelMatchersRequest(storecache.NewNoopMatcherCache(), req)
3463+
_, _, _, multiMatchers, err := client.FromMetricsForLabelMatchersRequest(storecache.NoopMatchersCache, req)
34643464
if err != nil {
34653465
return nil, err
34663466
}
@@ -3492,7 +3492,7 @@ func (i *mockIngester) MetricsForLabelMatchers(ctx context.Context, req *client.
34923492
return nil, errFail
34933493
}
34943494

3495-
_, _, _, multiMatchers, err := client.FromMetricsForLabelMatchersRequest(storecache.NewNoopMatcherCache(), req)
3495+
_, _, _, multiMatchers, err := client.FromMetricsForLabelMatchersRequest(storecache.NoopMatchersCache, req)
34963496
if err != nil {
34973497
return nil, err
34983498
}

pkg/ingester/client/compat.go

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -95,25 +95,6 @@ func MatrixFromSeriesSet(set storage.SeriesSet) (model.Matrix, error) {
9595
return m, set.Err()
9696
}
9797

98-
// ToQueryResponse builds a QueryResponse proto.
99-
func ToQueryResponse(matrix model.Matrix) *QueryResponse {
100-
resp := &QueryResponse{}
101-
for _, ss := range matrix {
102-
ts := cortexpb.TimeSeries{
103-
Labels: cortexpb.FromMetricsToLabelAdapters(ss.Metric),
104-
Samples: make([]cortexpb.Sample, 0, len(ss.Values)),
105-
}
106-
for _, s := range ss.Values {
107-
ts.Samples = append(ts.Samples, cortexpb.Sample{
108-
Value: float64(s.Value),
109-
TimestampMs: int64(s.Timestamp),
110-
})
111-
}
112-
resp.Timeseries = append(resp.Timeseries, ts)
113-
}
114-
return resp
115-
}
116-
11798
// ToMetricsForLabelMatchersRequest builds a MetricsForLabelMatchersRequest proto
11899
func ToMetricsForLabelMatchersRequest(from, to model.Time, limit int, matchers []*labels.Matcher) (*MetricsForLabelMatchersRequest, error) {
119100
ms, err := toLabelMatchers(matchers)
@@ -279,7 +260,7 @@ func toLabelMatchers(matchers []*labels.Matcher) ([]*LabelMatcher, error) {
279260
func FromLabelMatchers(cache storecache.MatchersCache, matchers []*LabelMatcher) ([]*labels.Matcher, error) {
280261
result := make([]*labels.Matcher, 0, len(matchers))
281262
for _, matcher := range matchers {
282-
m, err := cache.GetOrSet(matcher.String(), func() (*labels.Matcher, error) {
263+
m, err := cache.GetOrSet(matcher, func() (*labels.Matcher, error) {
283264
var mtype labels.MatchType
284265
switch matcher.Type {
285266
case EQUAL:

pkg/ingester/client/compat_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ func TestQueryRequest(t *testing.T) {
4242
t.Fatal(err)
4343
}
4444

45-
haveFrom, haveTo, haveMatchers, err := FromQueryRequest(storecache.NewNoopMatcherCache(), req)
45+
haveFrom, haveTo, haveMatchers, err := FromQueryRequest(storecache.NoopMatchersCache, req)
4646
if err != nil {
4747
t.Fatal(err)
4848
}

pkg/ingester/client/custom.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ package client
33
import (
44
"encoding/binary"
55

6+
"github.com/pkg/errors"
7+
"github.com/prometheus/prometheus/model/labels"
8+
69
"github.com/cortexproject/cortex/pkg/chunk/encoding"
710
)
811

@@ -45,3 +48,20 @@ func (m *QueryStreamResponse) SamplesCount() (count int) {
4548
}
4649
return
4750
}
51+
52+
func (m *LabelMatcher) MatcherType() (labels.MatchType, error) {
53+
var t labels.MatchType
54+
switch m.Type {
55+
case EQUAL:
56+
t = labels.MatchEqual
57+
case NOT_EQUAL:
58+
t = labels.MatchNotEqual
59+
case REGEX_MATCH:
60+
t = labels.MatchRegexp
61+
case REGEX_NO_MATCH:
62+
t = labels.MatchNotRegexp
63+
default:
64+
return 0, errors.Errorf("unrecognized label matcher type %d", m.Type)
65+
}
66+
return t, nil
67+
}

pkg/ingester/ingester.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -714,7 +714,7 @@ func New(cfg Config, limits *validation.Overrides, registerer prometheus.Registe
714714
logger: logger,
715715
ingestionRate: util_math.NewEWMARate(0.2, instanceIngestionRateTickInterval),
716716
expandedPostingsCacheFactory: cortex_tsdb.NewExpandedPostingsCacheFactory(cfg.BlocksStorageConfig.TSDB.PostingsCache),
717-
matchersCache: storecache.NewNoopMatcherCache(),
717+
matchersCache: storecache.NoopMatchersCache,
718718
}
719719

720720
if cfg.MatchersCacheMaxItems > 0 {

pkg/ingester/ingester_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ func TestMatcherCache(t *testing.T) {
152152
err = ing.QueryStream(&client.QueryRequest{
153153
StartTimestampMs: math.MinInt64,
154154
EndTimestampMs: math.MaxInt64,
155-
Matchers: []*client.LabelMatcher{{Type: client.EQUAL, Name: labels.MetricName, Value: fmt.Sprintf("%d", j)}},
155+
Matchers: []*client.LabelMatcher{{Type: client.REGEX_MATCH, Name: labels.MetricName, Value: fmt.Sprintf("%d", j)}},
156156
}, s)
157157
require.NoError(t, err)
158158
}
@@ -170,7 +170,7 @@ func TestMatcherCache(t *testing.T) {
170170
ingester_matchers_cache_items %v
171171
# HELP ingester_matchers_cache_max_items Maximum number of items that can be cached
172172
# TYPE ingester_matchers_cache_max_items gauge
173-
ingester_matchers_cache_max_items 0
173+
ingester_matchers_cache_max_items 50
174174
# HELP ingester_matchers_cache_requests_total Total number of cache requests for series matchers
175175
# TYPE ingester_matchers_cache_requests_total counter
176176
ingester_matchers_cache_requests_total %v

pkg/querier/remote_read.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ func RemoteReadHandler(q storage.Queryable, logger log.Logger) http.Handler {
3535
errors := make(chan error)
3636
for i, qr := range req.Queries {
3737
go func(i int, qr *client.QueryRequest) {
38-
from, to, matchers, err := client.FromQueryRequest(storecache.NewNoopMatcherCache(), qr)
38+
from, to, matchers, err := client.FromQueryRequest(storecache.NoopMatchersCache, qr)
3939
if err != nil {
4040
errors <- err
4141
return

vendor/github.com/thanos-io/thanos/pkg/store/bucket.go

Lines changed: 15 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/thanos-io/thanos/pkg/store/cache/matchers_cache.go

Lines changed: 60 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/thanos-io/thanos/pkg/store/local.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/thanos-io/thanos/pkg/store/prometheus.go

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)