Skip to content

Commit 4a0976d

Browse files
committed
remove abort controller after checkpoint in all cases
1 parent 8bd7ffe commit 4a0976d

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

apps/coordinator/src/checkpointer.ts

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -415,6 +415,14 @@ export class Checkpointer {
415415
const buildah = new Buildah({ id: `${runId}-${shortCode}`, abortSignal: controller.signal });
416416
const crictl = new Crictl({ id: `${runId}-${shortCode}`, abortSignal: controller.signal });
417417

418+
const removeCurrentAbortController = () => {
419+
// Ensure only the current controller is removed
420+
if (this.#abortControllers.get(runId) === controller) {
421+
this.#abortControllers.delete(runId);
422+
}
423+
controller.signal.removeEventListener("abort", onAbort);
424+
};
425+
418426
const cleanup = async () => {
419427
const metadata = {
420428
runId,
@@ -424,6 +432,7 @@ export class Checkpointer {
424432

425433
if (this.#dockerMode) {
426434
this.#logger.debug("Skipping cleanup in docker mode", metadata);
435+
removeCurrentAbortController();
427436
return;
428437
}
429438

@@ -436,11 +445,7 @@ export class Checkpointer {
436445
this.#logger.error("Error during cleanup", { ...metadata, error });
437446
}
438447

439-
// Ensure only the current controller is removed
440-
if (this.#abortControllers.get(runId) === controller) {
441-
this.#abortControllers.delete(runId);
442-
}
443-
controller.signal.removeEventListener("abort", onAbort);
448+
removeCurrentAbortController();
444449
};
445450

446451
try {

0 commit comments

Comments
 (0)