(t *testing.T)
| 1509 | } |
| 1510 | |
| 1511 | func TestShortTermQueryToLTS(t *testing.T) { |
| 1512 | testCases := []struct { |
| 1513 | name string |
| 1514 | mint, maxt time.Time |
| 1515 | hitIngester bool |
| 1516 | hitLTS bool |
| 1517 | queryIngestersWithin time.Duration |
| 1518 | queryStoreAfter time.Duration |
| 1519 | }{ |
| 1520 | { |
| 1521 | name: "hit only ingester", |
| 1522 | mint: time.Now().Add(-5 * time.Minute), |
| 1523 | maxt: time.Now(), |
| 1524 | hitIngester: true, |
| 1525 | hitLTS: false, |
| 1526 | queryIngestersWithin: 1 * time.Hour, |
| 1527 | queryStoreAfter: time.Hour, |
| 1528 | }, |
| 1529 | { |
| 1530 | name: "hit both", |
| 1531 | mint: time.Now().Add(-5 * time.Hour), |
| 1532 | maxt: time.Now(), |
| 1533 | hitIngester: true, |
| 1534 | hitLTS: true, |
| 1535 | queryIngestersWithin: 1 * time.Hour, |
| 1536 | queryStoreAfter: time.Hour, |
| 1537 | }, |
| 1538 | { |
| 1539 | name: "hit only storage", |
| 1540 | mint: time.Now().Add(-5 * time.Hour), |
| 1541 | maxt: time.Now().Add(-2 * time.Hour), |
| 1542 | hitIngester: false, |
| 1543 | hitLTS: true, |
| 1544 | queryIngestersWithin: 1 * time.Hour, |
| 1545 | queryStoreAfter: 0, |
| 1546 | }, |
| 1547 | } |
| 1548 | |
| 1549 | engine := promql.NewEngine(promql.EngineOpts{ |
| 1550 | Logger: promslog.NewNopLogger(), |
| 1551 | MaxSamples: 1e6, |
| 1552 | Timeout: 1 * time.Minute, |
| 1553 | }) |
| 1554 | |
| 1555 | cfg := Config{} |
| 1556 | flagext.DefaultValues(&cfg) |
| 1557 | // Disable active query tracker to avoid mmap error. |
| 1558 | cfg.ActiveQueryTrackerDir = "" |
| 1559 | |
| 1560 | for _, c := range testCases { |
| 1561 | cfg.QueryIngestersWithin = c.queryIngestersWithin |
| 1562 | cfg.QueryStoreAfter = c.queryStoreAfter |
| 1563 | t.Run(c.name, func(t *testing.T) { |
| 1564 | //parallel testing causes data race |
| 1565 | chunkStore := &emptyChunkStore{} |
| 1566 | distributor := &errDistributor{} |
| 1567 | |
| 1568 | overrides := validation.NewOverrides(DefaultLimitsConfig(), nil) |
nothing calls this directly
no test coverage detected