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

Completed inner instances of multi-instances are represented as transition instances #2075

Open
ThorbenLindhauer opened this issue Mar 9, 2016 · 0 comments
Labels
scope:core-api Changes to the core API: engine, dmn-engine, feel-engine, REST API, OpenAPI type:bug Issues that describe a user-facing bug in the project.

Comments

@ThorbenLindhauer
Copy link
Member

This issue was imported from JIRA:

Field Value
JIRA Link CAM-5609
Reporter @ThorbenLindhauer
Has restricted visibility comments false

The Javadocs for TransitionInstance say that these are used to represent asynchronous continuations. However, for a multi-instance activity, where 1 out of 3 instances have completed, the completed instances are represented as transition instances, e.g.

└── Process:1:3=>7
    └── userTask#multiInstanceBody=>userTask#multiInstanceBody:10
        ├── transition to/from userTask:17
        ├── userTask=>userTask:28
        └── userTask=>userTask:30

This is bad, because:

  • cancelling this instance via modification makes no sense (yet the API is there to cancel transition instances)
  • it is not possible to differentiate whether the transition instance is actually completed or not yet completed but async after the inner activity

This is not easy to fix, because:

  • in the database, the two scenarios cannot be easily distinguished. The Execution#isEnded flag could be used, but is not persisted.

Side note:

  • this is related to the joining behavior of parallel multi-instance, i.e. the question how we distinguish whether all instances are complete or some are still async after the inner activity. The answer in this case is considering the loop variables for joining the instances. While this answers the question whether there are any async after transition instances (and vice versa, completed inner instances), it cannot tell us which is which.

Links:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scope:core-api Changes to the core API: engine, dmn-engine, feel-engine, REST API, OpenAPI type:bug Issues that describe a user-facing bug in the project.
Projects
None yet
Development

No branches or pull requests

1 participant