From 96b17768563e6d11175c39a40d006f077326a6e2 Mon Sep 17 00:00:00 2001 From: Will Browne Date: Tue, 23 Nov 2021 15:40:09 +0000 Subject: [PATCH] Chore: Fix pass context for SetAlertStateCommand (#42135) * fix pass ctx for SetAlertStateCommand * fix integration test --- pkg/services/alerting/result_handler.go | 2 +- pkg/services/sqlstore/alert.go | 6 +++--- pkg/services/sqlstore/alert_test.go | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkg/services/alerting/result_handler.go b/pkg/services/alerting/result_handler.go index b9861e5f770..a8e6bf2e7bb 100644 --- a/pkg/services/alerting/result_handler.go +++ b/pkg/services/alerting/result_handler.go @@ -58,7 +58,7 @@ func (handler *defaultResultHandler) handle(evalContext *EvalContext) error { EvalData: annotationData, } - if err := bus.Dispatch(cmd); err != nil { + if err := bus.DispatchCtx(evalContext.Ctx, cmd); err != nil { if errors.Is(err, models.ErrCannotChangeStateOnPausedAlert) { handler.log.Error("Cannot change state on alert that's paused", "error", err) return err diff --git a/pkg/services/sqlstore/alert.go b/pkg/services/sqlstore/alert.go index 040cf298087..1680555d8bd 100644 --- a/pkg/services/sqlstore/alert.go +++ b/pkg/services/sqlstore/alert.go @@ -19,7 +19,7 @@ func (ss *SQLStore) addAlertQueryAndCommandHandlers() { bus.AddHandlerCtx("sql", ss.HandleAlertsQuery) bus.AddHandlerCtx("sql", ss.GetAlertById) bus.AddHandlerCtx("sql", ss.GetAllAlertQueryHandler) - bus.AddHandlerCtx("sql", SetAlertState) + bus.AddHandlerCtx("sql", ss.SetAlertState) bus.AddHandlerCtx("sql", ss.GetAlertStatesForDashboard) bus.AddHandlerCtx("sql", PauseAlert) bus.AddHandlerCtx("sql", PauseAllAlerts) @@ -305,8 +305,8 @@ func GetAlertsByDashboardId2(dashboardId int64, sess *DBSession) ([]*models.Aler return alerts, nil } -func SetAlertState(ctx context.Context, cmd *models.SetAlertStateCommand) error { - return inTransaction(func(sess *DBSession) error { +func (ss *SQLStore) SetAlertState(ctx context.Context, cmd *models.SetAlertStateCommand) error { + return ss.WithTransactionalDbSession(ctx, func(sess *DBSession) error { alert := models.Alert{} if has, err := sess.ID(cmd.AlertId).Get(&alert); err != nil { diff --git a/pkg/services/sqlstore/alert_test.go b/pkg/services/sqlstore/alert_test.go index 350685f803b..8fece7a975d 100644 --- a/pkg/services/sqlstore/alert_test.go +++ b/pkg/services/sqlstore/alert_test.go @@ -83,7 +83,7 @@ func TestAlertingDataAccess(t *testing.T) { State: models.AlertStateOK, } - err := SetAlertState(context.Background(), cmd) + err := sqlStore.SetAlertState(context.Background(), cmd) require.Nil(t, err) }) @@ -100,7 +100,7 @@ func TestAlertingDataAccess(t *testing.T) { State: models.AlertStateOK, } - err = SetAlertState(context.Background(), cmd) + err = sqlStore.SetAlertState(context.Background(), cmd) require.Error(t, err) })