temporalio / temporalio/temporal
Add Activity support for Worker Versioning
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 23.2k
- Forks
- 1.9k
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 228
Description
Is your feature request related to a problem? Please describe.
My team has Workflows and Activities developed on different release cycles. We use Worker Versioning to either pin or use latest version of a Workflow. However, when a Workflow calls an Activity, even if the Activity Worker uses Worker Versioning, there is no way for the Workflow to specify the version of the Activity to use. We have resorted to baking the Activity version into the task queue name, which is not ideal as our Workers are already using Deployments and Versioning.
Describe the solution you'd like
Add versioningOverride to ActivityOptions, and have the Temporal Service use the versioningOverride (as well as the worker defaults specified in WorkerDeploymentOptions) to resolve the scheduled Activity to a Worker Deployment.
Describe alternatives you've considered
For now, we are baking the Activity Version into the task queue name, which forces all Activity calls to be pinned to a specific version.
Additional context
This would mostly leverage the work already done for Workflow Versioning.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the ActivityOptions and WorkerDeploymentOptions versioning behavior, then compare it with the existing Workflow Versioning implementation. The work is complete when an Activity can specify a versioningOverride and the Temporal Service uses it with worker defaults to resolve the Activity to a Worker Deployment.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100