Add one-time move to the versioning override API!#808
Conversation
| // Indicates whether to override the workflow to be AutoUpgrade or Pinned. | ||
| oneof override { | ||
| // Override the workflow to have Pinned behavior. | ||
| PinnedOverride pinned = 3; |
There was a problem hiding this comment.
so this would continue to be sticky pin behavior? I think we need to update the doc so it is more clear. It would ignore even when SDK do CAN and wants change to AU to current version?
There was a problem hiding this comment.
It would ignore even when SDK do CAN and wants change to AU to current version
yes, the PinnedOverride is meant to be sticky. As long as it exists on a workflow execution, it shall be pinned to a specific workflow execution
| // until one Workflow Task completes there. After completion, the workflow | ||
| // execution's Versioning Behavior and Deployment Version come from the | ||
| // worker's completion response. | ||
| OneTimeOverride one_time = 5; |
There was a problem hiding this comment.
I have given this naming some more thought. What do you think about?
-
MoveAndKeepDefaultBehavior: this clearly tells the behavior. move to version X, then respect whatever is the default versioning configuration defined in code. It tells this is not sticky unlike PinnedOverride where it moves to version X and stays put.
-
Also add the following to the comment:
When you moves the wf from version x to y, and a new version z arrives.- if a workflow is pinned, it will stay on the y
- if wf is auto upgrade -- it will move to z
- if wf uses upgrade on can -- it will move to z when can happens
-
Personally, I would avoid using temporary.
What changed?
Why?
Breaking changes
Server PR