Skip to content
Snippets Groups Projects
Commit ec7d453f authored by Cyril Tovena's avatar Cyril Tovena Committed by Goutham Veeramachaneni
Browse files

fixes ingester querier not honoring filters (#594)

parent 2ad98007
No related branches found
No related tags found
No related merge requests found
......@@ -12,6 +12,7 @@ import (
"github.com/cortexproject/cortex/pkg/ingester/client"
"github.com/cortexproject/cortex/pkg/ingester/index"
cutil "github.com/cortexproject/cortex/pkg/util"
"github.com/grafana/loki/pkg/helpers"
"github.com/grafana/loki/pkg/iter"
......@@ -149,18 +150,27 @@ func (i *instance) lookupStreams(req *logproto.QueryRequest, matchers []*labels.
i.streamsMtx.RLock()
defer i.streamsMtx.RUnlock()
var err error
filters, matchers := cutil.SplitFiltersAndMatchers(matchers)
ids := i.index.Lookup(matchers)
iterators := make([]iter.EntryIterator, len(ids))
for j := range ids {
stream, ok := i.streams[ids[j]]
iterators := make([]iter.EntryIterator, 0, len(ids))
outer:
for _, streamID := range ids {
stream, ok := i.streams[streamID]
if !ok {
return nil, ErrStreamMissing
}
iterators[j], err = stream.Iterator(req.Start, req.End, req.Direction)
lbs := client.FromLabelAdaptersToLabels(stream.labels)
for _, filter := range filters {
if !filter.Matches(lbs.Get(filter.Name)) {
continue outer
}
}
iter, err := stream.Iterator(req.Start, req.End, req.Direction)
if err != nil {
return nil, err
}
iterators = append(iterators, iter)
}
return iterators, nil
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment