Migrate compensation boundary event subscriptions only by boundary event mapping #24487
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
version:8.7.0-alpha2
Labal that represents features released with 8.7.0-alpha2
version:8.8.0-alpha1
Marks an issue as being completely or in parts released in 8.8.0-alpha1
Description
In the previous implementation, while migrating compensation boundary event subscriptions user required to provide mapping instructions for the activity and for any enclosing subprocesses. With this issue, we can further improve on the situation and only require a mapping between compensation boundary events. Providing mapping instructions only between compensation boundary events is enough to migrate them.
Migrate compensation event subscription
Consider the following case where the instance waiting on service task
B
. To migrate service taskB
toD
and preserve the compensation event subscription after the migration, following mapping instructions should be provided:B -> D
boundary1 -> boundary2
(please ignore invalid dots between activities)
![Screenshot 2024-11-05 at 14 38 26](https://private-user-images.githubusercontent.com/124141078/383167997-6692aaf9-cf17-41fe-98e9-d4ea109617d1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2MzI3ODIsIm5iZiI6MTczOTYzMjQ4MiwicGF0aCI6Ii8xMjQxNDEwNzgvMzgzMTY3OTk3LTY2OTJhYWY5LWNmMTctNDFmZS05OGU5LWQ0ZWExMDk2MTdkMS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQxNTE0NDJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xNmY4ZDU0ZmFkNThkMGNkNDA0NTJmOTZjNzAxYzkzZDVjZWExOTRmZTIyY2Q3ZTZkNGU2ZjA5MDg3NTk0YjRlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.AUa-mPnd4xzWylpFr9N06_XZBdZhOGcZ5x-WAkNMn5I)
Migrate compensation event subscription enclosed by subprocess
Consider the following case where the instance waiting on service task
B
. To migrate service taskB
toD
and preserve the compensation event subscription after the migration, following mapping instructions should be provided:B -> D
boundary1 -> boundary2
(please ignore invalid dots between activities)
![Screenshot 2024-11-08 at 12 35 15](https://private-user-images.githubusercontent.com/124141078/384353514-3bb4a346-f429-42a1-9d10-8ba1430bacdb.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk2MzI3ODIsIm5iZiI6MTczOTYzMjQ4MiwicGF0aCI6Ii8xMjQxNDEwNzgvMzg0MzUzNTE0LTNiYjRhMzQ2LWY0MjktNDJhMS05ZDEwLThiYTE0MzBiYWNkYi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQxNTE0NDJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04NTdjNjM1NmEzNWUwYzE1ZjI0ZjVhZjJlMGEyODRmNzFjN2YxOGU2ZTQzY2MyZDY3Y2U0MDI1MzczNWIzOTIyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.GQpfLD-Nj_96BUpyq1UAcOX9CEHytd-QtxsLHENxd7c)
Validation Cases
While providing mapping instructions we need to make sure they are correctly mapped. When a mapping instruction for a task with a compensation boundary event attached is provided, we need to make sure the following:
C
has a compensation boundary event attached.A
&C
andsubProcess1
&subProcess2
is at the same level of flow scopes.The text was updated successfully, but these errors were encountered: