From d3de110070e0e2635a7e443d3f6e16a17370a681 Mon Sep 17 00:00:00 2001 From: Aliaksandr Valialkin Date: Wed, 21 Dec 2022 20:19:58 -0800 Subject: [PATCH] app/vmselect/promql: make sure that label_replace() doesn't create an empty dst_label if the src_label doesn't match regex --- app/vmselect/promql/transform.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/vmselect/promql/transform.go b/app/vmselect/promql/transform.go index 80bc96bef..c10e34808 100644 --- a/app/vmselect/promql/transform.go +++ b/app/vmselect/promql/transform.go @@ -1873,12 +1873,12 @@ func labelReplace(tss []*timeseries, srcLabel string, r *regexp.Regexp, dstLabel replacementBytes := []byte(replacement) for _, ts := range tss { mn := &ts.MetricName - dstValue := getDstValue(mn, dstLabel) srcValue := mn.GetTagValue(srcLabel) if !r.Match(srcValue) { continue } b := r.ReplaceAll(srcValue, replacementBytes) + dstValue := getDstValue(mn, dstLabel) *dstValue = append((*dstValue)[:0], b...) if len(b) == 0 { mn.RemoveTag(dstLabel)