- Process Engine:
- BPMN coverage:
- Support for Non-Interrupting Event Subprocess – (CAM-112) – HOT
- Performance Improvements:
- Message Correlation Improvements:
- Added Fluent Builder & Correlation using Process Instance Id (CAM-1775)
- BPMN coverage:
- camunda Cockpit (Webapplication for Monitoring & Operations):
- Bpmn Model API:
- Support for all camunda Extension elements & Attributes (CAM-1854)
All in all, 45 Issues were closed. Find the complete release notes in Jira.
New camunda Cockpit Features
Finally arrived: the Non Interrupting Event Subprocess:
Compacted Subtree Expanded Subtree ================= ================ ... ... | | +------+ +-------+ Scope=tt | e | => | e | ConCurrent=ff +------+ +-------+ s=tt ^ cc=ff / / / Both: +-------+ +--------+ s=ff | CCE-1 | | PPE | cc=tt +-------+ +--------+
- Reducing the number of unnecessary selects,
- Execution Tree Pre-fetching
In the following process we reduced the number of selects necessary for triggering the boundary event from 33 down to 8:
The testcase is part of our performance testsuite. The results can be verified using the “Sql Statement Log”.
Log for alpha 3 vs. Log for alpha4
Performance Benchmarks show an improvement in performance of roughly 30% if the database runs on a different machine then the process engine.
Execution tree pre-fetching will fetch all the executions inside the same process instance upon the first access of an execution from the hierarchy which is not equal to the initially fetched execution. The executions will be fetched as list and we then reconstruct the complete execution tree.
In many cases this is an optimization over fetching the execution tree lazily. Usually we need all executions anyway and it is preferable to fetch more data in a single query (maybe even too much data) then to run multiple queries, each returning a fraction of the data.
The most important consideration here is network roundtrip: If the process engine and database run on separate hosts, network roundtrip has to be added to each query. Economizing on the number of queries economizes on network roundtrip. The tradeoff here is network roundtrip vs. throughput: multiple roundtrips carrying small chucks of data vs. a single roundtrip carrying more data.
What else is going on?
Join us at our community event here in Berlin on March 18th! The Beer (and Bionade) has already arrived and is well guarded by Nastasja, our community manager!