Skip to content

Expose a public, typed orchestration ID reuse policy - #362

Open
andystaples wants to merge 2 commits into
mainfrom
andystaples-orchestration-id-reuse
Open

andystaples wants to merge 2 commits into
mainfrom
andystaples-orchestration-id-reuse

Conversation

@andystaples

Copy link
Copy Markdown
Contributor

Summary

Add OrchestrationIdReusePolicy in durabletask.client so applications can configure duplicate instance-ID behavior without constructing internal protobuf messages. dedupe_statuses uses public OrchestrationStatus values and matches the current .NET and Go convention: selected statuses reject duplicates; other stable statuses are eligible for backend replacement.

  • Support synchronous and asynchronous scheduling, including inherited Azure Managed and Functions-bound client APIs.
  • Preserve backend defaults when the policy or its status list is omitted. An explicit empty deduplication list permits replacement in every stable status.
  • Preserve existing protobuf policies unchanged, including their opposite, replaceable-status polarity and explicit empty-message behavior.
  • Reject invalid statuses and CONTINUED_AS_NEW before sending the scheduling request; expose the legacy CANCELED status for complete policy configuration.
  • Document provider-dependent guarantees, compatibility, and release coordination in the feature guide and affected package changelogs.

The shared protocol no longer supports action enums or atomic no-op/IGNORE. Replacement remains a single backend scheduling operation, not a client-side terminate-then-start sequence. Package versions and dependency minimums are unchanged; provider release coordination follows the core release.

Fixes #26.

Add public status-based deduplication policies while retaining protobuf callers and backend defaults. Document inherited provider support and protocol constraints.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings November 11, 2026 20:24

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@andystaples
andystaples marked this pull request as draft November 12, 2026 16:30
@andystaples
andystaples marked this pull request as ready for review November 12, 2026 16:59
Preserve the orchestration ID reuse policy entry alongside the new dependency warning entry.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Expose a public, typed orchestration ID reuse policy

2 participants