MCPcopy Index your code
hub / github.com/cortexproject/cortex / initStoreQueryables

Method initStoreQueryables

pkg/cortex/modules.go:448–483  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

446}
447
448func (t *Cortex) initStoreQueryables() (services.Service, error) {
449 var servs []services.Service
450
451 //nolint:revive // I prefer this form over removing 'else', because it allows q to have smaller scope.
452 var queriable prom_storage.Queryable
453 if q, err := initBlockStoreQueryable(t.Cfg, t.OverridesConfig, prometheus.DefaultRegisterer); err != nil {
454 return nil, fmt.Errorf("failed to initialize querier: %v", err)
455 } else {
456 queriable = q
457 if t.Cfg.Querier.EnableParquetQueryable {
458 pq, err := querier.NewParquetQueryable(t.Cfg.Querier, t.Cfg.BlocksStorage, t.OverridesConfig, q, util_log.Logger, prometheus.DefaultRegisterer)
459 if err != nil {
460 return nil, fmt.Errorf("failed to initialize parquet querier: %v", err)
461 }
462 queriable = pq
463 }
464 t.StoreQueryables = append(t.StoreQueryables, querier.UseAlwaysQueryable(queriable))
465 if s, ok := queriable.(services.Service); ok {
466 servs = append(servs, s)
467 }
468 }
469
470 // Return service, if any.
471 switch len(servs) {
472 case 0:
473 return nil, nil
474 case 1:
475 return servs[0], nil
476 default:
477 // TODO cleanup.
478 // No need to support this case yet.
479 // When we get there, we will need a wrapper service, that starts all subservices, and will also monitor them for failures.
480 // Not difficult, but also not necessary right now.
481 return nil, fmt.Errorf("too many services")
482 }
483}
484
485func initBlockStoreQueryable(cfg Config, limits *validation.Overrides, reg prometheus.Registerer) (*querier.BlocksStoreQueryable, error) {
486 // When running in single binary, if the blocks sharding is disabled and no custom

Callers

nothing calls this directly

Calls 3

NewParquetQueryableFunction · 0.92
UseAlwaysQueryableFunction · 0.92
initBlockStoreQueryableFunction · 0.85

Tested by

no test coverage detected