Skip to content

Commit 50bfd13

Browse files
Live-store: query live-store flag (grafana#5808)
* Live-store: query live-store flag * Support querying metrics with live-stores via header
1 parent 9ee70a7 commit 50bfd13

File tree

6 files changed

+12
-3
lines changed

6 files changed

+12
-3
lines changed

cmd/tempo/app/modules.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -473,7 +473,7 @@ func (t *App) initQuerier() (services.Service, error) {
473473
ingesterRings,
474474
t.cfg.GeneratorClient,
475475
t.readRings[ringMetricsGenerator],
476-
t.cfg.PartitionRingLiveStore,
476+
t.cfg.Querier.QueryLiveStore,
477477
t.cfg.LiveStoreClient,
478478
t.readRings[ringLiveStore],
479479
t.partitionRing,

example/docker-compose/ingest-storage/tempo.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ compactor:
4141
querier:
4242
frontend_worker:
4343
frontend_address: query-frontend:9095
44+
query_live_store: true
4445

4546
metrics_generator:
4647
registry:
@@ -96,4 +97,4 @@ block_builder:
9697
block-builder-1: [1]
9798

9899
usage_report:
99-
reporting_enabled: false
100+
reporting_enabled: false

example/tk/tempo-microservices/main.jsonnet

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,9 @@ minio + metrics + load + kafka + tempo {
9393
topic: 'tempo-ingest',
9494
},
9595
},
96+
querier+: {
97+
query_live_store: true,
98+
},
9699
block_builder+: {
97100
consume_cycle_duration: '30s',
98101
assigned_partitions: {

integration/e2e/ingest/config-live-store.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,3 +72,4 @@ ingest:
7272
querier:
7373
frontend_worker:
7474
frontend_address: query-frontend:9095
75+
query_live_store: true

modules/querier/config.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ type Config struct {
2424
ShuffleShardingIngestersLookbackPeriod time.Duration `yaml:"shuffle_sharding_ingesters_lookback_period"`
2525
QueryRelevantIngesters bool `yaml:"query_relevant_ingesters"`
2626
SecondaryIngesterRing string `yaml:"secondary_ingester_ring,omitempty"`
27+
QueryLiveStore bool `yaml:"query_live_store,omitempty"` // todo: remove after rhythm migration
2728
}
2829

2930
type SearchConfig struct {
@@ -81,6 +82,7 @@ func (cfg *Config) RegisterFlagsAndApplyDefaults(prefix string, f *flag.FlagSet)
8182
cfg.PartitionRing.MinimizeRequests = true
8283
cfg.PartitionRing.MinimizeRequestsHedgingDelay = 3 * time.Second
8384
cfg.PartitionRing.PreferredZone = ""
85+
cfg.QueryLiveStore = false
8486

8587
f.StringVar(&cfg.Worker.FrontendAddress, prefix+".frontend-address", "", "Address of query frontend service, in host:port format.")
8688
}

modules/querier/querier.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -485,7 +485,9 @@ func (q *Querier) forGivenGenerators(ctx context.Context, f forEachGeneratorFn)
485485
ctx, span := tracer.Start(ctx, "Querier.forGivenGenerators")
486486
defer span.End()
487487

488-
if q.queryPartitionRing {
488+
recentDataTarget := extractRecentDataTarget(ctx)
489+
490+
if q.queryPartitionRing || recentDataTarget == "live-store" {
489491
rs, err := q.partitionRing.GetReplicationSetsForOperation(ring.Read)
490492
if err != nil {
491493
return nil, fmt.Errorf("error finding partition ring replicas: %w", err)

0 commit comments

Comments
 (0)