Skip to content

Commit bf5147f

Browse files
committed
Make the per labelset series limit error message consistent with per user series error message
1 parent 4cc3e14 commit bf5147f

File tree

2 files changed

+10
-9
lines changed

2 files changed

+10
-9
lines changed

pkg/ingester/limiter.go

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ var (
2121

2222
type errMaxSeriesPerLabelSetLimitExceeded struct {
2323
error
24-
id string
25-
localLimit int
26-
globalLimit int
24+
id string
25+
actualLocalLimit int
26+
globalLimit int
2727
}
2828

2929
// RingCount is the interface exposed by a ring implementation which allows
@@ -130,9 +130,9 @@ func (l *Limiter) AssertMaxSeriesPerLabelSet(userID string, metric labels.Labels
130130
return err
131131
} else if u >= local {
132132
return errMaxSeriesPerLabelSetLimitExceeded{
133-
id: limit.Id,
134-
localLimit: local,
135-
globalLimit: limit.Limits.MaxSeries,
133+
id: limit.Id,
134+
actualLocalLimit: local,
135+
globalLimit: limit.Limits.MaxSeries,
136136
}
137137
}
138138
}
@@ -208,8 +208,9 @@ func (l *Limiter) formatMaxMetadataPerMetricError(userID string, metric string)
208208
}
209209

210210
func (l *Limiter) formatMaxSeriesPerLabelSetError(err errMaxSeriesPerLabelSetLimitExceeded) error {
211-
return fmt.Errorf("per-labelset series limit of %d exceeded (labelSet: %s, local limit: %d global limit: %d actual)",
212-
minNonZero(err.globalLimit, err.localLimit), err.id, err.localLimit, err.globalLimit)
211+
// per labelset limit does not have a configurable local limit like per user max series, so local limit is always zero.
212+
return fmt.Errorf("per-labelset series limit of %d exceeded (labelSet: %s, local limit: 0 global limit: %d actual local limit: %d)",
213+
minNonZero(err.globalLimit, err.actualLocalLimit), err.id, err.globalLimit, err.actualLocalLimit)
213214
}
214215

215216
func (l *Limiter) limitsPerLabelSets(userID string, metric labels.Labels) []validation.LimitsPerLabelSet {

pkg/ingester/limiter_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -526,7 +526,7 @@ func TestLimiter_AssertMaxSeriesPerLabelSet(t *testing.T) {
526526
ringIngesterCount: 10,
527527
series: 200,
528528
shardByAllLabels: true,
529-
expected: errMaxSeriesPerLabelSetLimitExceeded{globalLimit: 10, localLimit: 3},
529+
expected: errMaxSeriesPerLabelSetLimitExceeded{globalLimit: 10, actualLocalLimit: 3},
530530
limits: validation.Limits{
531531
LimitsPerLabelSet: []validation.LimitsPerLabelSet{
532532
{

0 commit comments

Comments
 (0)