From a7c45faa469e2aaa27d30731818ecc602c2232d2 Mon Sep 17 00:00:00 2001 From: chopincode <40523036+chopincode@users.noreply.github.com> Date: Tue, 7 May 2024 09:52:18 -0700 Subject: [PATCH] add a page to expose non-deterministic errors details (#185) add a page to expose non-deterministic errors details --- .../19-workflow-non-deterministic-error.md | 178 ++++++++++++++++++ .../change-workflow-ownership.png | Bin 0 -> 67086 bytes 2 files changed, 178 insertions(+) create mode 100644 src/docs/05-go-client/19-workflow-non-deterministic-error.md create mode 100644 src/shared/img/non-determinsitic-errors-page-visuals/change-workflow-ownership.png 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 new file mode 100644 index 000000000..276e712e1 --- /dev/null +++ b/src/docs/05-go-client/19-workflow-non-deterministic-error.md @@ -0,0 +1,178 @@ +--- +layout: default +title: Workflow Non-deterministic errors +permalink: /docs/go-client/workflow-non-deterministic-errors +--- + +# Workflow Non-deterministic errors + +## Root cause of non-deterministic errors +Cadence workflows are designed as long-running operations, and therefore the workflow code you write must be deterministic so that no matter how many time it is executed it always produce the same results. + +In production environment, your workflow code will run on a distributed system orchestrated by clusters of machines. However, machine failures are inevitable and can happen anytime to your workflow host. If you have a workflow running for long period of time, maybe months even years, and it fails due to loss of a host, it will be resumed on another machine and continue the rest of its execution. + +Consider the following diagram where `Workflow A` is running on `Host A` but suddenly it crashes. + +![change-workflow-ownership](../../shared/img/non-determinsitic-errors-page-visuals/change-workflow-ownership.png) + +Workflow A then will be picked up by Host B and continues its execution. This process is called change of workflow ownership. However, after Host B gains ownership of the Workflow A, it does not have any information about its historical executions. For example, Workflow A may have executed many activities and it fails. Host B needs to redo all its history until the moment of failure. The process of reconstructing history of a workflow is called history replay. + +In general, any errors occurs during the replay process are called non-deterministic errors. We will explore different types of non-deterministic errors in sections below but first let's try to understand how Cadence is able to perform the replay of workflow in case of failure. + +## Decision tasks of workflow + +In the previous section, we learned that Cadence is able to replay workflow histories in case of failure. We will learn exactly how Cadence keeps track of histories and how they get replayed when necessary. + +Workflow histories are built based on event-sourcing, and each history event are persisted in Cadence storage. In Cadence, we call these history events decision tasks, the foundation of history replay. Most decision tasks have three status - Scheduled, Started, Completed and we will go over decision tasks produced by each Cadence operation in section below. + +When changing a workflow ownership of host and replaying a workflow, the decision tasks are downloaded from database and persisted in memory. Then during the workflow replaying process, if Cadence finds a decision task already exists for a particular step, it will immediately return the value of a decision task instead of rerunning the whole workflow logic. Let's take a look at the following simple workflow implementation and explicitly list all decision tasks produced by this workflow. + +```go +func SimpleWorkflow(ctx workflow.Context) error { + ao := workflow.ActivityOptions{ + ... + } + ctx = workflow.WithActivityOptions(ctx, ao) + + var a int + err := workflow.ExecuteActivity(ctx, ActivityA).Get(ctx, &a) + if err != nil { + return err + } + + workflow.Sleep(time.Minute) + + err = workflow.ExecuteActivity(ctx, ActivityB, a).Get(ctx, nil) + if err != nil { + return err + } + + workflow.Sleep(time.Hour) + return nil +} +``` + +In this workflow, when it starts, it first execute ActivityA and then assign the result to an integer. It sleeps for one minute and then use the integer as an input argument to execute ActivityB. Finally it sleeps for one hour and completes. + +The following table lists the decision tasks stack produced by this workflow. It may look overwhelming first but if you associate each decision task with its corresponding Cadence operation, it becomes self-explanatory. +| ID | Decision Task Type | Explanation +| -------- | ------- | -------------- | +| 1 | WorkflowStarted | the recorded StartWorkflow call's data, which usually schedules a new decision task immediately +| 2 | DecisionTaskScheduled | workflow worker polling for work +| 3 | DecisionTaskStarted | worker gets the type `SimpleWorkflow`, lookup registred funcs, deserialize input, call it +| 4 | DecisionTaskCompleted | worker finishes +| 5 | ActivityTaskScheduled | activity available for a worker +| 6 | ActivityTaskStarted | activity worker polls and gets type `ActivityA` and do the job +| 7 | ActivityTaskCompleted | activity work completed with result of var a +| 8 | DecisionTaskScheduled | triggered by ActivityCompleted. server schedule next task +| 9 | DecisionTaskStarted | +| 10 | DecisionTaskCompleted | +| 11 | TimerStarted | decision scheduled a timer for 1 minute +| 12 | TimerFired | fired after 1 minute +| 13 | DecisionTaskScheduled | triggered by TimerFired +| 14 | DecisionTaskStarted | +| 15 | DecisionTaskCompleted | +| 16 | ActivityTaskScheduled | `ActivityB` scheduled by decision with param a +| 17 | ActivityTaskStarted | started by worker +| 18 | ActivityTaskCompleted | completed with nil +| 19 | DecisionTaskScheduled | triggered by ActivityCompleted +| 20 | DecisionTaskStarted | +| 21 | DecisionTaskCompleted | +| 22 | TimerStarted | decision scheduled a timer for 1 hour +| 23 | TimerFired | fired after 1 hour +| 24 | DecisionTaskScheduled | triggered by TimerFired +| 25 | DecisionTaskStarted | +| 26 | DecisionTaskCompleted | +| 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. + +## Categories of non-deterministic errors +Programmatically, Cadence surfaces 4 categories of non-deterministic errors. With understanding of decision tasks in the previous section and combining the error messages, you should be able to pinpoint what code changes may yield to non-deterministic errors. + +### 1. Missing decisions +```go +fmt.Errorf("nondeterministic workflow: missing replay decision for %s", util.HistoryEventToString(e)) +``` +For source code click [here](https://github.com/uber-go/cadence-client/blob/e5081b085b0333bac23f198e57959681e0aee987/internal/internal_task_handlers.go#L1206) + +This means after replay code, the decision is scheduled less than history events. Using the previous history as an example, when the workflow is waiting at the one hour timer(event ID 22), if we delete the line of : +```go +workflow.Sleep(time.Hour) +``` +and restart worker, then it will run into this error. Because in the history, the workflow has a timer event that is supposed to fire in one hour. However, during replay, there is no logic to schedule that timer. + +### 2. Extra decisions +```go +fmt.Errorf("nondeterministic workflow: extra replay decision for %s", util.DecisionToString(d)) +``` +For source code click [here](https://github.com/uber-go/cadence-client/blob/e5081b085b0333bac23f198e57959681e0aee987/internal/internal_task_handlers.go#L1210) + +This is basically the opposite of the previous case, which means that during replay, Cadence generates more decisions than those in history events. Using the previous history as an example, when the workflow is waiting at the one hour timer(event ID 22), if we change the line of: +```go +err = workflow.ExecuteActivity(ctx, activityB, a).Get(ctx, nil) +``` +to +```go +fb := workflow.ExecuteActivity(ctx, activityB, a) +fc := workflow.ExecuteActivity(ctx, activityC, a) +err = fb.Get(ctx,nil) +if err != nil { + return err +} +err = fc.Get(ctx,nil) +if err != nil { + return err +} +``` +And restart worker, then it will run into this error. Because in the history, the workflow has scheduled only activityB after the one minute timer, however, during replay, there are two activities scheduled in a decision (in parallel). + +### 3. Mismatched decisions +```go +fmt.Errorf("nondeterministic workflow: history event is %s, replay decision is %s",util.HistoryEventToString(e), util.DecisionToString(d)) +``` +For source code click [here](https://github.com/uber-go/cadence-client/blob/e5081b085b0333bac23f198e57959681e0aee987/internal/internal_task_handlers.go#L1214) + +This means after replay code, the decision scheduled is different than the one in history. Using the previous history as an example, when the workflow is waiting at the one hour timer(event ID 22), +if we change the line of : +```go +err = workflow.ExecuteActivity(ctx, ActivityB, a).Get(ctx, nil) +``` +to +```go +err = workflow.ExecuteActivity(ctx, ActivityC, a).Get(ctx, nil) +``` +And restart worker, then it will run into this error. Because in the history, the workflow has scheduled ActivityB with input a, but during replay, it schedules ActivityC. + +### 4. Decision state machine panic +```go +fmt.Sprintf("unknown decision %v, possible causes are nondeterministic workflow definition code"+" or incompatible change in the workflow definition", id) +``` +For source code click [here](https://github.com/uber-go/cadence-client/blob/e5081b085b0333bac23f198e57959681e0aee987/internal/internal_decision_state_machine.go#L693) + +This usually means workflow history is corrupted due to some bug. For example, the same activity can be scheduled and differentiated by activityID. So ActivityIDs for different activities are supposed to be unique in workflow history. If however we have an ActivityID collision, replay will run into this error. + +## Common Q&A + +### I want to change my workflow implementation. What code changes may produce non-deterministic errors? + +As we discussed in previous sections, if your changes change decision tasks, then they will probably lead to non-deterministic errors. +These are some common changes that can be categorized by these previous 4 types mentioned above. + +1. Changing the order of executing Cadence defined operations, such as activities, timer, child workflows, signals, cancelRequest. +2. Change the duration of a timer +3. Use build-in goroutine of golang instead of using `workflow.Go` +4. Use build-in channel of golang instead of using `workflow.Channel` +5. Use build-in sleep function instead of using `workflow.Sleep` + +### What are some changes that will NOT trigger non-deterministic errors? + +Code changes that are free of non-deterministic erorrs normally do not involve decision tasks in Cadence. + +1. Activity input and output changes do not directly cause non-deterministic errors because the contents are not checked. However, changes may produce serialization errors based on your data converter implementation (type or number-of-arg changes are particularly prone to problems, so we recommend you always use a single struct). Cadence uses `json.Marshal` and `json.Unmarshal` (with `Decoder.UseNumber()`) by default. +2. Code changes that does not modify history events are safe to be checked in. For example, logging or metrics implementations. +3. Change of retry policies, as these are not compared. Adding or removing retry policies is also safe. Changes will only take effect on new calls however, not ones that have already been scheduled. + +### I want to check if my code change will produce non-deterministic errors, how can I debug? + +Cadence provides replayer test, which functions as an unit test on your local machine to replay your workflow history comparing to your potential code change. If you introduce a non-deterministic change and your history triggers it, the test should fail. Check out [this page](./18-workflow-replay-shadowing.md) for more details. diff --git a/src/shared/img/non-determinsitic-errors-page-visuals/change-workflow-ownership.png b/src/shared/img/non-determinsitic-errors-page-visuals/change-workflow-ownership.png new file mode 100644 index 0000000000000000000000000000000000000000..21f4841cdfdd43821746bb06a6a0b9e25dc4a617 GIT binary patch literal 67086 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�nZA%>~!* zPn{frlBAu6E>JTkMDsF#p&kTL(3ft<8b0f>OJXf_J#-y~y*;sWhy6> zUb)igV1@b%0wFw~{DbP=I(-E z9Syjrl;Z#ou`LjUHU$F_n4^Fmpca@1V+#-hq&q}KK94kkelmk6IuqjqAp1}nxXniS z4pI&5I{@+juA;Jr90mgcq8!E21RobvqX3r|i7DS8M>c(60enmi}8A z@D{XqNH__&V|akj%~`pNg#Q#K3d}R1w&%0xCr}Gu+-8z7Mv#tdfg>8VdfP4oP!KVo zAPFMl$PnqFfHt^Eot}dOWfqXHJBNuF#AHc;+fl~zpb>Z?z)SNcB6%U}Sq-c}bU zKrJaD(h@Mr(ugWS(24<&@ihk!Hq0=PTDppr1hAnjfMDK-mQV=M@PFyW1Gs%#!+7=_ zV!%Ye(1TyukoyaL2TByc!~zYmeE(ZjgcPj_bkC9Q4}~TkLYq9q{`3eG1`WtbWS)l> zqCEe({+E(J3Frq6#%WhUPEp^1o%&O+<^NhKdf;xGVu2hOOJ_EalizHx9;i79p|ieb zLR*3O3ICz``}2S&oGeG)KvW8ftpge|&sabLG~?VbU?gw;9wDP`U-}EZ11*G~|2Tv^ z!Vj*0P4DOcN#lV&8%PfbL6lz>+)l%&f{?E4OP>T>YhczxrcoGTX6mY=07#f0TzU=4 zY(i$S0xXsGS8$o27?Ux?RLKbTVHCiew|-23X

+(w@|okM_>%xUU}=oPq*Nf2 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 literal 0 HcmV?d00001