@@ -12,6 +12,7 @@ import (
12
12
"github.com/go-kit/log"
13
13
"github.com/oklog/ulid"
14
14
"github.com/prometheus/client_golang/prometheus"
15
+ "github.com/prometheus/client_golang/prometheus/promauto"
15
16
"github.com/prometheus/client_golang/prometheus/testutil"
16
17
prom_testutil "github.com/prometheus/client_golang/prometheus/testutil"
17
18
"github.com/stretchr/testify/assert"
@@ -79,8 +80,12 @@ func TestBlockCleaner_KeyPermissionDenied(t *testing.T) {
79
80
logger := log .NewNopLogger ()
80
81
scanner := tsdb .NewUsersScanner (mbucket , tsdb .AllUsers , logger )
81
82
cfgProvider := newMockConfigProvider ()
83
+ blocksMarkedForDeletion := prometheus .NewCounterVec (prometheus.CounterOpts {
84
+ Name : blocksMarkedForDeletionName ,
85
+ Help : blocksMarkedForDeletionHelp ,
86
+ }, append (commonLabels , ReasonLabelName ))
82
87
83
- cleaner := NewBlocksCleaner (cfg , mbucket , scanner , cfgProvider , logger , nil )
88
+ cleaner := NewBlocksCleaner (cfg , mbucket , scanner , cfgProvider , logger , nil , blocksMarkedForDeletion )
84
89
85
90
// Clean User with no error
86
91
cleaner .bucketClient = bkt
@@ -176,8 +181,12 @@ func testBlocksCleanerWithOptions(t *testing.T, options testBlocksCleanerOptions
176
181
logger := log .NewNopLogger ()
177
182
scanner := tsdb .NewUsersScanner (bucketClient , tsdb .AllUsers , logger )
178
183
cfgProvider := newMockConfigProvider ()
184
+ blocksMarkedForDeletion := promauto .With (reg ).NewCounterVec (prometheus.CounterOpts {
185
+ Name : blocksMarkedForDeletionName ,
186
+ Help : blocksMarkedForDeletionHelp ,
187
+ }, append (commonLabels , ReasonLabelName ))
179
188
180
- cleaner := NewBlocksCleaner (cfg , bucketClient , scanner , cfgProvider , logger , reg )
189
+ cleaner := NewBlocksCleaner (cfg , bucketClient , scanner , cfgProvider , logger , reg , blocksMarkedForDeletion )
181
190
require .NoError (t , services .StartAndAwaitRunning (ctx , cleaner ))
182
191
defer services .StopAndAwaitTerminated (ctx , cleaner ) //nolint:errcheck
183
192
@@ -333,8 +342,12 @@ func TestBlocksCleaner_ShouldContinueOnBlockDeletionFailure(t *testing.T) {
333
342
logger := log .NewNopLogger ()
334
343
scanner := tsdb .NewUsersScanner (bucketClient , tsdb .AllUsers , logger )
335
344
cfgProvider := newMockConfigProvider ()
345
+ blocksMarkedForDeletion := prometheus .NewCounterVec (prometheus.CounterOpts {
346
+ Name : blocksMarkedForDeletionName ,
347
+ Help : blocksMarkedForDeletionHelp ,
348
+ }, append (commonLabels , ReasonLabelName ))
336
349
337
- cleaner := NewBlocksCleaner (cfg , bucketClient , scanner , cfgProvider , logger , nil )
350
+ cleaner := NewBlocksCleaner (cfg , bucketClient , scanner , cfgProvider , logger , nil , blocksMarkedForDeletion )
338
351
require .NoError (t , services .StartAndAwaitRunning (ctx , cleaner ))
339
352
defer services .StopAndAwaitTerminated (ctx , cleaner ) //nolint:errcheck
340
353
@@ -393,8 +406,12 @@ func TestBlocksCleaner_ShouldRebuildBucketIndexOnCorruptedOne(t *testing.T) {
393
406
logger := log .NewNopLogger ()
394
407
scanner := tsdb .NewUsersScanner (bucketClient , tsdb .AllUsers , logger )
395
408
cfgProvider := newMockConfigProvider ()
409
+ blocksMarkedForDeletion := prometheus .NewCounterVec (prometheus.CounterOpts {
410
+ Name : blocksMarkedForDeletionName ,
411
+ Help : blocksMarkedForDeletionHelp ,
412
+ }, append (commonLabels , ReasonLabelName ))
396
413
397
- cleaner := NewBlocksCleaner (cfg , bucketClient , scanner , cfgProvider , logger , nil )
414
+ cleaner := NewBlocksCleaner (cfg , bucketClient , scanner , cfgProvider , logger , nil , blocksMarkedForDeletion )
398
415
require .NoError (t , services .StartAndAwaitRunning (ctx , cleaner ))
399
416
defer services .StopAndAwaitTerminated (ctx , cleaner ) //nolint:errcheck
400
417
@@ -447,8 +464,12 @@ func TestBlocksCleaner_ShouldRemoveMetricsForTenantsNotBelongingAnymoreToTheShar
447
464
reg := prometheus .NewPedanticRegistry ()
448
465
scanner := tsdb .NewUsersScanner (bucketClient , tsdb .AllUsers , logger )
449
466
cfgProvider := newMockConfigProvider ()
467
+ blocksMarkedForDeletion := promauto .With (reg ).NewCounterVec (prometheus.CounterOpts {
468
+ Name : blocksMarkedForDeletionName ,
469
+ Help : blocksMarkedForDeletionHelp ,
470
+ }, append (commonLabels , ReasonLabelName ))
450
471
451
- cleaner := NewBlocksCleaner (cfg , bucketClient , scanner , cfgProvider , logger , reg )
472
+ cleaner := NewBlocksCleaner (cfg , bucketClient , scanner , cfgProvider , logger , reg , blocksMarkedForDeletion )
452
473
require .NoError (t , cleaner .cleanUsers (ctx , true ))
453
474
454
475
assert .NoError (t , prom_testutil .GatherAndCompare (reg , strings .NewReader (`
@@ -578,8 +599,12 @@ func TestBlocksCleaner_ShouldRemoveBlocksOutsideRetentionPeriod(t *testing.T) {
578
599
reg := prometheus .NewPedanticRegistry ()
579
600
scanner := tsdb .NewUsersScanner (bucketClient , tsdb .AllUsers , logger )
580
601
cfgProvider := newMockConfigProvider ()
602
+ blocksMarkedForDeletion := promauto .With (reg ).NewCounterVec (prometheus.CounterOpts {
603
+ Name : blocksMarkedForDeletionName ,
604
+ Help : blocksMarkedForDeletionHelp ,
605
+ }, append (commonLabels , ReasonLabelName ))
581
606
582
- cleaner := NewBlocksCleaner (cfg , bucketClient , scanner , cfgProvider , logger , reg )
607
+ cleaner := NewBlocksCleaner (cfg , bucketClient , scanner , cfgProvider , logger , reg , blocksMarkedForDeletion )
583
608
584
609
assertBlockExists := func (user string , block ulid.ULID , expectExists bool ) {
585
610
exists , err := bucketClient .Exists (ctx , path .Join (user , block .String (), metadata .MetaFilename ))
@@ -607,9 +632,6 @@ func TestBlocksCleaner_ShouldRemoveBlocksOutsideRetentionPeriod(t *testing.T) {
607
632
# TYPE cortex_bucket_blocks_marked_for_deletion_count gauge
608
633
cortex_bucket_blocks_marked_for_deletion_count{user="user-1"} 0
609
634
cortex_bucket_blocks_marked_for_deletion_count{user="user-2"} 0
610
- # HELP cortex_compactor_blocks_marked_for_deletion_total Total number of blocks marked for deletion in compactor.
611
- # TYPE cortex_compactor_blocks_marked_for_deletion_total counter
612
- cortex_compactor_blocks_marked_for_deletion_total{reason="retention"} 0
613
635
` ),
614
636
"cortex_bucket_blocks_count" ,
615
637
"cortex_bucket_blocks_marked_for_deletion_count" ,
@@ -650,7 +672,7 @@ func TestBlocksCleaner_ShouldRemoveBlocksOutsideRetentionPeriod(t *testing.T) {
650
672
cortex_bucket_blocks_marked_for_deletion_count{user="user-2"} 0
651
673
# HELP cortex_compactor_blocks_marked_for_deletion_total Total number of blocks marked for deletion in compactor.
652
674
# TYPE cortex_compactor_blocks_marked_for_deletion_total counter
653
- cortex_compactor_blocks_marked_for_deletion_total{reason="retention"} 1
675
+ cortex_compactor_blocks_marked_for_deletion_total{reason="retention",user="user-1" } 1
654
676
` ),
655
677
"cortex_bucket_blocks_count" ,
656
678
"cortex_bucket_blocks_marked_for_deletion_count" ,
@@ -688,7 +710,7 @@ func TestBlocksCleaner_ShouldRemoveBlocksOutsideRetentionPeriod(t *testing.T) {
688
710
cortex_bucket_blocks_marked_for_deletion_count{user="user-2"} 0
689
711
# HELP cortex_compactor_blocks_marked_for_deletion_total Total number of blocks marked for deletion in compactor.
690
712
# TYPE cortex_compactor_blocks_marked_for_deletion_total counter
691
- cortex_compactor_blocks_marked_for_deletion_total{reason="retention"} 1
713
+ cortex_compactor_blocks_marked_for_deletion_total{reason="retention",user="user-1" } 1
692
714
` ),
693
715
"cortex_bucket_blocks_count" ,
694
716
"cortex_bucket_blocks_marked_for_deletion_count" ,
@@ -717,7 +739,8 @@ func TestBlocksCleaner_ShouldRemoveBlocksOutsideRetentionPeriod(t *testing.T) {
717
739
cortex_bucket_blocks_marked_for_deletion_count{user="user-2"} 0
718
740
# HELP cortex_compactor_blocks_marked_for_deletion_total Total number of blocks marked for deletion in compactor.
719
741
# TYPE cortex_compactor_blocks_marked_for_deletion_total counter
720
- cortex_compactor_blocks_marked_for_deletion_total{reason="retention"} 3
742
+ cortex_compactor_blocks_marked_for_deletion_total{reason="retention",user="user-1"} 1
743
+ cortex_compactor_blocks_marked_for_deletion_total{reason="retention",user="user-2"} 2
721
744
` ),
722
745
"cortex_bucket_blocks_count" ,
723
746
"cortex_bucket_blocks_marked_for_deletion_count" ,
0 commit comments