Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support process instance migration with active user tasks #3311

Merged
merged 6 commits into from
Feb 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/apis-tools/zeebe-api/gateway-service.md
Original file line number Diff line number Diff line change
Expand Up @@ -838,6 +838,7 @@ Returned if:

- Not all active elements in the given process instance are mapped to the elements in the target process definition
- A mapping instruction changes the type of an element or event
- A mapping instruction changes the implementation of a task
- A mapping instruction refers to an unsupported element (i.e. some elements will be supported later on)
- A mapping instruction refers to element in unsupported scenarios.
(i.e. migrating active elements with event subscriptions will be supported later on)
Expand Down
5 changes: 4 additions & 1 deletion docs/components/concepts/process-instance-migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,8 @@ You do not have to provide a mapping instruction from the process instance's pro
## Jobs, expressions, and input mappings

We do not recreate jobs, reevaluate expressions, and reapply input mappings of the active elements.
Any existing variables and jobs continue to exist with the same values as previously assigned.
We also don't adjust any static values if they differ between the two process definitions.
Any existing variables, user tasks, and jobs continue to exist with the same values as previously assigned.

Let's consider an active service task that created a job when it was activated with type `send_mail`.
In the target process definition, the job type expression is changed as follows:
Expand Down Expand Up @@ -142,6 +143,7 @@ The following limitations exist that may be supported in future versions:
- Only elements of the following types can be migrated:
- A process instance
- A service task
- A user task
- The following scenarios cannot be migrated:
- A process instance with an incident
- A process instance that is started from a call activity, i.e. a child process instance
Expand All @@ -152,6 +154,7 @@ The following limitations exist that may be supported in future versions:
- An element that becomes nested in a newly added sub-process
- An element that was nested in a sub-process is no longer nested in that sub-process
- Mapping instructions cannot change the element type
- Mapping instructions cannot change the task implementation, e.g. from a job worker user task to a Zeebe user task
- The process instance must be in a wait state, i.e. waiting for an event or external input like job completion. It may not be taking a sequence flow or triggering an event while migrating the instance

A full overview of error codes can be found in the [migration command](/apis-tools/zeebe-api/gateway-service.md#migrateprocessinstance-rpc).
Expand Down
Loading