Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 9 additions & 6 deletions arch_docs/sdks_intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -119,10 +119,13 @@ refer back to this diagram during later explanations.
```mermaid
%%{ init : { "theme" : "default", "themeVariables" : { "background" : "#fff" }}}%%
sequenceDiagram
participant Client
participant Server
participant SDK
participant UserCode as "User Code"
box rgb(255, 255, 255)
participant Client
participant Server
participant SDK
participant UserCode as "User Code"
end
Client ->> Server: StartWorkflowExecution RPC
Server ->> Server: Generate Workflow Task & persist
Server -->> Client: runID
Expand Down Expand Up @@ -280,7 +283,7 @@ with a command already in history.
If the order of arguments to `asyncio.gather` is swapped in the previous example Workflow, replaying
the Workflow will result in a nondeterminism error (often referred to as an "NDE"):

```
```
temporalio.workflow.NondeterminismError: Workflow activation completion failed: Failure { failure:
Some(Failure { message: "[TMPRL1100] Nondeterminism error: Timer machine does not handle this event:
HistoryEvent(id: 5, ActivityTaskScheduled)", source: "", stack_trace: "", encoded_attributes: None,
Expand All @@ -293,4 +296,4 @@ This error occurs because the "dual" events in the history are not in the same o
produced by the modified Workflow code. The timer machine, expecting a `TimerStarted` event,
encounters an `ActivityTaskScheduled` event instead, leading to a nondeterminism error. In other
words, we did not produce the same commands in the same order. This mechanism ensures Workflow state
consistency.
consistency.
Loading