thanos-io/thanos · error
fetch label values from store
Error message
fetch label values from store %s
What it means
A fan-out LabelValues RPC to one store in the StoreAPI fan-out failed (connection error, store-side error, or cancelled errgroup context). The message identifies which store could not serve label values; the error is aggregated per store and turned into a warning when partial responses are allowed.
Solutions
- Inspect the failing store's health, logs and gRPC endpoint
- Verify service discovery is returning a reachable address for the store
- Retry the query after the store recovers
- Use partial responses to get results from the remaining stores, then re-query later
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at pkg/store/proxy.go:569 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of thanos-io/thanos@35b8b99117 (2026-09-07).
Data as JSON: /api/errors/7b9a80c8301dd12b.
Report an issue: GitHub.
Appendix: source
Thrown at pkg/store/proxy.go:569
PartialResponseStrategy: originalRequest.PartialResponseStrategy,
Start: originalRequest.Start,
End: originalRequest.End,
Matchers: append(storeMatchers, MatchersForLabelSets(storeLabelSets)...),
WithoutReplicaLabels: originalRequest.WithoutReplicaLabels,
Limit: originalRequest.Limit,
}
var (
warnings []string
all [][]string
mtx sync.Mutex
g, gctx = errgroup.WithContext(ctx)
)
for _, st := range stores {
g.Go(func() error {
resp, err := st.LabelValues(gctx, r)
if err != nil {
err = errors.Wrapf(err, "fetch label values from store %s", st)
if r.PartialResponseDisabled || r.PartialResponseStrategy == storepb.PartialResponseStrategy_ABORT {
return err
}
mtx.Lock()
warnings = append(warnings, err.Error())
mtx.Unlock()
return nil
}
mtx.Lock()
warnings = append(warnings, resp.Warnings...)
all = append(all, resp.Values)
mtx.Unlock()
return nil
})
}View on GitHub (pinned to 35b8b99117)