From 76c3e1863b0fceea830763883c9266ceaef83fa5 Mon Sep 17 00:00:00 2001 From: Alexander Weaver Date: Thu, 30 Mar 2023 09:44:48 -0500 Subject: [PATCH] Alerting: Fix and re-enable `filters instance labels in log line` test (#65622) Alerting: Fix and re-enable `filters instance labels in log line` test (#65618) Fix and reenable test (cherry picked from commit 5e87ea745d04a8212900d784fcf8368fae4c3667) --- pkg/services/ngalert/state/historian/loki.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pkg/services/ngalert/state/historian/loki.go b/pkg/services/ngalert/state/historian/loki.go index a81a082ed8a..7e8b00bcd4e 100644 --- a/pkg/services/ngalert/state/historian/loki.go +++ b/pkg/services/ngalert/state/historian/loki.go @@ -5,6 +5,7 @@ import ( "encoding/json" "fmt" "math" + "sort" "strconv" "time" @@ -356,8 +357,14 @@ func buildLogQuery(query models.HistoryQuery) (string, error) { logQL := selectorString(selectors) labelFilters := "" - for k, v := range query.Labels { - labelFilters += fmt.Sprintf(" | labels_%s=%q", k, v) + labelKeys := make([]string, 0, len(query.Labels)) + for k := range query.Labels { + labelKeys = append(labelKeys, k) + } + // Ensure that all queries we build are deterministic. + sort.Strings(labelKeys) + for _, k := range labelKeys { + labelFilters += fmt.Sprintf(" | labels_%s=%q", k, query.Labels[k]) } if labelFilters != "" {