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 02801d6da25ea..c5a1b5cc86fa2 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 @@ -886,9 +886,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), @@ -967,7 +972,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({ @@ -1029,7 +1034,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({ @@ -1091,7 +1096,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({ @@ -1155,7 +1160,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({ @@ -1312,7 +1317,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({ @@ -1461,7 +1466,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 f603d293bceae..e422cb91efddc 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 @@ -620,17 +620,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(