Details
-
Type:
Task
-
Status:
Done
(View Workflow)
-
Priority:
Normal
-
Resolution: Unresolved
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: FN
-
Labels:None Labels
-
Customer:Mobinets
Description
We identified an issue with the current Flowable process definitions on cloud env related to empty <errorEventDefinition/> elements in BPMN end events.
Problem:
In some deployed process definitions, end events had <errorEventDefinition/> without an errorRef.
Flowable requires an error code for error end events.
When these processes are executed, the following exception occurs:
org.flowable.common.engine.api.FlowableIllegalArgumentException: Error Code must not be null
at org.flowable.engine.delegate.BpmnError.setErrorCode(BpmnError.java:53)
at org.flowable.engine.delegate.BpmnError.<init>(BpmnError.java:48)
at org.flowable.engine.impl.bpmn.behavior.ErrorEndEventActivityBehavior.execute(ErrorEndEventActivityBehavior.java:48)
Root Cause:
Flowable engine requires all <errorEventDefinition/> elements to have a valid errorRef.
Some older BPMN files were deployed without a global error or without specifying errorRef on end events.
Activity
- All
- Comments
- Work Log
- History
- Activity
- Links Hierarchy
- Transitions
- Trace
This issue exists only on Cloud and is related to the Flowable version upgrade
-------
Solution Implemented--------1/// Developed a SOAP API method patchErrorEventDefinitions that:
-Reads the latest process definitions.
-Replaces empty <errorEventDefinition/> with <errorEventDefinition errorRef="ERR_TECHNICAL"/>.
-Redeploys the patched BPMN automatically.
2/// Intercepted all manual BPMN uploads through FN and SRD platforms to add any missing errorRef before deployment.
Only empty error end events are modified; all other BPMN logic remains untouched.
-------
Impact------Fixes runtime exceptions caused by missing error codes.
-Safe to deploy on staging or production before full validation.
-Prevents regression by automatically patching future manual BPMN uploads.