dapr / dotnet-sdk

Dapr SDK for .NET
Apache License 2.0
1.12k stars 340 forks source link

Support workflow ID reuse policy #1220

Open kaibocai opened 11 months ago

kaibocai commented 11 months ago

Describe the feature

durabletask-go now support orchestration ID reuse policy, customer can reuse the orchestration ID with three different action ERROR, IGNORE, and TERMINATE with a target runtime status set.

ERROR- If there is an existing workflow then the scheduler throws an exception (this is the current behavior). IGNORE- If there is an existing workflow already scheduled, then the scheduler does nothing. TERMINATE- Terminates any existing workflows with the same instance ID and then schedules a new instance as one atomic action, similar to on-demand ContinueAsNew.

SDK needs to expose those options to customer orchestration ID reuse support.

Reference:

  1. https://github.com/microsoft/durabletask-go/pull/46
  2. https://github.com/microsoft/durabletask-dotnet/issues/255

Release Note

RELEASE NOTE:

RyanLettieri commented 11 months ago

/assign

cgillum commented 2 months ago

Marking this as P1 as it's a popular ask. However, it's also an additive change that will require a lot of work in terms of onboarding all the SDKs, making me think it's not a great candidate for P0.