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 compensation boundary event subscriptions only by boundary event mapping #24487

Closed
Tracked by #22797
berkaycanbc opened this issue Nov 7, 2024 · 0 comments · Fixed by #24568
Closed
Tracked by #22797
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 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

Comments

@berkaycanbc
Copy link
Contributor

berkaycanbc commented Nov 7, 2024

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 task B to D 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

Migrate compensation event subscription enclosed by subprocess

Consider the following case where the instance waiting on service task B. To migrate service task B to D 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

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:

  • Target task must have a compensation boundary event attached
    • In our first example above, we need to make sure C has a compensation boundary event attached.
  • Source and target task should be in the same flow scope
    • In our second example above, we need to make sure A&C and subProcess1&subProcess2 is at the same level of flow scopes.
@berkaycanbc berkaycanbc self-assigned this Nov 8, 2024
@berkaycanbc berkaycanbc added kind/feature Categorizes an issue or PR as a feature, i.e. new behavior component/engine component/zeebe Related to the Zeebe component/team labels Nov 8, 2024
@berkaycanbc berkaycanbc changed the title Implement rejections for invalid compensation boundary event mappings Migrate compensation boundary event subscriptions only by boundary event mapping Nov 12, 2024
github-merge-queue bot pushed a commit that referenced this issue Nov 14, 2024
…ent mapping (#24568)

## Description

<!-- Describe the goal and purpose of this PR. -->

Check related issue description and commit messages for details.

## Related issues

closes #24487
@npepinpe npepinpe added the version:8.7.0-alpha2 Labal that represents features released with 8.7.0-alpha2 label Dec 4, 2024
@rodrigo-lourenco-lopes rodrigo-lourenco-lopes added the version:8.8.0-alpha1 Marks an issue as being completely or in parts released in 8.8.0-alpha1 label Feb 11, 2025
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 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
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants