Skip to content

Commit 04566a5

Browse files
authored
Disable active query tracker in querier test (#5318)
* remove parallel tests if we create a query engine Signed-off-by: Ben Ye <benye@amazon.com> * disable active query tracker Signed-off-by: Ben Ye <benye@amazon.com> --------- Signed-off-by: Ben Ye <benye@amazon.com>
1 parent ae56807 commit 04566a5

File tree

11 files changed

+58
-64
lines changed

11 files changed

+58
-64
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ require (
5252
github.com/sony/gobreaker v0.5.0
5353
github.com/spf13/afero v1.9.5
5454
github.com/stretchr/testify v1.8.2
55-
github.com/thanos-community/promql-engine v0.0.0-20230424192336-6fec99413de8
55+
github.com/thanos-community/promql-engine v0.0.0-20230503192559-c9c196cc08b3
5656
github.com/thanos-io/objstore v0.0.0-20230201072718-11ffbc490204
5757
github.com/thanos-io/thanos v0.31.1-0.20230418080134-0c2af2155056
5858
github.com/uber/jaeger-client-go v2.30.0+incompatible

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1864,8 +1864,8 @@ github.com/tchap/go-patricia v2.2.6+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ
18641864
github.com/tencentyun/cos-go-sdk-v5 v0.7.40 h1:W6vDGKCHe4wBACI1d2UgE6+50sJFhRWU4O8IB2ozzxM=
18651865
github.com/thanos-community/galaxycache v0.0.0-20211122094458-3a32041a1f1e h1:f1Zsv7OAU9iQhZwigp50Yl38W10g/vd5NC8Rdk1Jzng=
18661866
github.com/thanos-community/galaxycache v0.0.0-20211122094458-3a32041a1f1e/go.mod h1:jXcofnrSln/cLI6/dhlBxPQZEEQHVPCcFaH75M+nSzM=
1867-
github.com/thanos-community/promql-engine v0.0.0-20230424192336-6fec99413de8 h1:BQZw3InOmxnOb27fpdG/5gWEOydSQu+ylCsxGLRtMaY=
1868-
github.com/thanos-community/promql-engine v0.0.0-20230424192336-6fec99413de8/go.mod h1:PbimG7ocz5JmFRLlQ7yMcewnkunNBmvMyVgAoNmyvDw=
1867+
github.com/thanos-community/promql-engine v0.0.0-20230503192559-c9c196cc08b3 h1:WkhJnkQIHooPQ3A9vRvb0yub8+q3pTNshLvg0rU8YiA=
1868+
github.com/thanos-community/promql-engine v0.0.0-20230503192559-c9c196cc08b3/go.mod h1:PbimG7ocz5JmFRLlQ7yMcewnkunNBmvMyVgAoNmyvDw=
18691869
github.com/thanos-io/objstore v0.0.0-20230201072718-11ffbc490204 h1:W4w5Iph7j32Sf1QFWLJDCqvO0WgZS0jHGID+qnq3wV0=
18701870
github.com/thanos-io/objstore v0.0.0-20230201072718-11ffbc490204/go.mod h1:STSgpY8M6EKF2G/raUFdbIMf2U9GgYlEjAEHJxjvpAo=
18711871
github.com/thanos-io/thanos v0.31.1-0.20230418080134-0c2af2155056 h1:x0jPHfsMnf8DtdxD4B2nMZAbIXza3y/wWgmVLV+3Gxc=

pkg/querier/blocks_consistency_checker_test.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ import (
1515
)
1616

1717
func TestBlocksConsistencyChecker_Check(t *testing.T) {
18-
//parallel testing causes data race
19-
2018
now := time.Now()
2119
uploadGracePeriod := 10 * time.Minute
2220
deletionGracePeriod := 5 * time.Minute

pkg/querier/blocks_store_queryable_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1336,6 +1336,7 @@ func TestBlocksStoreQuerier_SelectSortedShouldHonorQueryStoreAfter(t *testing.T)
13361336
}
13371337

13381338
func TestBlocksStoreQuerier_PromQLExecution(t *testing.T) {
1339+
t.Parallel()
13391340
logger := log.NewNopLogger()
13401341
opts := promql.EngineOpts{
13411342
Logger: logger,

pkg/querier/chunk_store_queryable_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@ import (
2424
var _ SeriesWithChunks = &chunkSeries{}
2525

2626
func TestChunkQueryable(t *testing.T) {
27+
t.Parallel()
2728
opts := promql.EngineOpts{
28-
Logger: log.NewNopLogger(),
29-
ActiveQueryTracker: promql.NewActiveQueryTracker(t.TempDir(), 10, log.NewNopLogger()),
30-
MaxSamples: 1e6,
31-
Timeout: 1 * time.Minute,
29+
Logger: log.NewNopLogger(),
30+
MaxSamples: 1e6,
31+
Timeout: 1 * time.Minute,
3232
}
3333
for _, thanosEngine := range []bool{false, true} {
3434
for _, testcase := range testcases {

pkg/querier/error_translate_queryable_test.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@ import (
2626
)
2727

2828
func TestApiStatusCodes(t *testing.T) {
29-
t.Parallel()
30-
3129
for ix, tc := range []struct {
3230
err error
3331
expectedString string

pkg/querier/querier_test.go

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ var (
156156
)
157157

158158
func TestShouldSortSeriesIfQueryingMultipleQueryables(t *testing.T) {
159+
t.Parallel()
159160
start := time.Now().Add(-2 * time.Hour)
160161
end := time.Now()
161162
ctx := user.InjectOrgID(context.Background(), "0")
@@ -274,13 +275,10 @@ func TestShouldSortSeriesIfQueryingMultipleQueryables(t *testing.T) {
274275
wQueriables = append(wQueriables, &wrappedSampleAndChunkQueryable{QueryableWithFilter: queriable})
275276
}
276277
queryable := NewQueryable(wDistributorQueriable, wQueriables, batch.NewChunkMergeIterator, cfg, overrides, purger.NewNoopTombstonesLoader())
277-
queryTracker := promql.NewActiveQueryTracker(t.TempDir(), 10, log.NewNopLogger())
278-
279278
opts := promql.EngineOpts{
280-
Logger: log.NewNopLogger(),
281-
ActiveQueryTracker: queryTracker,
282-
MaxSamples: 1e6,
283-
Timeout: 1 * time.Minute,
279+
Logger: log.NewNopLogger(),
280+
MaxSamples: 1e6,
281+
Timeout: 1 * time.Minute,
284282
}
285283
var queryEngine v1.QueryEngine
286284
if thanosEngine {
@@ -310,6 +308,7 @@ func TestShouldSortSeriesIfQueryingMultipleQueryables(t *testing.T) {
310308
}
311309

312310
func TestQuerier(t *testing.T) {
311+
t.Parallel()
313312
var cfg Config
314313
flagext.DefaultValues(&cfg)
315314

@@ -322,10 +321,9 @@ func TestQuerier(t *testing.T) {
322321
db, _ := mockTSDB(t, []labels.Labels{lset}, model.Time(0), int(chunks*samplesPerChunk), sampleRate, chunkOffset, int(samplesPerChunk))
323322

324323
opts := promql.EngineOpts{
325-
Logger: log.NewNopLogger(),
326-
ActiveQueryTracker: promql.NewActiveQueryTracker(t.TempDir(), 10, log.NewNopLogger()),
327-
MaxSamples: 1e6,
328-
Timeout: 1 * time.Minute,
324+
Logger: log.NewNopLogger(),
325+
MaxSamples: 1e6,
326+
Timeout: 1 * time.Minute,
329327
}
330328
for _, thanosEngine := range []bool{false, true} {
331329
for _, query := range queries {
@@ -345,6 +343,8 @@ func TestQuerier(t *testing.T) {
345343
}
346344
cfg.IngesterStreaming = streaming
347345
cfg.Iterators = iterators
346+
// Disable active query tracker to avoid mmap error.
347+
cfg.ActiveQueryTrackerDir = ""
348348

349349
chunkStore, through := makeMockChunkStore(t, chunks, encoding.e)
350350
distributor := mockDistibutorFor(t, chunkStore, through)
@@ -405,6 +405,7 @@ func mockTSDB(t *testing.T, labels []labels.Labels, mint model.Time, samples int
405405
}
406406

407407
func TestNoHistoricalQueryToIngester(t *testing.T) {
408+
t.Parallel()
408409
testCases := []struct {
409410
name string
410411
mint, maxt time.Time
@@ -448,14 +449,14 @@ func TestNoHistoricalQueryToIngester(t *testing.T) {
448449
},
449450
}
450451

451-
queryTracker := promql.NewActiveQueryTracker(t.TempDir(), 10, log.NewNopLogger())
452452
opts := promql.EngineOpts{
453-
Logger: log.NewNopLogger(),
454-
ActiveQueryTracker: queryTracker,
455-
MaxSamples: 1e6,
456-
Timeout: 1 * time.Minute,
453+
Logger: log.NewNopLogger(),
454+
MaxSamples: 1e6,
455+
Timeout: 1 * time.Minute,
457456
}
458457
cfg := Config{}
458+
// Disable active query tracker to avoid mmap error.
459+
cfg.ActiveQueryTrackerDir = ""
459460
for _, ingesterStreaming := range []bool{true, false} {
460461
for _, thanosEngine := range []bool{true, false} {
461462
cfg.IngesterStreaming = ingesterStreaming
@@ -557,6 +558,8 @@ func TestQuerier_ValidateQueryTimeRange_MaxQueryIntoFuture(t *testing.T) {
557558

558559
cfg := Config{}
559560
flagext.DefaultValues(&cfg)
561+
// Disable active query tracker to avoid mmap error.
562+
cfg.ActiveQueryTrackerDir = ""
560563

561564
for _, ingesterStreaming := range []bool{true, false} {
562565
cfg.IngesterStreaming = ingesterStreaming
@@ -648,6 +651,8 @@ func TestQuerier_ValidateQueryTimeRange_MaxQueryLength(t *testing.T) {
648651
//parallel testing causes data race
649652
var cfg Config
650653
flagext.DefaultValues(&cfg)
654+
// Disable active query tracker to avoid mmap error.
655+
cfg.ActiveQueryTrackerDir = ""
651656

652657
limits := DefaultLimitsConfig()
653658
limits.MaxQueryLength = model.Duration(maxQueryLength)
@@ -785,6 +790,8 @@ func TestQuerier_ValidateQueryTimeRange_MaxQueryLookback(t *testing.T) {
785790
flagext.DefaultValues(&cfg)
786791
cfg.IngesterStreaming = ingesterStreaming
787792
cfg.IngesterMetadataStreaming = ingesterStreaming
793+
// Disable active query tracker to avoid mmap error.
794+
cfg.ActiveQueryTrackerDir = ""
788795

789796
limits := DefaultLimitsConfig()
790797
limits.MaxQueryLookback = testData.maxQueryLookback
@@ -1219,7 +1226,7 @@ func (q *mockStoreQuerier) Close() error {
12191226
}
12201227

12211228
func TestShortTermQueryToLTS(t *testing.T) {
1222-
//parallel testing causes data race
1229+
t.Parallel()
12231230
testCases := []struct {
12241231
name string
12251232
mint, maxt time.Time
@@ -1257,17 +1264,16 @@ func TestShortTermQueryToLTS(t *testing.T) {
12571264
},
12581265
}
12591266

1260-
queryTracker := promql.NewActiveQueryTracker(t.TempDir(), 10, log.NewNopLogger())
1261-
12621267
engine := promql.NewEngine(promql.EngineOpts{
1263-
Logger: log.NewNopLogger(),
1264-
ActiveQueryTracker: queryTracker,
1265-
MaxSamples: 1e6,
1266-
Timeout: 1 * time.Minute,
1268+
Logger: log.NewNopLogger(),
1269+
MaxSamples: 1e6,
1270+
Timeout: 1 * time.Minute,
12671271
})
12681272

12691273
cfg := Config{}
12701274
flagext.DefaultValues(&cfg)
1275+
// Disable active query tracker to avoid mmap error.
1276+
cfg.ActiveQueryTrackerDir = ""
12711277

12721278
for _, ingesterStreaming := range []bool{true, false} {
12731279
cfg.IngesterStreaming = ingesterStreaming

vendor/github.com/thanos-community/promql-engine/engine/engine.go

Lines changed: 13 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/thanos-community/promql-engine/execution/binary/vector.go

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/thanos-community/promql-engine/execution/scan/matrix_selector.go

Lines changed: 4 additions & 28 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)