Skip to content

Commit

Permalink
skip match label values for certain matchers (#8084)
Browse files Browse the repository at this point in the history
Signed-off-by: yeya24 <[email protected]>
  • Loading branch information
yeya24 authored Feb 2, 2025
1 parent 2367777 commit 45013e1
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions pkg/store/bucket.go
Original file line number Diff line number Diff line change
Expand Up @@ -2978,6 +2978,12 @@ func toPostingGroup(ctx context.Context, lvalsFn func(name string) ([]string, er
return nil, nil, err
}

// If the matcher is ="" or =~"", it is the same as removing all values for the label.
// We can skip calling `Matches` here.
if m.Value == "" && (m.Type == labels.MatchEqual || m.Type == labels.MatchRegexp) {
return newPostingGroup(true, m.Name, nil, vals), vals, nil
}

for i, val := range vals {
if (i+1)%checkContextEveryNIterations == 0 && ctx.Err() != nil {
return nil, nil, ctx.Err()
Expand Down Expand Up @@ -3006,6 +3012,12 @@ func toPostingGroup(ctx context.Context, lvalsFn func(name string) ([]string, er
return nil, nil, err
}

// If the matcher is !="" or !~"", it is the same as adding all values for the label.
// We can skip calling `Matches` here.
if m.Value == "" && (m.Type == labels.MatchNotEqual || m.Type == labels.MatchNotRegexp) {
return newPostingGroup(false, m.Name, vals, nil), vals, nil
}

var toAdd []string
for i, val := range vals {
if (i+1)%checkContextEveryNIterations == 0 && ctx.Err() != nil {
Expand Down

0 comments on commit 45013e1

Please sign in to comment.