From 7299e3bdcdae5bd7dacd08be67f706fdbaab8543 Mon Sep 17 00:00:00 2001 From: Travis Patterson Date: Wed, 20 Apr 2022 12:14:33 -0600 Subject: [PATCH] Fix query filtering (#5951) - milli -> nano conversion in the querier - add deletes to store requests from the ingester --- pkg/ingester/ingester.go | 2 ++ pkg/querier/querier.go | 6 +++--- pkg/querier/querier_test.go | 20 ++++++++++---------- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/pkg/ingester/ingester.go b/pkg/ingester/ingester.go index 25b6cfe6d3b8..70aca05764fe 100644 --- a/pkg/ingester/ingester.go +++ b/pkg/ingester/ingester.go @@ -592,6 +592,7 @@ func (i *Ingester) Query(req *logproto.QueryRequest, queryServer logproto.Querie End: end, Limit: req.Limit, Shards: req.Shards, + Deletes: req.Deletes, }} storeItr, err := i.store.SelectLogs(ctx, storeReq) if err != nil { @@ -628,6 +629,7 @@ func (i *Ingester) QuerySample(req *logproto.SampleQueryRequest, queryServer log End: end, Selector: req.Selector, Shards: req.Shards, + Deletes: req.Deletes, }} storeItr, err := i.store.SelectSamples(ctx, storeReq) if err != nil { diff --git a/pkg/querier/querier.go b/pkg/querier/querier.go index 66886b468415..1beb98970c0a 100644 --- a/pkg/querier/querier.go +++ b/pkg/querier/querier.go @@ -225,11 +225,11 @@ func (q *SingleTenantQuerier) deletesForUser(ctx context.Context, startT, endT t var deletes []*logproto.Delete for _, del := range d { - if int64(del.StartTime) <= end && int64(del.EndTime) >= start { + if del.StartTime.UnixNano() <= end && del.EndTime.UnixNano() >= start { deletes = append(deletes, &logproto.Delete{ Selector: del.Query, - Start: int64(del.StartTime), - End: int64(del.EndTime), + Start: del.StartTime.UnixNano(), + End: del.EndTime.UnixNano(), }) } } diff --git a/pkg/querier/querier_test.go b/pkg/querier/querier_test.go index 1242a4e4c163..c9a080ea032c 100644 --- a/pkg/querier/querier_test.go +++ b/pkg/querier/querier_test.go @@ -761,8 +761,8 @@ func TestQuerier_SelectLogWithDeletes(t *testing.T) { request := logproto.QueryRequest{ Selector: `{type="test"} |= "foo"`, Limit: 10, - Start: time.Unix(0, 300), - End: time.Unix(0, 600), + Start: time.Unix(0, 300000000), + End: time.Unix(0, 600000000), Direction: logproto.FORWARD, } @@ -776,9 +776,9 @@ func TestQuerier_SelectLogWithDeletes(t *testing.T) { End: request.End, Direction: request.Direction, Deletes: []*logproto.Delete{ - {Selector: "1", Start: 200, End: 400}, - {Selector: "2", Start: 400, End: 500}, - {Selector: "3", Start: 500, End: 700}, + {Selector: "1", Start: 200000000, End: 400000000}, + {Selector: "2", Start: 400000000, End: 500000000}, + {Selector: "3", Start: 500000000, End: 700000000}, }, } @@ -822,8 +822,8 @@ func TestQuerier_SelectSamplesWithDeletes(t *testing.T) { request := logproto.SampleQueryRequest{ Selector: `count_over_time({foo="bar"}[5m])`, - Start: time.Unix(0, 300), - End: time.Unix(0, 600), + Start: time.Unix(0, 300000000), + End: time.Unix(0, 600000000), } _, err = q.SelectSamples(ctx, logql.SelectSampleParams{SampleQueryRequest: &request}) @@ -835,9 +835,9 @@ func TestQuerier_SelectSamplesWithDeletes(t *testing.T) { Start: request.Start, End: request.End, Deletes: []*logproto.Delete{ - {Selector: "1", Start: 200, End: 400}, - {Selector: "2", Start: 400, End: 500}, - {Selector: "3", Start: 500, End: 700}, + {Selector: "1", Start: 200000000, End: 400000000}, + {Selector: "2", Start: 400000000, End: 500000000}, + {Selector: "3", Start: 500000000, End: 700000000}, }, }, }