diff --git a/src/DurableTask.Core/TaskOrchestrationContext.cs b/src/DurableTask.Core/TaskOrchestrationContext.cs index 02afb9d12..b290b0072 100644 --- a/src/DurableTask.Core/TaskOrchestrationContext.cs +++ b/src/DurableTask.Core/TaskOrchestrationContext.cs @@ -33,6 +33,7 @@ internal class TaskOrchestrationContext : OrchestrationContext readonly IDictionary orchestratorActionsMap; readonly TaskScheduler taskScheduler; OrchestrationCompleteOrchestratorAction continueAsNew; + bool executionTerminated; int idCounter; public TaskOrchestrationContext(OrchestrationInstance orchestrationInstance, TaskScheduler taskScheduler) @@ -376,7 +377,11 @@ private void LogDuplicateEvent(string source, HistoryEvent historyEvent, int tas public void HandleExecutionTerminatedEvent(ExecutionTerminatedEvent terminatedEvent) { - CompleteOrchestration(terminatedEvent.Input, null, OrchestrationStatus.Terminated); + if (!executionTerminated) + { + executionTerminated = true; + CompleteOrchestration(terminatedEvent.Input, null, OrchestrationStatus.Terminated); + } } public void CompleteOrchestration(string result)