Skip to content

Conversation

@acroca
Copy link
Member

@acroca acroca commented Nov 25, 2025

Implements the patching as described in the versioning proposal.

Quick summary of the changes added in this PR:

  • Support for adding ctx.IsPatched(patchName) bool to ongoing workflows
  • Set workflow instance to PendingVersion if the orchestrator find a patch mismatch
  • Add PendingVersion event when a patch mismatch is found
  • Populate state.IsPendingVersion acordingly

Signed-off-by: Albert Callarisa <albert@diagrid.io>
@acroca acroca requested a review from a team as a code owner November 25, 2025 10:12

if results.GetPatchMismatch() {
_ = runtimestate.AddEvent(wi.State, &protos.HistoryEvent{
EventId: -1,

Choose a reason for hiding this comment

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

Unrelated note: we should update Event ID to be optional.

Signed-off-by: Albert Callarisa <albert@diagrid.io>
@acroca acroca force-pushed the workflow-versioning branch from fb69eac to fd5db26 Compare November 28, 2025 14:27
Signed-off-by: Albert Callarisa <albert@diagrid.io>
Signed-off-by: Albert Callarisa <albert@diagrid.io>
Signed-off-by: Albert Callarisa <albert@diagrid.io>
Signed-off-by: Albert Callarisa <albert@diagrid.io>
Signed-off-by: Albert Callarisa <albert@diagrid.io>
Copy link

@cicoyle cicoyle left a comment

Choose a reason for hiding this comment

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

few things from me

@cicoyle
Copy link

cicoyle commented Dec 18, 2025

Can you resolve the conflicts?

Signed-off-by: Albert Callarisa <albert@diagrid.io>
Signed-off-by: Albert Callarisa <albert@diagrid.io>
Signed-off-by: Albert Callarisa <albert@diagrid.io>
@acroca acroca force-pushed the workflow-versioning branch 2 times, most recently from 3b7cc51 to ffdb640 Compare December 19, 2025 10:08
Signed-off-by: Albert Callarisa <albert@diagrid.io>
@acroca acroca force-pushed the workflow-versioning branch from ffdb640 to 0a01e95 Compare December 19, 2025 10:21
Signed-off-by: Albert Callarisa <albert@diagrid.io>
}

func (g *grpcExecutor) requireNotStalled(ctx context.Context, id string) error {
metadata, err := g.backend.GetOrchestrationMetadata(ctx, api.InstanceID(id))
Copy link

Choose a reason for hiding this comment

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

This looks to be very expensive to do on every call (?)
Does this need to be done in the executor, and not in dapr actor?

Copy link
Member Author

Choose a reason for hiding this comment

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

Makes sense, I moved to the actors in the dapr/dapr PR, this particular commit: dapr/dapr@fc07ce9

acroca added 3 commits January 8, 2026 08:19
Signed-off-by: Albert Callarisa <albert@diagrid.io>
Signed-off-by: Albert Callarisa <albert@diagrid.io>
Signed-off-by: Albert Callarisa <albert@diagrid.io>
Copy link

@cicoyle cicoyle left a comment

Choose a reason for hiding this comment

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

thx 🎉

@cicoyle cicoyle requested a review from JoshVanL January 8, 2026 14:38
Copy link

@JoshVanL JoshVanL left a comment

Choose a reason for hiding this comment

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

Just the one thing

Co-authored-by: Josh van Leeuwen <me@joshvanl.dev>
Signed-off-by: Albert Callarisa <albert@acroca.com>
@JoshVanL JoshVanL merged commit 0094a75 into dapr:main Jan 9, 2026
2 checks passed
@acroca acroca deleted the workflow-versioning branch January 9, 2026 13:20
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.

3 participants