You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The modification command can be rejected for different reasons (e.g. element instance is not active anymore). If the command is rejected then we need to ensure that no side-effect is produced (i.e. no records written, no state modified). The command should be processed atomically.
Note that this issue depends on the progress of the engine abstraction topic. We need to roll back the side-effects (i.e. database transaction, records) in the engine if the command gets rejected. But we don't have control over the side-effect in the engine.
Currently, we could only throw an exception to roll back the side effects. As a result, the side-effects are rolled back and the command is rejected. But this would also add the process instance to the blacklist and would make it unusable.
One hacky idea is to create a special exception (e.g. DoNotBlacklistProcessInstanceException) and handle this explicitly in the stream processor to avoid that the process instance being added to the blacklist.
Description
The modification command can be rejected for different reasons (e.g. element instance is not active anymore). If the command is rejected then we need to ensure that no side-effect is produced (i.e. no records written, no state modified). The command should be processed atomically.
Note that this issue depends on the progress of the engine abstraction topic. We need to roll back the side-effects (i.e. database transaction, records) in the engine if the command gets rejected. But we don't have control over the side-effect in the engine.
Currently, we could only throw an exception to roll back the side effects. As a result, the side-effects are rolled back and the command is rejected. But this would also add the process instance to the blacklist and would make it unusable.
One hacky idea is to create a special exception (e.g.
DoNotBlacklistProcessInstanceException
) and handle this explicitly in the stream processor to avoid that the process instance being added to the blacklist.Related to #9420
Related to #9644
Blocked by
The text was updated successfully, but these errors were encountered: