v6.1.0
Highlights
nflow-engine
- Check that state variable value fits into the database column
- Fix performance problems when querying workflows by only fetching state variables when requested
Details
nflow-engine
- Verify on startup that connections returned by
DataSource
used by nFlow have auto commit enabled. nFlow may not work correctly without it. - Throw
StateVariableValueTooLongException
if a state variable value that does not fit into the database column is detected. Checked inStateExecution.setVariable
,StateExecution.addWorkflows
,StateExecution.addChildWorkflows
,WorkflowInstanceService.insertWorkflowInstance
and when creating a new or updating an existing instance via REST API.
If the exception is thrown during state processing and not handled by the state implementation, nFlow engine will catch the exception and retry state processing after delay configured by propertynflow.executor.stateVariableValueTooLongRetryDelay.minutes
(default is 60). - Fix honoring of
includeCurrentStateVariables
flag inWorkflowInstanceService.listWorkflowInstances
. This caused major slowness when using bulk workflows.
To preserve the existing (incorrect) default behaviour in backwards compatible way the default value inQueryWorkflowInstances.Builder
is changed totrue
. The REST API is unaffected.
Especially in workflows with many children that use theStateExecution.getAllChildWorkflows
method the performance impact can be high. Before 7.0.0 release, it is recommended to useStateExecution.queryChildWorkflows(new QueryWorkflowInstances.Builder().setIncludeCurrentStateVariables(false).build())
if state variables are not needed. - Dependency updates:
- jetty 9.4.25.v20191220
- junit4 4.13
- mariadb 2.5.3
- spotbugs 4.0.0-beta4
- spotbugs-annotations 4.0.0-beta4
- swagger 1.6.0
- hikaricp 3.4.2
- jackson 2.10.2
- jersey 2.30
- mockitor-junit-jupiter 3.2.4
- metrics 4.1.2
- mockito 3.2.4
- mysql 8.0.19
- postgresql 42.2.9
- netty 0.9.4.RELEASE
- reflections 0.9.12
- spring 5.2.3.RELEASE
- junit5 5.6.0
- apache-cxf 3.3.5
- Verify on startup that connections returned by
nflow-rest-api
- REST API returns HTTP 400 in case the state variable value is too long when inserting a new or updating an existing workflow instance
- Exception mappers return JSON objects instead of raw strings
nflow-explorer
- Dependency updates:
- angular 1.7.9
- chart.js 2.9.3
- karma 4.4.1
- node-sass 4.13.0
- node v12.13.1
- npm 6.13.1
- Dependency updates:
- Maven plugins
- Dependency updates:
- frontend 1.9.0
- assembly 3.2.0
- asciidoctor 2.0.0-RC.1
- deploy 3.0.0-M1
- enforcer 3.0.0-M3
- install 3.0.0-M1
- jar 3.2.0
- site 3.8.2
- source 3.2.1
- surefire 3.0.0-M4
- Dependency updates: