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

Fix NPE during PI modification #10601

Merged
merged 2 commits into from Oct 5, 2022
Merged

Fix NPE during PI modification #10601

merged 2 commits into from Oct 5, 2022

Conversation

remcowesterhoud
Copy link
Contributor

@remcowesterhoud remcowesterhoud commented Oct 4, 2022

Description

Multiple terminate instructions could result in the termination of a specific element instance multiple times. When this happened a NPE would occur, rolling back the modification. When we encounter this issue we can just ignore the second termination of this specific element instance, as we've already processed it as part of a different instruction.

Related issues

closes #10537

Definition of Done

Not all items need to be done depending on the issue and the pull request.

Code changes:

  • The changes are backwards compatibility with previous versions
  • If it fixes a bug then PRs are created to backport the fix to the last two minor versions. You can trigger a backport by assigning labels (e.g. backport stable/1.3) to the PR, in case that fails you need to create backports manually.

Testing:

  • There are unit/integration tests that verify all acceptance criterias of the issue
  • New tests are written to ensure backwards compatibility with further versions
  • The behavior is tested manually
  • The change has been verified by a QA run
  • The impact of the changes is verified by a benchmark

Documentation:

  • The documentation is updated (e.g. BPMN reference, configuration, examples, get-started guides, etc.)
  • New content is added to the release announcement
  • If the PR changes how BPMN processes are validated (e.g. support new BPMN element) then the Camunda modeling team should be informed to adjust the BPMN linting.

Please refer to our review guidelines.

@github-actions
Copy link
Contributor

github-actions bot commented Oct 4, 2022

Test Results

   934 files  ±0     934 suites  ±0   2h 2m 45s ⏱️ - 1m 54s
7 391 tests +9  7 385 ✔️ +9  6 💤 ±0  0 ±0 
7 581 runs  +9  7 573 ✔️ +9  8 💤 ±0  0 ±0 

Results for commit 43b0a1d. ± Comparison against base commit f6ca10e.

♻️ This comment has been updated with latest results.

…ement

If a command is received in which both the multi instance body, as well as the nested element gets terminated we should be able to handle this without exceptions.
Copy link
Member

@saig0 saig0 left a comment

Choose a reason for hiding this comment

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

@remcowesterhoud looks good. 👍

I have only a minor suggestion regarding the test case.

A command could contain multiple terminate instruction that result in the termination of the same element instance. For example, when we have a sub process and a nested element. If both this sub process and the nested element are part of the terminate instructions, the nested element will be terminated twice.

When we receive the command we verify that all instances exist. However, once the first terminate instruction terminates the element, the instance no longer exist for the second terminate instruction. When this occurs we should ignore the terminate instruction.
@remcowesterhoud
Copy link
Contributor Author

bors merge

@zeebe-bors-camunda
Copy link
Contributor

Build succeeded:

@backport-action
Copy link
Collaborator

Successfully created backport PR #10608 for stable/8.1.

zeebe-bors-camunda bot added a commit that referenced this pull request Oct 5, 2022
10608: [Backport stable/8.1] Fix NPE during PI modification r=remcowesterhoud a=backport-action

# Description
Backport of #10601 to `stable/8.1`.

relates to #10537

Co-authored-by: Remco Westerhoud <remco@westerhoud.nl>
zeebe-bors-camunda bot added a commit that referenced this pull request Oct 7, 2022
10608: [Backport stable/8.1] Fix NPE during PI modification r=remcowesterhoud a=backport-action

# Description
Backport of #10601 to `stable/8.1`.

relates to #10537

Co-authored-by: Remco Westerhoud <remco@westerhoud.nl>
@korthout korthout added the version:8.1.1 Marks an issue as being completely or in parts released in 8.1.1 label Oct 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
version:8.1.1 Marks an issue as being completely or in parts released in 8.1.1
Projects
None yet
Development

Successfully merging this pull request may close these issues.

NPE terminating both multi-instance body and child elements during PI modification
4 participants