From 6fcd0e984399f3649d773808ee0240e9ca947811 Mon Sep 17 00:00:00 2001 From: chopincode <40523036+chopincode@users.noreply.github.com> Date: Tue, 7 May 2024 09:40:05 -0700 Subject: [PATCH] Update src/docs/05-go-client/19-workflow-non-deterministic-error.md Co-authored-by: Steven L --- src/docs/05-go-client/19-workflow-non-deterministic-error.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/docs/05-go-client/19-workflow-non-deterministic-error.md b/src/docs/05-go-client/19-workflow-non-deterministic-error.md index 41f445f7b..60d164d54 100644 --- a/src/docs/05-go-client/19-workflow-non-deterministic-error.md +++ b/src/docs/05-go-client/19-workflow-non-deterministic-error.md @@ -83,7 +83,7 @@ The following table lists the decision tasks stack produced by this workflow. It | 24 | DecisionTaskScheduled | triggered by TimerFired | 25 | DecisionTaskStarted | | 26 | DecisionTaskCompleted | -| 27 | WorkflowCompleted | completed by decision +| 27 | WorkflowCompleted | completed by decision (the function call returned) As you may observe that this stack has strict orders. The whole point of the table above is that if the code you write involves some orchestration by Cadence, either your worker or Cadence server, they produce decision tasks. When your workflow gets replayed, it will strive to reconstruct this stack. Therefore, code changes to your workflow needs to make sure that they do not mess up with these decision tasks, which trigger non-deterministic errors. Then let's explore different types of non-deterministic errors and their root causes.