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

Migrate child process instances #15922

Closed
Tracked by #17349
korthout opened this issue Jan 15, 2024 · 1 comment · Fixed by #18509
Closed
Tracked by #17349

Migrate child process instances #15922

korthout opened this issue Jan 15, 2024 · 1 comment · Fixed by #18509
Assignees
Labels
component/engine component/zeebe Related to the Zeebe component/team kind/feature Categorizes an issue or PR as a feature, i.e. new behavior scope/broker Marks an issue or PR to appear in the broker section of the changelog

Comments

@korthout
Copy link
Member

korthout commented Jan 15, 2024

Similar to #15921, we also want to support migrating active child process instances, i.e. process instances called from a call activity.

This would be useful because it expands the coverage of process instances that can be migrated.

When working on this issue, please consider whether the call activity instance must be updated in any way. If so, we may need to add a new ProcessInstance:CHILD_MIGRATED event. Re-using the ProcessInstance:ELEMENT_MIGRATED for the call activity instance would be wrong semantically, as the call activity instance wasn't migrated.

@korthout korthout added kind/feature Categorizes an issue or PR as a feature, i.e. new behavior component/engine labels Jan 15, 2024
@romansmirnov romansmirnov added the component/zeebe Related to the Zeebe component/team label Mar 5, 2024
@korthout korthout added the scope/broker Marks an issue or PR to appear in the broker section of the changelog label Apr 10, 2024
@berkaycanbc berkaycanbc self-assigned this May 14, 2024
@berkaycanbc
Copy link
Contributor

Checked if there are any properties of the call activity instance that should be updated during the migration of the called child process instance. It turned out that it is not necessary. Only following fields of the child process instance can change:

  • the process definition key of the child process instance
  • the bpmn process id of the child process instance
  • the version of the child process instance
  • the element id of the active element inside the child process instance

Checked following classes to see if anything needs to be updated for the calling call activity:
ProcessInstanceRecord -> no data kept for child process instance
ElementInstance -> only called child instance's key is kept but it will not change during the migration
DBElementInstanceState -> parent and child instances are connected through instance keys that will not change during the migration of child process instance

github-merge-queue bot pushed a commit that referenced this issue May 16, 2024
## Description

We've verified that the call activity that is referencing the migrated
child
process instance does not have any properties that needs to be updated
on migration.
Following fields can be changed during the migration of child process
instance:
- the process definition key of the child process instance
- the bpmn process id of the child process instance
- the version of the child process instance
- the element id of the active element inside the child process instance

Checked following classes to see if anything needs to be updated for the
calling
call activity:
`ProcessInstanceRecord` -> no data kept for child process instance
`ElementInstance` -> only called child instance's key is kept but it
will not change
during the migration
`DBElementInstanceState` -> parent and child instances are connected
through instance
keys that will not change during the migration of child process instance

Therefore, there is no need to update call activity neither in log
stream nor in the
state.

Related issues #18328

closes #15922
github-merge-queue bot pushed a commit that referenced this issue May 22, 2024
# Description
Backport of #18509 to `stable/8.5`.

relates to #18328 #15922
original author: @berkaycanbc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/engine component/zeebe Related to the Zeebe component/team kind/feature Categorizes an issue or PR as a feature, i.e. new behavior scope/broker Marks an issue or PR to appear in the broker section of the changelog
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants