From 5908d9b9b69e738b1943a57d57718b7a0b2f2059 Mon Sep 17 00:00:00 2001 From: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com> Date: Tue, 4 Oct 2022 16:31:36 +0200 Subject: [PATCH] fix(medusa): Race condition in cart completion strategy (#2341) --- packages/medusa/src/strategies/cart-completion.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/medusa/src/strategies/cart-completion.ts b/packages/medusa/src/strategies/cart-completion.ts index 74888b5c79..829a79af67 100644 --- a/packages/medusa/src/strategies/cart-completion.ts +++ b/packages/medusa/src/strategies/cart-completion.ts @@ -328,9 +328,15 @@ class CartCompletionStrategy extends AbstractCartCompletionStrategy { if (err) { if (idempotencyKey.recovery_point !== "started") { await this.manager_.transaction(async (transactionManager) => { - await cartService - .withTransaction(transactionManager) - .deleteTaxLines(id) + try { + await orderService + .withTransaction(transactionManager) + .retrieveByCartId(id) + } catch (error) { + await cartService + .withTransaction(transactionManager) + .deleteTaxLines(id) + } }) } throw err