From 44e0789f7192ea2095c09f01067cec864ee7ba0c Mon Sep 17 00:00:00 2001 From: Dan Davison Date: Thu, 19 Dec 2024 11:54:22 -0500 Subject: [PATCH 1/3] encyclopedia tweaks --- .../application-message-passing.mdx | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/docs/encyclopedia/application-message-passing.mdx b/docs/encyclopedia/application-message-passing.mdx index b4fca5e8eb..dccb2e3145 100644 --- a/docs/encyclopedia/application-message-passing.mdx +++ b/docs/encyclopedia/application-message-passing.mdx @@ -194,28 +194,27 @@ Minimum Temporal Server version [Temporal Server version 1.26](https://github.co ::: Update-With-Start sends an Update that checks whether an already-running Workflow with that ID exists. -If it does, the Update is processed. -If not, it starts a new Workflow Execution with the supplied ID. -When starting a new Workflow, it immediately processes the Update. +If it does, the Update is processed normally. +If not, it starts a new Workflow Execution with the supplied ID, and immediately processes the Update. Update-With-Start is great for latency-sensitive use cases: - **Lazy Initialization** - Instead of making separate Start Workflow and Update Workflow calls, Update-With-Start allows you to send them together in a single roundtrip. - For example, a shopping cart can be modelled using Update-With-Start. -Updates let you add and remove items from the cart. + For example, a shopping cart can be modeled using Update-With-Start. + Updates let you add and remove items from the cart. Update-With-Start lets the customer start shopping, whether the cart already exists or they've just started shopping. - It ensures the cart, modeled by a Workflow Execution, is created before applying any Update that changes the state of items within the cart. + It ensures the cart, modeled by a Workflow Execution, exists before applying any Update that changes the state of items within the cart. - **Early Return** - - Using Update-With-Start can begin a new Workflow Execution and synchronously receiving a response while the Workflow Execution continues to run to completion. + Using Update-With-Start you can begin a new Workflow Execution and synchronously receive a response, while the Workflow Execution continues to run to completion. For example, you might model a payment process using Update-With-Start. - Whether the payment completes or rolls back, you can send the payment validation results back to the client synchronously, while attempting the transaction asynchronously. + This allows you to send the payment validation results back to the client synchronously, while the transaction Workflow continues in the background. :::caution Unlike Signal-with-Start - Update-With-Start is *not* atomic. -If the Update can't be delivered, for example, say that there's no running Worker available, a new Workflow Execution will still start. -The SDKs will retry the Update-With-Start request but there is no guarantee that it will succeed. +If the Update can't be delivered, for example, because there's no running Worker available, a new Workflow Execution will still start. +The SDKs will retry the Update-With-Start request, but there is no guarantee that the Update will succeed. ::: From 1270d18f4fd0c4f58ab825b697b7416a3aae0465 Mon Sep 17 00:00:00 2001 From: Dan Davison Date: Thu, 19 Dec 2024 14:35:24 -0500 Subject: [PATCH 2/3] Applt fixed server tag 1.26.2 --- docs/develop/go/message-passing.mdx | 2 +- docs/develop/java/message-passing.mdx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/develop/go/message-passing.mdx b/docs/develop/go/message-passing.mdx index f5a69eb45a..8cfa669eeb 100644 --- a/docs/develop/go/message-passing.mdx +++ b/docs/develop/go/message-passing.mdx @@ -381,7 +381,7 @@ if err != nil { In [Public Preview](/evaluate/development-production-features/release-stages#public-preview) in Temporal Cloud. -Minimum Temporal Server version [Temporal Server version 1.26](https://github.com/temporalio/temporal/releases/tag/v1.26.0) +Minimum Temporal Server version [Temporal Server version 1.26](https://github.com/temporalio/temporal/releases/tag/v1.26.2) ::: diff --git a/docs/develop/java/message-passing.mdx b/docs/develop/java/message-passing.mdx index c7de3363d8..9654e7b4e0 100644 --- a/docs/develop/java/message-passing.mdx +++ b/docs/develop/java/message-passing.mdx @@ -390,7 +390,7 @@ You can use the `WorkflowUpdateHandle` to obtain information about the update: In [Public Preview](/evaluate/development-production-features/release-stages#public-preview) in Temporal Cloud. -Minimum Temporal Server version [Temporal Server version 1.26](https://github.com/temporalio/temporal/releases/tag/v1.26.0) +Minimum Temporal Server version [Temporal Server version 1.26](https://github.com/temporalio/temporal/releases/tag/v1.26.2) ::: From bb7d1f3745e622d1d8a109d29e09e5738ab7ad74 Mon Sep 17 00:00:00 2001 From: Dan Davison Date: Thu, 19 Dec 2024 12:47:46 -0500 Subject: [PATCH 3/3] Go/Java tweaks --- docs/develop/go/message-passing.mdx | 6 +++--- docs/develop/java/message-passing.mdx | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/develop/go/message-passing.mdx b/docs/develop/go/message-passing.mdx index 8cfa669eeb..936cfa2a8f 100644 --- a/docs/develop/go/message-passing.mdx +++ b/docs/develop/go/message-passing.mdx @@ -389,7 +389,7 @@ Minimum Temporal Server version [Temporal Server version 1.26](https://github.co [send an Update](/develop/go/message-passing#send-update-from-client) that checks whether an already-running Workflow with that ID exists: - If the Workflow exists, the Update is processed. -- If the Workflow does not exist, a new Workflow Execution starts with the given ID, and the Update is processed immediately after. +- If the Workflow does not exist, a new Workflow Execution is started with the given ID, and the Update is processed immediately after. Use the [`Client.UpdateWithStartWorkflow`](https://pkg.go.dev/go.temporal.io/sdk/client#Client.UpdateWithStartWorkflow) API call. It returns once the requested Update wait stage has been reached; or when a provided context times out. @@ -412,8 +412,8 @@ You will need to provide: - [`Client.NewWithStartWorkflowOperation`](https://pkg.go.dev/go.temporal.io/sdk/client#Client.NewWithStartWorkflowOperation). Specify the workflow options, method and arguments. - Note that a `WithStartWorkflowOperation` can only be executed once. - Re-using a previously executed operation returns an error from `UpdateWithStartWorkflow`. + Note that a `WithStartWorkflowOperation` can only be used once. + Re-using a previously used operation returns an error from `UpdateWithStartWorkflow`. The following example shows the creation, configuration, and use of UpdateWithStart: diff --git a/docs/develop/java/message-passing.mdx b/docs/develop/java/message-passing.mdx index 9654e7b4e0..978929a766 100644 --- a/docs/develop/java/message-passing.mdx +++ b/docs/develop/java/message-passing.mdx @@ -398,7 +398,7 @@ Minimum Temporal Server version [Temporal Server version 1.26](https://github.co [send an Update](/develop/java/message-passing#send-update-from-client) that checks whether an already-running Workflow with that ID exists: - If the Workflow exists, the Update is processed. -- If the Workflow does not exist, a new Workflow Execution starts with the given ID, and the Update is processed immediately after. +- If the Workflow does not exist, a new Workflow Execution is started with the given ID, and the Update is processed immediately after. Use the [`startUpdateWithStart`](https://javadoc.io/doc/io.temporal/temporal-sdk/latest/io/temporal/client/WorkflowClient.html#startUpdateWithStart(io.temporal.workflow.Functions.Func,io.temporal.client.UpdateOptions,io.temporal.client.WithStartWorkflowOperation)) WorkflowClient API. It returns once the requested Update wait stage has been reached; or when the request times out. @@ -420,8 +420,8 @@ You will need to provide: - [`WithStartWorkflowOperation`](https://javadoc.io/doc/io.temporal/temporal-sdk/latest/io/temporal/client/WithStartWorkflowOperation.html). Specify the workflow method. - Note that a `WithStartWorkflowOperation` can only be executed once. - Re-using a previously executed operation returns an error from `startUpdateWithStart`. + Note that a `WithStartWorkflowOperation` can only be used once. + Re-using a previously used operation returns an error from `startUpdateWithStart`. For example: