More Related Content
Similar to BPMN and CMMN execution error analysis (20)
BPMN and CMMN execution error analysis
- 1. BPMN and CMMN execution error
analysis
Tijs Rademakers (@tijsrademakers)
15-11-2019
@tijsrademakers 15 November 2019
- 2. ©2019FlowableAG. All rights reserved.
Historic and runtime tables with activity, variable,
execution data etc.
Flowable SLF4j / Log4J logging
Debugging Flowable
Current possibilities for error analysis
15 November 2019@tijsrademakers
- 3. ©2019FlowableAG. All rights reserved.
Failing job
Failing synchronous service task
• Rollback to previous wait state / full rollback
• No historic information stored
Failing set variable call, optimistic lock exception
Error possibilities
15 November 2019@tijsrademakers
- 4. ©2019FlowableAG. All rights reserved.
Not all data needed for a full analysis is present
Rollbacks are obviously not stored
Historic information shows the end result of a transaction
• Data is persisted in the database at the end of the transaction
• Exact order of logic is sometimes difficult to extract
Historic tables limitations
15 November 2019@tijsrademakers
- 5. ©2019FlowableAG. All rights reserved.
HTTP call in async service task fails first time
Second try with job succeeds
No data available in historic tables about first failure
Async job example
15 November 2019@tijsrademakers
- 6. ©2019FlowableAG. All rights reserved.
STP process which fails in third service task
No data available in runtime and historic tables
Straight through process example
15 November 2019@tijsrademakers
- 7. ©2019FlowableAG. All rights reserved.
Is coupled to the command context / transaction
Log events are created while executing the transaction
Timestamp, log sequence number, transaction id, type
and message present in all log events
Scope definition, scope instance and type info present
Specific data per event type
Logging session feature
15 November 2019@tijsrademakers
- 9. ©2019FlowableAG. All rights reserved.
Logging listener invoked at end of transaction
• Command context close
• Command context close failure
Logging listener
15 November 2019@tijsrademakers
- 10. ©2019FlowableAG. All rights reserved.
2019-11-14T11:45:44.032Z: (4,4) Started process instance with id 4
2019-11-14T11:45:44.039Z: (4,5) In StartEvent, executing NoneStartEventActivityBehavior
2019-11-14T11:45:44.047Z: (4,5) Sequence flow will be taken for flow1, theStart --> task
2019-11-14T11:45:44.051Z: (4,5) In ServiceTask, executing ClassDelegate
2019-11-14T11:45:44.056Z: (4,5) Executing service task with java class
org.flowable.engine.test.logging.ServiceTaskLoggingTest$ExceptionServiceTaskDeleg
ate
2019-11-14T11:45:44.072Z: (4,5) Service task with java class
org.flowable.engine.test.logging.ServiceTaskLoggingTest$ExceptionServiceTaskDeleg
ate threw exception Test exception
2019-11-14T11:45:44.075Z: (4) Exception at closing command context for bpmn engine
Simple logger of log events
15 November 2019@tijsrademakers
- 11. ©2019FlowableAG. All rights reserved.
Flowable Insight
7 November 2019@jbarrez @tijsrademakers 11
Flowable
Engine
Logging listener Flowable Insight
* All shown here on the slide are pluggable
ElasticSearch
- 13. ©2019FlowableAG. All rights reserved.
Add more events types to the logging session
Add possibility to enable / disable logging via REST API
Getting ready for the 6.5.0 release
Improve the features of Flowable Insight
Next steps
15 November 2019@tijsrademakers