From 85df8595895e0738a2255adea6bb2eb3f3ec0fe3 Mon Sep 17 00:00:00 2001 From: Fayzal Ghantiwala <114010985+fayzal-g@users.noreply.github.com> Date: Thu, 12 Jun 2025 18:07:16 +0100 Subject: [PATCH] Alerting: Correctly persist FiredAt in SyncRuleStatePersister (#106658) Correctly persist FiredAt --- pkg/services/ngalert/state/persister_sync_rule.go | 1 + pkg/services/ngalert/state/persister_sync_rule_test.go | 3 +++ 2 files changed, 4 insertions(+) diff --git a/pkg/services/ngalert/state/persister_sync_rule.go b/pkg/services/ngalert/state/persister_sync_rule.go index 846c23a239d..da2494d3647 100644 --- a/pkg/services/ngalert/state/persister_sync_rule.go +++ b/pkg/services/ngalert/state/persister_sync_rule.go @@ -53,6 +53,7 @@ func (a *SyncRuleStatePersister) Sync(ctx context.Context, span trace.Span, rule LastEvalTime: s.LastEvaluationTime, CurrentStateSince: s.StartsAt, CurrentStateEnd: s.EndsAt, + FiredAt: s.FiredAt, ResolvedAt: s.ResolvedAt, LastSentAt: s.LastSentAt, ResultFingerprint: s.ResultFingerprint.String(), diff --git a/pkg/services/ngalert/state/persister_sync_rule_test.go b/pkg/services/ngalert/state/persister_sync_rule_test.go index b8a1a69057d..534ba678244 100644 --- a/pkg/services/ngalert/state/persister_sync_rule_test.go +++ b/pkg/services/ngalert/state/persister_sync_rule_test.go @@ -11,6 +11,7 @@ import ( "github.com/grafana/grafana-plugin-sdk-go/data" "github.com/grafana/grafana/pkg/infra/log" "github.com/grafana/grafana/pkg/services/ngalert/models" + "github.com/grafana/grafana/pkg/util" ) func TestSyncRuleStatePersister_Sync(t *testing.T) { @@ -33,6 +34,7 @@ func TestSyncRuleStatePersister_Sync(t *testing.T) { Labels: data.Labels{ "label-1": "value-1", }, + FiredAt: util.Pointer(time.Now()), LastEvaluationTime: time.Now(), StartsAt: time.Now(), EndsAt: time.Now(), @@ -72,6 +74,7 @@ func TestSyncRuleStatePersister_Sync(t *testing.T) { LastEvalTime: s.LastEvaluationTime, CurrentStateSince: s.StartsAt, CurrentStateEnd: s.EndsAt, + FiredAt: s.FiredAt, ResolvedAt: s.ResolvedAt, LastSentAt: s.LastSentAt, ResultFingerprint: s.ResultFingerprint.String(),