Skip to content

Commit cadf00f

Browse files
authored
Extend block finder get blocks interface with matchers (#6962)
* extend block finder get blocks interface with matchers Signed-off-by: yeya24 <[email protected]> * fix build Signed-off-by: yeya24 <[email protected]> * fix tests Signed-off-by: yeya24 <[email protected]> --------- Signed-off-by: yeya24 <[email protected]>
1 parent d9079f5 commit cadf00f

8 files changed

+55
-53
lines changed

pkg/querier/blocks_finder_bucket_index.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"github.com/oklog/ulid/v2"
99
"github.com/pkg/errors"
1010
"github.com/prometheus/client_golang/prometheus"
11+
"github.com/prometheus/prometheus/model/labels"
1112
"github.com/thanos-io/objstore"
1213

1314
"github.com/cortexproject/cortex/pkg/util/validation"
@@ -49,7 +50,7 @@ func NewBucketIndexBlocksFinder(cfg BucketIndexBlocksFinderConfig, bkt objstore.
4950
}
5051

5152
// GetBlocks implements BlocksFinder.
52-
func (f *BucketIndexBlocksFinder) GetBlocks(ctx context.Context, userID string, minT, maxT int64) (bucketindex.Blocks, map[ulid.ULID]*bucketindex.BlockDeletionMark, error) {
53+
func (f *BucketIndexBlocksFinder) GetBlocks(ctx context.Context, userID string, minT, maxT int64, _ []*labels.Matcher) (bucketindex.Blocks, map[ulid.ULID]*bucketindex.BlockDeletionMark, error) {
5354
if f.State() != services.Running {
5455
return nil, nil, errBucketIndexBlocksFinderNotRunning
5556
}

pkg/querier/blocks_finder_bucket_index_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ func TestBucketIndexBlocksFinder_GetBlocks(t *testing.T) {
125125
t.Run(testName, func(t *testing.T) {
126126
t.Parallel()
127127

128-
blocks, deletionMarks, err := finder.GetBlocks(ctx, userID, testData.minT, testData.maxT)
128+
blocks, deletionMarks, err := finder.GetBlocks(ctx, userID, testData.minT, testData.maxT, nil)
129129
require.NoError(t, err)
130130
require.ElementsMatch(t, testData.expectedBlocks, blocks)
131131
require.Equal(t, testData.expectedMarks, deletionMarks)
@@ -165,7 +165,7 @@ func BenchmarkBucketIndexBlocksFinder_GetBlocks(b *testing.B) {
165165
b.ResetTimer()
166166

167167
for n := 0; n < b.N; n++ {
168-
blocks, marks, err := finder.GetBlocks(ctx, userID, 100, 200)
168+
blocks, marks, err := finder.GetBlocks(ctx, userID, 100, 200, nil)
169169
if err != nil || len(blocks) != 11 || len(marks) != 11 {
170170
b.Fail()
171171
}
@@ -181,7 +181,7 @@ func TestBucketIndexBlocksFinder_GetBlocks_BucketIndexDoesNotExist(t *testing.T)
181181
bkt, _ := cortex_testutil.PrepareFilesystemBucket(t)
182182
finder := prepareBucketIndexBlocksFinder(t, bkt)
183183

184-
blocks, deletionMarks, err := finder.GetBlocks(ctx, userID, 10, 20)
184+
blocks, deletionMarks, err := finder.GetBlocks(ctx, userID, 10, 20, nil)
185185
require.NoError(t, err)
186186
assert.Empty(t, blocks)
187187
assert.Empty(t, deletionMarks)
@@ -199,7 +199,7 @@ func TestBucketIndexBlocksFinder_GetBlocks_BucketIndexIsCorrupted(t *testing.T)
199199
// Upload a corrupted bucket index.
200200
require.NoError(t, bkt.Upload(ctx, path.Join(userID, bucketindex.IndexCompressedFilename), strings.NewReader("invalid}!")))
201201

202-
_, _, err := finder.GetBlocks(ctx, userID, 10, 20)
202+
_, _, err := finder.GetBlocks(ctx, userID, 10, 20, nil)
203203
require.Equal(t, bucketindex.ErrIndexCorrupted, err)
204204
}
205205

@@ -219,7 +219,7 @@ func TestBucketIndexBlocksFinder_GetBlocks_BucketIndexIsTooOld(t *testing.T) {
219219
UpdatedAt: time.Now().Add(-2 * time.Hour).Unix(),
220220
}))
221221

222-
_, _, err := finder.GetBlocks(ctx, userID, 10, 20)
222+
_, _, err := finder.GetBlocks(ctx, userID, 10, 20, nil)
223223
require.Equal(t, errBucketIndexTooOld, err)
224224
}
225225

@@ -270,10 +270,10 @@ func TestBucketIndexBlocksFinder_GetBlocks_BucketIndexIsTooOldWithCustomerKeyErr
270270
t.Run(name, func(t *testing.T) {
271271
bucketindex.WriteSyncStatus(ctx, bkt, userID, tc.ss, log.NewNopLogger())
272272
finder := prepareBucketIndexBlocksFinder(t, bkt)
273-
_, _, err := finder.GetBlocks(ctx, userID, 10, 20)
273+
_, _, err := finder.GetBlocks(ctx, userID, 10, 20, nil)
274274
require.Equal(t, tc.err, err)
275275
// Doing 2 times to return from the cache
276-
_, _, err = finder.GetBlocks(ctx, userID, 10, 20)
276+
_, _, err = finder.GetBlocks(ctx, userID, 10, 20, nil)
277277
require.Equal(t, tc.err, err)
278278
})
279279
}
@@ -315,7 +315,7 @@ func TestBucketIndexBlocksFinder_GetBlocks_KeyPermissionDenied(t *testing.T) {
315315

316316
finder := prepareBucketIndexBlocksFinder(t, bkt)
317317

318-
_, _, err := finder.GetBlocks(context.Background(), userID, 0, 100)
318+
_, _, err := finder.GetBlocks(context.Background(), userID, 0, 100, nil)
319319
expected := validation.AccessDeniedError("error")
320320
require.IsType(t, expected, err)
321321
}

pkg/querier/blocks_finder_bucket_scan.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import (
1515
"github.com/pkg/errors"
1616
"github.com/prometheus/client_golang/prometheus"
1717
"github.com/prometheus/client_golang/prometheus/promauto"
18+
"github.com/prometheus/prometheus/model/labels"
1819
tsdb_errors "github.com/prometheus/prometheus/tsdb/errors"
1920
"github.com/thanos-io/objstore"
2021
"github.com/thanos-io/thanos/pkg/block"
@@ -111,7 +112,7 @@ func NewBucketScanBlocksFinder(cfg BucketScanBlocksFinderConfig, usersScanner us
111112

112113
// GetBlocks returns known blocks for userID containing samples within the range minT
113114
// and maxT (milliseconds, both included). Returned blocks are sorted by MaxTime descending.
114-
func (d *BucketScanBlocksFinder) GetBlocks(_ context.Context, userID string, minT, maxT int64) (bucketindex.Blocks, map[ulid.ULID]*bucketindex.BlockDeletionMark, error) {
115+
func (d *BucketScanBlocksFinder) GetBlocks(_ context.Context, userID string, minT, maxT int64, _ []*labels.Matcher) (bucketindex.Blocks, map[ulid.ULID]*bucketindex.BlockDeletionMark, error) {
115116
// We need to ensure the initial full bucket scan succeeded.
116117
if d.State() != services.Running {
117118
return nil, nil, errBucketScanBlocksFinderNotRunning

pkg/querier/blocks_finder_bucket_scan_test.go

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ func TestBucketScanBlocksFinder_InitialScan(t *testing.T) {
3939

4040
require.NoError(t, services.StartAndAwaitRunning(ctx, s))
4141

42-
blocks, deletionMarks, err := s.GetBlocks(ctx, "user-1", 0, 30)
42+
blocks, deletionMarks, err := s.GetBlocks(ctx, "user-1", 0, 30, nil)
4343
require.NoError(t, err)
4444
require.Equal(t, 2, len(blocks))
4545
assert.Equal(t, user1Block2.ULID, blocks[0].ID)
@@ -48,7 +48,7 @@ func TestBucketScanBlocksFinder_InitialScan(t *testing.T) {
4848
assert.WithinDuration(t, time.Now(), blocks[1].GetUploadedAt(), 5*time.Second)
4949
assert.Empty(t, deletionMarks)
5050

51-
blocks, deletionMarks, err = s.GetBlocks(ctx, "user-2", 0, 30)
51+
blocks, deletionMarks, err = s.GetBlocks(ctx, "user-2", 0, 30, nil)
5252
require.NoError(t, err)
5353
require.Equal(t, 1, len(blocks))
5454
assert.Equal(t, user2Block1.ULID, blocks[0].ID)
@@ -110,7 +110,7 @@ func TestBucketScanBlocksFinder_InitialScanFailure(t *testing.T) {
110110
require.NoError(t, s.StartAsync(ctx))
111111
require.Error(t, s.AwaitRunning(ctx))
112112

113-
blocks, deletionMarks, err := s.GetBlocks(ctx, "user-1", 0, 30)
113+
blocks, deletionMarks, err := s.GetBlocks(ctx, "user-1", 0, 30, nil)
114114
assert.Equal(t, errBucketScanBlocksFinderNotRunning, err)
115115
assert.Nil(t, blocks)
116116
assert.Nil(t, deletionMarks)
@@ -233,7 +233,7 @@ func TestBucketScanBlocksFinder_PeriodicScanFindsNewUser(t *testing.T) {
233233

234234
require.NoError(t, services.StartAndAwaitRunning(ctx, s))
235235

236-
blocks, deletionMarks, err := s.GetBlocks(ctx, "user-1", 0, 30)
236+
blocks, deletionMarks, err := s.GetBlocks(ctx, "user-1", 0, 30, nil)
237237
require.NoError(t, err)
238238
require.Equal(t, 0, len(blocks))
239239
assert.Empty(t, deletionMarks)
@@ -245,7 +245,7 @@ func TestBucketScanBlocksFinder_PeriodicScanFindsNewUser(t *testing.T) {
245245
// Trigger a periodic sync
246246
require.NoError(t, s.scan(ctx))
247247

248-
blocks, deletionMarks, err = s.GetBlocks(ctx, "user-1", 0, 30)
248+
blocks, deletionMarks, err = s.GetBlocks(ctx, "user-1", 0, 30, nil)
249249
require.NoError(t, err)
250250
require.Equal(t, 2, len(blocks))
251251
assert.Equal(t, block2.ULID, blocks[0].ID)
@@ -266,7 +266,7 @@ func TestBucketScanBlocksFinder_PeriodicScanFindsNewBlock(t *testing.T) {
266266

267267
require.NoError(t, services.StartAndAwaitRunning(ctx, s))
268268

269-
blocks, deletionMarks, err := s.GetBlocks(ctx, "user-1", 0, 30)
269+
blocks, deletionMarks, err := s.GetBlocks(ctx, "user-1", 0, 30, nil)
270270
require.NoError(t, err)
271271
require.Equal(t, 1, len(blocks))
272272
assert.Equal(t, block1.ULID, blocks[0].ID)
@@ -278,7 +278,7 @@ func TestBucketScanBlocksFinder_PeriodicScanFindsNewBlock(t *testing.T) {
278278
// Trigger a periodic sync
279279
require.NoError(t, s.scan(ctx))
280280

281-
blocks, deletionMarks, err = s.GetBlocks(ctx, "user-1", 0, 30)
281+
blocks, deletionMarks, err = s.GetBlocks(ctx, "user-1", 0, 30, nil)
282282
require.NoError(t, err)
283283
require.Equal(t, 2, len(blocks))
284284
assert.Equal(t, block2.ULID, blocks[0].ID)
@@ -298,7 +298,7 @@ func TestBucketScanBlocksFinder_PeriodicScanFindsBlockMarkedForDeletion(t *testi
298298

299299
require.NoError(t, services.StartAndAwaitRunning(ctx, s))
300300

301-
blocks, deletionMarks, err := s.GetBlocks(ctx, "user-1", 0, 30)
301+
blocks, deletionMarks, err := s.GetBlocks(ctx, "user-1", 0, 30, nil)
302302
require.NoError(t, err)
303303
require.Equal(t, 2, len(blocks))
304304
assert.Equal(t, block2.ULID, blocks[0].ID)
@@ -310,7 +310,7 @@ func TestBucketScanBlocksFinder_PeriodicScanFindsBlockMarkedForDeletion(t *testi
310310
// Trigger a periodic sync
311311
require.NoError(t, s.scan(ctx))
312312

313-
blocks, deletionMarks, err = s.GetBlocks(ctx, "user-1", 0, 30)
313+
blocks, deletionMarks, err = s.GetBlocks(ctx, "user-1", 0, 30, nil)
314314
require.NoError(t, err)
315315
require.Equal(t, 2, len(blocks))
316316
assert.Equal(t, block2.ULID, blocks[0].ID)
@@ -330,7 +330,7 @@ func TestBucketScanBlocksFinder_PeriodicScanFindsDeletedBlock(t *testing.T) {
330330

331331
require.NoError(t, services.StartAndAwaitRunning(ctx, s))
332332

333-
blocks, deletionMarks, err := s.GetBlocks(ctx, "user-1", 0, 30)
333+
blocks, deletionMarks, err := s.GetBlocks(ctx, "user-1", 0, 30, nil)
334334
require.NoError(t, err)
335335
require.Equal(t, 2, len(blocks))
336336
assert.Equal(t, block2.ULID, blocks[0].ID)
@@ -342,7 +342,7 @@ func TestBucketScanBlocksFinder_PeriodicScanFindsDeletedBlock(t *testing.T) {
342342
// Trigger a periodic sync
343343
require.NoError(t, s.scan(ctx))
344344

345-
blocks, deletionMarks, err = s.GetBlocks(ctx, "user-1", 0, 30)
345+
blocks, deletionMarks, err = s.GetBlocks(ctx, "user-1", 0, 30, nil)
346346
require.NoError(t, err)
347347
require.Equal(t, 1, len(blocks))
348348
assert.Equal(t, block2.ULID, blocks[0].ID)
@@ -359,7 +359,7 @@ func TestBucketScanBlocksFinder_PeriodicScanFindsDeletedUser(t *testing.T) {
359359

360360
require.NoError(t, services.StartAndAwaitRunning(ctx, s))
361361

362-
blocks, deletionMarks, err := s.GetBlocks(ctx, "user-1", 0, 30)
362+
blocks, deletionMarks, err := s.GetBlocks(ctx, "user-1", 0, 30, nil)
363363
require.NoError(t, err)
364364
require.Equal(t, 2, len(blocks))
365365
assert.Equal(t, block2.ULID, blocks[0].ID)
@@ -371,7 +371,7 @@ func TestBucketScanBlocksFinder_PeriodicScanFindsDeletedUser(t *testing.T) {
371371
// Trigger a periodic sync
372372
require.NoError(t, s.scan(ctx))
373373

374-
blocks, deletionMarks, err = s.GetBlocks(ctx, "user-1", 0, 30)
374+
blocks, deletionMarks, err = s.GetBlocks(ctx, "user-1", 0, 30, nil)
375375
require.NoError(t, err)
376376
require.Equal(t, 0, len(blocks))
377377
assert.Empty(t, deletionMarks)
@@ -387,7 +387,7 @@ func TestBucketScanBlocksFinder_PeriodicScanFindsUserWhichWasPreviouslyDeleted(t
387387

388388
require.NoError(t, services.StartAndAwaitRunning(ctx, s))
389389

390-
blocks, deletionMarks, err := s.GetBlocks(ctx, "user-1", 0, 40)
390+
blocks, deletionMarks, err := s.GetBlocks(ctx, "user-1", 0, 40, nil)
391391
require.NoError(t, err)
392392
require.Equal(t, 2, len(blocks))
393393
assert.Equal(t, block2.ULID, blocks[0].ID)
@@ -399,7 +399,7 @@ func TestBucketScanBlocksFinder_PeriodicScanFindsUserWhichWasPreviouslyDeleted(t
399399
// Trigger a periodic sync
400400
require.NoError(t, s.scan(ctx))
401401

402-
blocks, deletionMarks, err = s.GetBlocks(ctx, "user-1", 0, 40)
402+
blocks, deletionMarks, err = s.GetBlocks(ctx, "user-1", 0, 40, nil)
403403
require.NoError(t, err)
404404
require.Equal(t, 0, len(blocks))
405405
assert.Empty(t, deletionMarks)
@@ -409,7 +409,7 @@ func TestBucketScanBlocksFinder_PeriodicScanFindsUserWhichWasPreviouslyDeleted(t
409409
// Trigger a periodic sync
410410
require.NoError(t, s.scan(ctx))
411411

412-
blocks, deletionMarks, err = s.GetBlocks(ctx, "user-1", 0, 40)
412+
blocks, deletionMarks, err = s.GetBlocks(ctx, "user-1", 0, 40, nil)
413413
require.NoError(t, err)
414414
require.Equal(t, 1, len(blocks))
415415
assert.Equal(t, block3.ULID, blocks[0].ID)
@@ -506,7 +506,7 @@ func TestBucketScanBlocksFinder_GetBlocks(t *testing.T) {
506506
t.Run(testName, func(t *testing.T) {
507507
t.Parallel()
508508

509-
metas, deletionMarks, err := s.GetBlocks(ctx, "user-1", testData.minT, testData.maxT)
509+
metas, deletionMarks, err := s.GetBlocks(ctx, "user-1", testData.minT, testData.maxT, nil)
510510
require.NoError(t, err)
511511
require.Equal(t, len(testData.expectedMetas), len(metas))
512512
require.Equal(t, testData.expectedMarks, deletionMarks)

pkg/querier/blocks_store_queryable.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ type BlocksFinder interface {
8686

8787
// GetBlocks returns known blocks for userID containing samples within the range minT
8888
// and maxT (milliseconds, both included). Returned blocks are sorted by MaxTime descending.
89-
GetBlocks(ctx context.Context, userID string, minT, maxT int64) (bucketindex.Blocks, map[ulid.ULID]*bucketindex.BlockDeletionMark, error)
89+
GetBlocks(ctx context.Context, userID string, minT, maxT int64, matchers []*labels.Matcher) (bucketindex.Blocks, map[ulid.ULID]*bucketindex.BlockDeletionMark, error)
9090
}
9191

9292
// BlocksStoreClient is the interface that should be implemented by any client used
@@ -373,7 +373,7 @@ func (q *blocksStoreQuerier) LabelNames(ctx context.Context, hints *storage.Labe
373373
return queriedBlocks, nil, retryableError
374374
}
375375

376-
if err := q.queryWithConsistencyCheck(spanCtx, spanLog, minT, maxT, userID, queryFunc); err != nil {
376+
if err := q.queryWithConsistencyCheck(spanCtx, spanLog, minT, maxT, matchers, userID, queryFunc); err != nil {
377377
return nil, nil, err
378378
}
379379

@@ -416,7 +416,7 @@ func (q *blocksStoreQuerier) LabelValues(ctx context.Context, name string, hints
416416
return queriedBlocks, nil, retryableError
417417
}
418418

419-
if err := q.queryWithConsistencyCheck(spanCtx, spanLog, minT, maxT, userID, queryFunc); err != nil {
419+
if err := q.queryWithConsistencyCheck(spanCtx, spanLog, minT, maxT, matchers, userID, queryFunc); err != nil {
420420
return nil, nil, err
421421
}
422422

@@ -472,7 +472,7 @@ func (q *blocksStoreQuerier) selectSorted(ctx context.Context, sp *storage.Selec
472472
return queriedBlocks, nil, retryableError
473473
}
474474

475-
if err := q.queryWithConsistencyCheck(spanCtx, spanLog, minT, maxT, userID, queryFunc); err != nil {
475+
if err := q.queryWithConsistencyCheck(spanCtx, spanLog, minT, maxT, matchers, userID, queryFunc); err != nil {
476476
return storage.ErrSeriesSet(err)
477477
}
478478

@@ -485,8 +485,8 @@ func (q *blocksStoreQuerier) selectSorted(ctx context.Context, sp *storage.Selec
485485
resWarnings)
486486
}
487487

488-
func (q *blocksStoreQuerier) queryWithConsistencyCheck(ctx context.Context, logger log.Logger, minT, maxT int64, userID string,
489-
queryFunc func(clients map[BlocksStoreClient][]ulid.ULID, minT, maxT int64) ([]ulid.ULID, error, error)) error {
488+
func (q *blocksStoreQuerier) queryWithConsistencyCheck(ctx context.Context, logger log.Logger, minT, maxT int64, matchers []*labels.Matcher,
489+
userID string, queryFunc func(clients map[BlocksStoreClient][]ulid.ULID, minT, maxT int64) ([]ulid.ULID, error, error)) error {
490490
// If queryStoreAfter is enabled, we do manipulate the query maxt to query samples up until
491491
// now - queryStoreAfter, because the most recent time range is covered by ingesters. This
492492
// optimization is particularly important for the blocks storage because can be used to skip
@@ -508,7 +508,7 @@ func (q *blocksStoreQuerier) queryWithConsistencyCheck(ctx context.Context, logg
508508
}
509509

510510
// Find the list of blocks we need to query given the time range.
511-
knownBlocks, knownDeletionMarks, err := q.finder.GetBlocks(ctx, userID, minT, maxT)
511+
knownBlocks, knownDeletionMarks, err := q.finder.GetBlocks(ctx, userID, minT, maxT, matchers)
512512

513513
// if blocks were already discovered, we should use then
514514
if b, ok := ExtractBlocksFromContext(ctx); ok {

pkg/querier/blocks_store_queryable_test.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1568,7 +1568,7 @@ func TestBlocksStoreQuerier_Select(t *testing.T) {
15681568
reg := prometheus.NewPedanticRegistry()
15691569
stores := &blocksStoreSetMock{mockedResponses: testData.storeSetResponses}
15701570
finder := &blocksFinderMock{}
1571-
finder.On("GetBlocks", mock.Anything, "user-1", minT, maxT).Return(testData.finderResult, map[ulid.ULID]*bucketindex.BlockDeletionMark(nil), testData.finderErr)
1571+
finder.On("GetBlocks", mock.Anything, "user-1", minT, maxT, mock.Anything).Return(testData.finderResult, map[ulid.ULID]*bucketindex.BlockDeletionMark(nil), testData.finderErr)
15721572

15731573
q := &blocksStoreQuerier{
15741574
minT: minT,
@@ -1664,7 +1664,7 @@ func TestOverrideBlockDiscovery(t *testing.T) {
16641664
}
16651665
finder := &blocksFinderMock{}
16661666
// return block 1 and 2 on finder but only query block 1
1667-
finder.On("GetBlocks", mock.Anything, "user-1", minT, maxT).Return(bucketindex.Blocks{
1667+
finder.On("GetBlocks", mock.Anything, "user-1", minT, maxT, mock.Anything).Return(bucketindex.Blocks{
16681668
&bucketindex.Block{ID: block1},
16691669
&bucketindex.Block{ID: block2},
16701670
}, map[ulid.ULID]*bucketindex.BlockDeletionMark(nil), nil)
@@ -2213,7 +2213,7 @@ func TestBlocksStoreQuerier_Labels(t *testing.T) {
22132213
reg := prometheus.NewPedanticRegistry()
22142214
stores := &blocksStoreSetMock{mockedResponses: testData.storeSetResponses}
22152215
finder := &blocksFinderMock{}
2216-
finder.On("GetBlocks", mock.Anything, "user-1", minT, maxT).Return(testData.finderResult, map[ulid.ULID]*bucketindex.BlockDeletionMark(nil), testData.finderErr)
2216+
finder.On("GetBlocks", mock.Anything, "user-1", minT, maxT, mock.Anything).Return(testData.finderResult, map[ulid.ULID]*bucketindex.BlockDeletionMark(nil), testData.finderErr)
22172217

22182218
q := &blocksStoreQuerier{
22192219
minT: minT,
@@ -2321,7 +2321,7 @@ func TestBlocksStoreQuerier_SelectSortedShouldHonorQueryStoreAfter(t *testing.T)
23212321

23222322
ctx := user.InjectOrgID(context.Background(), "user-1")
23232323
finder := &blocksFinderMock{}
2324-
finder.On("GetBlocks", mock.Anything, "user-1", mock.Anything, mock.Anything).Return(bucketindex.Blocks(nil), map[ulid.ULID]*bucketindex.BlockDeletionMark(nil), error(nil))
2324+
finder.On("GetBlocks", mock.Anything, "user-1", mock.Anything, mock.Anything, mock.Anything).Return(bucketindex.Blocks(nil), map[ulid.ULID]*bucketindex.BlockDeletionMark(nil), error(nil))
23252325

23262326
q := &blocksStoreQuerier{
23272327
minT: testData.queryMinT,
@@ -2385,7 +2385,7 @@ func TestBlocksStoreQuerier_PromQLExecution(t *testing.T) {
23852385
finder := &blocksFinderMock{
23862386
Service: services.NewIdleService(nil, nil),
23872387
}
2388-
finder.On("GetBlocks", mock.Anything, "user-1", mock.Anything, mock.Anything).Return(bucketindex.Blocks{
2388+
finder.On("GetBlocks", mock.Anything, "user-1", mock.Anything, mock.Anything, mock.Anything).Return(bucketindex.Blocks{
23892389
&bucketindex.Block{ID: block1},
23902390
&bucketindex.Block{ID: block2},
23912391
}, map[ulid.ULID]*bucketindex.BlockDeletionMark(nil), error(nil))
@@ -2535,8 +2535,8 @@ type blocksFinderMock struct {
25352535
mock.Mock
25362536
}
25372537

2538-
func (m *blocksFinderMock) GetBlocks(ctx context.Context, userID string, minT, maxT int64) (bucketindex.Blocks, map[ulid.ULID]*bucketindex.BlockDeletionMark, error) {
2539-
args := m.Called(ctx, userID, minT, maxT)
2538+
func (m *blocksFinderMock) GetBlocks(ctx context.Context, userID string, minT, maxT int64, matchers []*labels.Matcher) (bucketindex.Blocks, map[ulid.ULID]*bucketindex.BlockDeletionMark, error) {
2539+
args := m.Called(ctx, userID, minT, maxT, matchers)
25402540
return args.Get(0).(bucketindex.Blocks), args.Get(1).(map[ulid.ULID]*bucketindex.BlockDeletionMark), args.Error(2)
25412541
}
25422542

0 commit comments

Comments
 (0)