@@ -25,6 +25,7 @@ import (
25
25
"github.com/cortexproject/cortex/pkg/storage/tsdb"
26
26
"github.com/cortexproject/cortex/pkg/storage/tsdb/bucketindex"
27
27
cortex_testutil "github.com/cortexproject/cortex/pkg/storage/tsdb/testutil"
28
+ "github.com/cortexproject/cortex/pkg/storage/tsdb/users"
28
29
"github.com/cortexproject/cortex/pkg/util"
29
30
util_log "github.com/cortexproject/cortex/pkg/util/log"
30
31
"github.com/cortexproject/cortex/pkg/util/services"
@@ -83,21 +84,25 @@ func TestBlockCleaner_KeyPermissionDenied(t *testing.T) {
83
84
}
84
85
85
86
logger := log .NewNopLogger ()
86
- scanner := tsdb .NewUsersScanner (mbucket , tsdb .AllUsers , logger )
87
+ reg := prometheus .NewRegistry ()
88
+ scanner , err := users .NewScanner (tsdb.UsersScannerConfig {
89
+ Strategy : tsdb .UserScanStrategyList ,
90
+ }, mbucket , logger , reg )
91
+ require .NoError (t , err )
87
92
cfgProvider := newMockConfigProvider ()
88
93
blocksMarkedForDeletion := prometheus .NewCounterVec (prometheus.CounterOpts {
89
94
Name : blocksMarkedForDeletionName ,
90
95
Help : blocksMarkedForDeletionHelp ,
91
96
}, append (commonLabels , reasonLabelName ))
92
97
dummyGaugeVec := prometheus .NewGaugeVec (prometheus.GaugeOpts {}, []string {"test" })
93
98
94
- cleaner := NewBlocksCleaner (cfg , mbucket , scanner , 60 * time .Second , cfgProvider , logger , "test-cleaner" , nil , time .Minute , 30 * time .Second , blocksMarkedForDeletion , dummyGaugeVec )
99
+ cleaner := NewBlocksCleaner (cfg , mbucket , scanner , 60 * time .Second , cfgProvider , logger , "test-cleaner" , reg , time .Minute , 30 * time .Second , blocksMarkedForDeletion , dummyGaugeVec )
95
100
96
101
// Clean User with no error
97
102
cleaner .bucketClient = bkt
98
103
userLogger := util_log .WithUserID (userID , cleaner .logger )
99
104
userBucket := bucket .NewUserBucketClient (userID , cleaner .bucketClient , cleaner .cfgProvider )
100
- err : = cleaner .cleanUser (ctx , userLogger , userBucket , userID , false )
105
+ err = cleaner .cleanUser (ctx , userLogger , userBucket , userID , false )
101
106
require .NoError (t , err )
102
107
s , err := bucketindex .ReadSyncStatus (ctx , bkt , userID , logger )
103
108
require .NoError (t , err )
@@ -196,7 +201,10 @@ func testBlocksCleanerWithOptions(t *testing.T, options testBlocksCleanerOptions
196
201
197
202
reg := prometheus .NewPedanticRegistry ()
198
203
logger := log .NewNopLogger ()
199
- scanner := tsdb .NewUsersScanner (bucketClient , tsdb .AllUsers , logger )
204
+ scanner , err := users .NewScanner (tsdb.UsersScannerConfig {
205
+ Strategy : tsdb .UserScanStrategyList ,
206
+ }, bucketClient , logger , reg )
207
+ require .NoError (t , err )
200
208
cfgProvider := newMockConfigProvider ()
201
209
blocksMarkedForDeletion := promauto .With (reg ).NewCounterVec (prometheus.CounterOpts {
202
210
Name : blocksMarkedForDeletionName ,
@@ -364,7 +372,11 @@ func TestBlocksCleaner_ShouldContinueOnBlockDeletionFailure(t *testing.T) {
364
372
}
365
373
366
374
logger := log .NewNopLogger ()
367
- scanner := tsdb .NewUsersScanner (bucketClient , tsdb .AllUsers , logger )
375
+ reg := prometheus .NewRegistry ()
376
+ scanner , err := users .NewScanner (tsdb.UsersScannerConfig {
377
+ Strategy : tsdb .UserScanStrategyList ,
378
+ }, bucketClient , logger , reg )
379
+ require .NoError (t , err )
368
380
cfgProvider := newMockConfigProvider ()
369
381
blocksMarkedForDeletion := prometheus .NewCounterVec (prometheus.CounterOpts {
370
382
Name : blocksMarkedForDeletionName ,
@@ -429,7 +441,11 @@ func TestBlocksCleaner_ShouldRebuildBucketIndexOnCorruptedOne(t *testing.T) {
429
441
}
430
442
431
443
logger := log .NewNopLogger ()
432
- scanner := tsdb .NewUsersScanner (bucketClient , tsdb .AllUsers , logger )
444
+ reg := prometheus .NewRegistry ()
445
+ scanner , err := users .NewScanner (tsdb.UsersScannerConfig {
446
+ Strategy : tsdb .UserScanStrategyList ,
447
+ }, bucketClient , logger , reg )
448
+ require .NoError (t , err )
433
449
cfgProvider := newMockConfigProvider ()
434
450
blocksMarkedForDeletion := prometheus .NewCounterVec (prometheus.CounterOpts {
435
451
Name : blocksMarkedForDeletionName ,
@@ -487,8 +503,11 @@ func TestBlocksCleaner_ShouldRemoveMetricsForTenantsNotBelongingAnymoreToTheShar
487
503
488
504
ctx := context .Background ()
489
505
logger := log .NewNopLogger ()
490
- reg := prometheus .NewPedanticRegistry ()
491
- scanner := tsdb .NewUsersScanner (bucketClient , tsdb .AllUsers , logger )
506
+ reg := prometheus .NewRegistry ()
507
+ scanner , err := users .NewScanner (tsdb.UsersScannerConfig {
508
+ Strategy : tsdb .UserScanStrategyList ,
509
+ }, bucketClient , logger , reg )
510
+ require .NoError (t , err )
492
511
cfgProvider := newMockConfigProvider ()
493
512
blocksMarkedForDeletion := promauto .With (reg ).NewCounterVec (prometheus.CounterOpts {
494
513
Name : blocksMarkedForDeletionName ,
@@ -522,7 +541,11 @@ func TestBlocksCleaner_ShouldRemoveMetricsForTenantsNotBelongingAnymoreToTheShar
522
541
))
523
542
524
543
// Override the users scanner to reconfigure it to only return a subset of users.
525
- cleaner .usersScanner = tsdb .NewUsersScanner (bucketClient , func (userID string ) (bool , error ) { return userID == "user-1" , nil }, logger )
544
+ cleaner .usersScanner , err = users .NewScanner (tsdb.UsersScannerConfig {
545
+ Strategy : tsdb .UserScanStrategyList ,
546
+ }, bucketClient , logger , reg )
547
+ require .NoError (t , err )
548
+ cleaner .usersScanner = users .NewShardedScanner (cleaner .usersScanner , func (userID string ) (bool , error ) { return userID == "user-1" , nil }, logger )
526
549
527
550
// Create new blocks, to double check expected metrics have changed.
528
551
createTSDBBlock (t , bucketClient , "user-1" , 40 , 50 , nil )
@@ -630,7 +653,10 @@ func TestBlocksCleaner_ShouldRemoveBlocksOutsideRetentionPeriod(t *testing.T) {
630
653
ctx := context .Background ()
631
654
logger := log .NewNopLogger ()
632
655
reg := prometheus .NewPedanticRegistry ()
633
- scanner := tsdb .NewUsersScanner (bucketClient , tsdb .AllUsers , logger )
656
+ scanner , err := users .NewScanner (tsdb.UsersScannerConfig {
657
+ Strategy : tsdb .UserScanStrategyList ,
658
+ }, bucketClient , logger , reg )
659
+ require .NoError (t , err )
634
660
cfgProvider := newMockConfigProvider ()
635
661
blocksMarkedForDeletion := promauto .With (reg ).NewCounterVec (prometheus.CounterOpts {
636
662
Name : blocksMarkedForDeletionName ,
@@ -859,7 +885,10 @@ func TestBlocksCleaner_CleanPartitionedGroupInfo(t *testing.T) {
859
885
ctx := context .Background ()
860
886
logger := log .NewNopLogger ()
861
887
reg := prometheus .NewPedanticRegistry ()
862
- scanner := tsdb .NewUsersScanner (bucketClient , tsdb .AllUsers , logger )
888
+ scanner , err := users .NewScanner (tsdb.UsersScannerConfig {
889
+ Strategy : tsdb .UserScanStrategyList ,
890
+ }, bucketClient , logger , reg )
891
+ require .NoError (t , err )
863
892
cfgProvider := newMockConfigProvider ()
864
893
blocksMarkedForDeletion := promauto .With (reg ).NewCounterVec (prometheus.CounterOpts {
865
894
Name : blocksMarkedForDeletionName ,
@@ -885,7 +914,7 @@ func TestBlocksCleaner_CleanPartitionedGroupInfo(t *testing.T) {
885
914
CreationTime : time .Now ().Add (- 5 * time .Minute ).Unix (),
886
915
Version : PartitionedGroupInfoVersion1 ,
887
916
}
888
- _ , err : = UpdatePartitionedGroupInfo (ctx , userBucket , logger , partitionedGroupInfo )
917
+ _ , err = UpdatePartitionedGroupInfo (ctx , userBucket , logger , partitionedGroupInfo )
889
918
require .NoError (t , err )
890
919
891
920
visitMarker := & partitionVisitMarker {
@@ -931,7 +960,10 @@ func TestBlocksCleaner_DeleteEmptyBucketIndex(t *testing.T) {
931
960
ctx := context .Background ()
932
961
logger := log .NewNopLogger ()
933
962
reg := prometheus .NewPedanticRegistry ()
934
- scanner := tsdb .NewUsersScanner (bucketClient , tsdb .AllUsers , logger )
963
+ scanner , err := users .NewScanner (tsdb.UsersScannerConfig {
964
+ Strategy : tsdb .UserScanStrategyList ,
965
+ }, bucketClient , logger , reg )
966
+ require .NoError (t , err )
935
967
cfgProvider := newMockConfigProvider ()
936
968
blocksMarkedForDeletion := promauto .With (reg ).NewCounterVec (prometheus.CounterOpts {
937
969
Name : blocksMarkedForDeletionName ,
@@ -960,7 +992,7 @@ func TestBlocksCleaner_DeleteEmptyBucketIndex(t *testing.T) {
960
992
CreationTime : time .Now ().Add (- 5 * time .Minute ).Unix (),
961
993
Version : PartitionedGroupInfoVersion1 ,
962
994
}
963
- _ , err : = UpdatePartitionedGroupInfo (ctx , userBucket , logger , partitionedGroupInfo )
995
+ _ , err = UpdatePartitionedGroupInfo (ctx , userBucket , logger , partitionedGroupInfo )
964
996
require .NoError (t , err )
965
997
partitionedGroupFile := GetPartitionedGroupFile (partitionedGroupInfo .PartitionedGroupID )
966
998
0 commit comments