From 7850e442c836b73f949376d4108fe42507b2c1fb Mon Sep 17 00:00:00 2001 From: Matt Aitken Date: Thu, 12 Sep 2024 13:29:17 +0100 Subject: [PATCH] Set the checkpointEventId in marqs when the checkpoint is created for batchTriggerAndWait This should fix a horrible race condition when at max concurrency --- apps/webapp/app/v3/services/createCheckpoint.server.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/apps/webapp/app/v3/services/createCheckpoint.server.ts b/apps/webapp/app/v3/services/createCheckpoint.server.ts index 221c721c7..f88f0f71f 100644 --- a/apps/webapp/app/v3/services/createCheckpoint.server.ts +++ b/apps/webapp/app/v3/services/createCheckpoint.server.ts @@ -258,6 +258,16 @@ export class CreateCheckpointService extends BaseService { }; } + //if there's a message in the queue, we make sure the checkpoint event is on it + await marqs?.replaceMessage( + attempt.taskRun.id, + { + checkpointEventId: checkpointEvent.id, + }, + undefined, + true + ); + await ResumeBatchRunService.enqueue(batchRun.id, this._prisma); return {