Closed danielkelemen closed 1 year ago
@danielkelemen please add the additional problem with the plan when migration is executed (see support case for details)
Additionally, on the 7.19.1-ee, even after manually adjusting the mappings for async after message start events, the migration fails at the last step due to the same error about update event trigger. While the /validate
request showed no error during the first step.
The data sent to migrateAsync
still contains the updateEventTrigger
set to true
.
updateEventTrigger: true
.
Pros: relatively straightforward.
Cons: other similar cases might remain uncovered (however, I cannot think of any).updateEventTrigger: false
.
Pros: would solve all situations, also unknown ones.
Cons:
false
; getting this logic right and robust is quite some effort.Backend: Generate report containing updateEventTrigger:true/false
Pros:
Cons:
updateEventTrigger:true/false
needs to be created)Opting for solution # 1 since it is the simplest, given that async process instance message start event is the only case in which we want to disable the flag. If this assumption falsifies in the future, we can still build a more robust solution like # 4.
Async Message Intermediate Throw Event
and Message End Event
can also cause this migration problem.
@danielkelemen, I fixed the additional scenarios. Please review.
Latest change does the following:
updateEventTrigger
to all flow nodes with MessageEventDefinition
and ReceiveTask
but not when they are of type:
EndEvent
IntermediateThrowEvent
This covers the following cases:
IntermediateThrowEvent
or EndEvent
don't have async flags, the generator doesn't create instructions, so they don't end up having updateEventTrigger = true
.
updateEventTrigger
cannot be set to true
since this would produce an errorIntermediateThrowEvent
or EndEvent
are included in the generator result, this is because they have async flags
updateEventTrigger
cannot be set to true
since this would produce an errorComprehensive test process: event-trigger-process.bpmn.zip
@gbetances089, I created a comprehensive BPMN Model to test the fixed behavior and to ensure no regressions were introduced for the existing behavior. But please feel free to play around and adjust it.
Comprehensive test process: event-trigger-process.bpmn.zip
I forgot some braces and broke the logic:
!bo.$type === 'bpmn:EndEvent'
bo.$type -> true
!bo.$type -> false
false === ‘bpmn:EndEvent’
false === true -> false
Tested on Snapshot camunda-bpm-run-ee-7.20.0-20230614.175338-62
using the model provided and a few more to see it more in details.
Environment (Required on creation)
7.19 and higher.
Description (Required on creation; please attach any relevant screenshots, stacktraces, log files, etc. to the ticket)
With https://github.com/camunda/camunda-bpm-platform/issues/2663 we automatically set the update event trigger flag for events containing messages. With async message start events this causes an error in the migration plan. The update event trigger flag should not be set for message start events.
Steps to reproduce (Required on creation)
message start event
, anintermediate message throw event
, and anend message throw event
and make them async before or after.Observed Behavior (Required on creation)
Cockpit migration shows an error.
Expected behavior (Required on creation)
Cockpit migration shows no error.
Root Cause (Required on prioritization)
We change the update event trigger flag for all activities with
messageRef
.Solution Ideas
The update event trigger update logic needs to be adjusted so that it doesn't affect the message start events.
Hints
Links
Breakdown
Dev2QA handover