From 0c48254b6250f99d4c693efc7c6ce33c1c9083d5 Mon Sep 17 00:00:00 2001 From: Dima Kozlov Date: Wed, 22 Jul 2020 23:12:23 +0300 Subject: [PATCH] remove reference to metrics after reslicing Signed-off-by: Dima Kozlov --- prometheus/vec.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/prometheus/vec.go b/prometheus/vec.go index d53848dc4..abe91638e 100644 --- a/prometheus/vec.go +++ b/prometheus/vec.go @@ -276,7 +276,9 @@ func (m *metricMap) deleteByHashWithLabelValues( } if len(metrics) > 1 { + old := metrics m.metrics[h] = append(metrics[:i], metrics[i+1:]...) + old[len(old)-1] = metricWithLabelValues{} } else { delete(m.metrics, h) } @@ -302,7 +304,9 @@ func (m *metricMap) deleteByHashWithLabels( } if len(metrics) > 1 { + old := metrics m.metrics[h] = append(metrics[:i], metrics[i+1:]...) + old[len(old)-1] = metricWithLabelValues{} } else { delete(m.metrics, h) }