vmalert: skip automatically added labels on alerts restore (#871)

Label `alertgroup` was introduced in #611 and automatically added to generated
time series. By mistake, this new label wasn't correctly purged on restore event
and affected alert's ID uniqueness. This commit removes `alertgroup` label
in restore function.

https://github.com/VictoriaMetrics/VictoriaMetrics/issues/870
This commit is contained in:
Roman Khavronenko 2020-10-30 08:18:20 +00:00 committed by Aliaksandr Valialkin
parent e8fe618bbb
commit 333675875f
2 changed files with 7 additions and 3 deletions

View file

@ -422,6 +422,9 @@ func (ar *AlertingRule) Restore(ctx context.Context, q datasource.Querier, lookb
if l.Name == alertNameLabel {
continue
}
if l.Name == alertGroupNameLabel {
continue
}
// drop all overridden labels
if _, ok := ar.Labels[l.Name]; ok {
continue

View file

@ -355,6 +355,7 @@ func TestAlertingRule_Restore(t *testing.T) {
metricWithValueAndLabels(t, float64(time.Now().Truncate(time.Hour).Unix()),
"__name__", alertForStateMetricName,
alertNameLabel, "",
alertGroupNameLabel, "groupID",
"foo", "bar",
"namespace", "baz",
),