diff --git a/pkg/loki/loki.go b/pkg/loki/loki.go index 9a3bfa24ae20..7c90198b0d87 100644 --- a/pkg/loki/loki.go +++ b/pkg/loki/loki.go @@ -465,6 +465,18 @@ func (t *Loki) setupModuleManager() error { deps[All] = append(deps[All], Compactor) } + // If the query scheduler and querier are running together, make sure the scheduler goes + // first to initialize the ring that will also be used by the querier + if (t.Cfg.isModuleEnabled(Querier) && t.Cfg.isModuleEnabled(QueryScheduler)) || t.Cfg.isModuleEnabled(Read) || t.Cfg.isModuleEnabled(All) { + deps[Querier] = append(deps[Querier], QueryScheduler) + } + + // If the query scheduler and query frontend are running together, make sure the scheduler goes + // first to initialize the ring that will also be used by the query frontend + if (t.Cfg.isModuleEnabled(QueryFrontend) && t.Cfg.isModuleEnabled(QueryScheduler)) || t.Cfg.isModuleEnabled(Read) || t.Cfg.isModuleEnabled(All) { + deps[QueryFrontend] = append(deps[QueryFrontend], QueryScheduler) + } + for mod, targets := range deps { if err := mm.AddDependency(mod, targets...); err != nil { return err