From 88ad42fb3813e7b2a1b5b871f9b575d4d4b2d319 Mon Sep 17 00:00:00 2001 From: Oleg Zaytsev Date: Wed, 6 Sep 2023 18:48:49 +0200 Subject: [PATCH] Check storage.ErrNotFound in labelValuesFromSeries I'm not very comfortable with using an equality check on errors, but I'm copying the same code from Prometheus: https://github.com/prometheus/prometheus/blob/f711d71aa8318dbb39522ac26f8ee77cc373f77b/tsdb/querier.go#L532-L533 Signed-off-by: Oleg Zaytsev --- tsdb/querier.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tsdb/querier.go b/tsdb/querier.go index f54236cec4..1075591a96 100644 --- a/tsdb/querier.go +++ b/tsdb/querier.go @@ -434,6 +434,10 @@ func labelValuesFromSeries(r IndexReader, labelName string, refs []storage.Serie var builder labels.ScratchBuilder for _, ref := range refs { err := r.Series(ref, &builder, nil) + // Postings may be stale. Skip if no underlying series exists. + if errors.Cause(err) == storage.ErrNotFound { + continue + } if err != nil { return nil, errors.Wrapf(err, "label values for label %s", labelName) }