diff --git a/x-pack/platform/plugins/shared/alerting/server/task_runner/ad_hoc_task_runner.test.ts b/x-pack/platform/plugins/shared/alerting/server/task_runner/ad_hoc_task_runner.test.ts index 4722360b0add6..bb7de7886b15e 100644 --- a/x-pack/platform/plugins/shared/alerting/server/task_runner/ad_hoc_task_runner.test.ts +++ b/x-pack/platform/plugins/shared/alerting/server/task_runner/ad_hoc_task_runner.test.ts @@ -902,9 +902,14 @@ describe('Ad Hoc Task Runner', () => { expect(internalSavedObjectsRepository.delete).toHaveBeenCalledWith( AD_HOC_RUN_SAVED_OBJECT_TYPE, 'abc', - { refresh: false, namespace: undefined } + { refresh: true, namespace: undefined } ); + // Verify that updateGaps was called after delete + const deleteCallOrder = internalSavedObjectsRepository.delete.mock.invocationCallOrder[0]; + const updateGapsCallOrder = mockUpdateGaps.mock.invocationCallOrder[0]; + expect(updateGapsCallOrder).toBeGreaterThan(deleteCallOrder); + expect(mockUpdateGaps).toHaveBeenCalledWith({ ruleId: RULE_ID, start: new Date(mockedAdHocRunSO.attributes.start), @@ -983,7 +988,7 @@ describe('Ad Hoc Task Runner', () => { expect(internalSavedObjectsRepository.delete).toHaveBeenCalledWith( AD_HOC_RUN_SAVED_OBJECT_TYPE, 'abc', - { refresh: false, namespace: undefined } + { refresh: true, namespace: undefined } ); testAlertingEventLogCalls({ @@ -1045,7 +1050,7 @@ describe('Ad Hoc Task Runner', () => { expect(internalSavedObjectsRepository.delete).toHaveBeenCalledWith( AD_HOC_RUN_SAVED_OBJECT_TYPE, 'abc', - { refresh: false, namespace: undefined } + { refresh: true, namespace: undefined } ); testAlertingEventLogCalls({ @@ -1107,7 +1112,7 @@ describe('Ad Hoc Task Runner', () => { expect(internalSavedObjectsRepository.delete).toHaveBeenCalledWith( AD_HOC_RUN_SAVED_OBJECT_TYPE, 'abc', - { refresh: false, namespace: undefined } + { refresh: true, namespace: undefined } ); testAlertingEventLogCalls({ @@ -1171,7 +1176,7 @@ describe('Ad Hoc Task Runner', () => { expect(internalSavedObjectsRepository.delete).toHaveBeenCalledWith( AD_HOC_RUN_SAVED_OBJECT_TYPE, 'abc', - { refresh: false, namespace: undefined } + { refresh: true, namespace: undefined } ); testAlertingEventLogCalls({ @@ -1328,7 +1333,7 @@ describe('Ad Hoc Task Runner', () => { expect(internalSavedObjectsRepository.delete).toHaveBeenCalledWith( AD_HOC_RUN_SAVED_OBJECT_TYPE, 'abc', - { refresh: false, namespace: undefined } + { refresh: true, namespace: undefined } ); testAlertingEventLogCalls({ @@ -1477,7 +1482,7 @@ describe('Ad Hoc Task Runner', () => { expect(internalSavedObjectsRepository.delete).toHaveBeenCalledWith( AD_HOC_RUN_SAVED_OBJECT_TYPE, mockedAdHocRunSO.id, - { namespace: undefined, refresh: false } + { namespace: undefined, refresh: true } ); testAlertingEventLogCalls({ diff --git a/x-pack/platform/plugins/shared/alerting/server/task_runner/ad_hoc_task_runner.ts b/x-pack/platform/plugins/shared/alerting/server/task_runner/ad_hoc_task_runner.ts index 0a02f05453df2..7bd1f839d55a7 100644 --- a/x-pack/platform/plugins/shared/alerting/server/task_runner/ad_hoc_task_runner.ts +++ b/x-pack/platform/plugins/shared/alerting/server/task_runner/ad_hoc_task_runner.ts @@ -625,17 +625,17 @@ export class AdHocTaskRunner implements CancellableTask { async cleanup() { if (!this.shouldDeleteTask) return; - await this.updateGapsAfterBackfillComplete(); - try { await this.internalSavedObjectsRepository.delete( AD_HOC_RUN_SAVED_OBJECT_TYPE, this.taskInstance.params.adHocRunParamsId, { - refresh: false, + refresh: true, namespace: this.context.spaceIdToNamespace(this.taskInstance.params.spaceId), } ); + + await this.updateGapsAfterBackfillComplete(); } catch (e) { // Log error only, we shouldn't fail the task because of an error here (if ever there's retry logic) this.logger.error(