From 6c70ed6c622287bed27402732189e17b27ce6e51 Mon Sep 17 00:00:00 2001 From: Andy Staples Date: Mon, 6 Oct 2025 10:38:19 -0600 Subject: [PATCH] Add race condition fix in critical section logic - Fix making a specific entity locking race condition error correctly --- src/DurableTask.Core/Entities/OrchestrationEntityContext.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/DurableTask.Core/Entities/OrchestrationEntityContext.cs b/src/DurableTask.Core/Entities/OrchestrationEntityContext.cs index d50015bf1..323cba441 100644 --- a/src/DurableTask.Core/Entities/OrchestrationEntityContext.cs +++ b/src/DurableTask.Core/Entities/OrchestrationEntityContext.cs @@ -187,7 +187,7 @@ public bool ValidateAcquireTransition(out string? errorMessage) /// public void RecoverLockAfterCall(string targetInstanceId) { - if (this.IsInsideCriticalSection) + if (this.IsInsideCriticalSection && !this.lockAcquisitionPending) { var lockToUse = EntityId.FromString(targetInstanceId); this.availableLocks!.Add(lockToUse);