Skip to content

Commit 1b04239

Browse files
authored
Remove dead continuedAsNew code after do-while loop (#1304)
The do-while loop in OnProcessWorkItemAsync exits only when continuedAsNew is false. This means all references to continuedAsNew and continuedAsNewMessage after the loop are dead code: - The ternary checks 'continuedAsNew ? null : messagesToSend' always evaluate to messagesToSend (same for timerMessages). - continuedAsNewMessage is always null (only set when continuedAsNew is true, which causes the loop to continue). - 'continuedAsNew' in the return statement is always false. This change: - Narrows the scope of continuedAsNew to just around the do-while loop - Moves continuedAsNewMessage declaration inside the loop body - Simplifies the CompleteTaskOrchestrationWorkItemAsync call arguments - Removes continuedAsNew from the return expression
1 parent 7c4e018 commit 1b04239

1 file changed

Lines changed: 6 additions & 7 deletions

File tree

src/DurableTask.Core/TaskOrchestrationDispatcher.cs

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -318,15 +318,13 @@ protected async Task<bool> OnProcessWorkItemAsync(TaskOrchestrationWorkItem work
318318
var timerMessages = new List<TaskMessage>();
319319
var orchestratorMessages = new List<TaskMessage>();
320320
var isCompleted = false;
321-
var continuedAsNew = false;
322321
var isInterrupted = false;
323322
var isRewinding = false;
324323

325324
// correlation
326325
CorrelationTraceClient.Propagate(() => CorrelationTraceContext.Current = workItem.TraceContext);
327326

328327
ExecutionStartedEvent? continueAsNewExecutionStarted = null;
329-
TaskMessage? continuedAsNewMessage = null;
330328
IList<HistoryEvent>? carryOverEvents = null;
331329
string? carryOverStatus = null;
332330

@@ -389,10 +387,11 @@ protected async Task<bool> OnProcessWorkItemAsync(TaskOrchestrationWorkItem work
389387
}
390388
else
391389
{
390+
bool continuedAsNew;
392391
do
393392
{
394393
continuedAsNew = false;
395-
continuedAsNewMessage = null;
394+
TaskMessage? continuedAsNewMessage = null;
396395

397396
IReadOnlyList<OrchestratorAction> decisions = new List<OrchestratorAction>();
398397
bool versioningFailed = false;
@@ -707,18 +706,18 @@ protected async Task<bool> OnProcessWorkItemAsync(TaskOrchestrationWorkItem work
707706
await this.orchestrationService.CompleteTaskOrchestrationWorkItemAsync(
708707
workItem,
709708
runtimeState,
710-
continuedAsNew ? null : messagesToSend,
709+
messagesToSend,
711710
orchestratorMessages,
712-
continuedAsNew ? null : timerMessages,
713-
continuedAsNewMessage,
711+
timerMessages,
712+
continuedAsNewMessage: null,
714713
instanceState);
715714

716715
if (workItem.RestoreOriginalRuntimeStateDuringCompletion)
717716
{
718717
workItem.OrchestrationRuntimeState = runtimeState;
719718
}
720719

721-
return isCompleted || continuedAsNew || isInterrupted || isRewinding;
720+
return isCompleted || isInterrupted || isRewinding;
722721
}
723722

724723
static OrchestrationExecutionContext GetOrchestrationExecutionContext(OrchestrationRuntimeState runtimeState)

0 commit comments

Comments
 (0)