[ANN] nFlow 7.2.0 released

27 views
Skip to first unread message

Edvard Fonsell

unread,
Apr 27, 2020, 5:27:56 AM4/27/20
to nflow-users
Hello all,

nFlow 7.2.0 was released on April 27, 2020.

https://github.com/NitorCreations/nflow/releases/tag/7.2.0

**Highlights**
- Expedited clean shutdown for workflows that run many consequtive states.
- Add support for custom logic when nFlow engine thinks the workflow state processing may be stuck.
- Convert all exceptions to proper error response messages in all nFlow REST API endpoints. Applies to both `nflow-rest-api-jax-rs` and `nflow-rest-api-spring-web`.
- Support for Guice.
 
**Details**
- `nflow-engine`
  - When shutdown is requested, stop processing workflows immediately after the current state has been executed.
  - Add `WorkflowExecutorLister.handlePotentiallyStuck(Duration processingTime)` to support custom handling when nFlow engine thinks the workflow state processing may be stuck. If any registered listener implementation returns true from this method, nFlow will interrupt the processing thread. The default implementation returns false.
  - Throw `IllegalArgumentException` instead of `IllegalStateException` when trying to update workflow instance state to an invalid value.
  - Throw `IllegalArugmentException` instead of `RuntimeException` when trying to insert workflow instance with unknown type or with a state that is not a start state.
  - Make `StateVariableTooLongException` extend `IllegalArgumentException` instead of `RuntimeException`.
  - Fix SQL deadlocks in workflow instance polling for PostgreSQL with skip locked.
  - Add `EngineEnvironmentModule` and `EngineModule` for Guice support. Call `NflowController.start()` and `NflowController.stop()` to start and stop nFlow engine, as `nflow.autostart` and `nflow.autoinit` configuration options are not supported with Guice.
  - MySQL/MariaDB: use compressed table format for archives.
  - PostgreSQL/SQLServer: use partial (not null) indices for parent hierarchy.
  - PostgreSQL: tune fillfactors of tables and indices.
  - PostgreSQL: reorder table column order to minimize space lost on padding. Only affects new tables.
  - Drop `(type, external_id, executor_group)` unique constraint from `nflow_archive_workflow` table. Allows archiving workflow instances with same values multiple times. Only one instance is allowed in production table though.
  - Dependency updates:
    - spring 5.2.5
    - jackson 2.10.3
    - javassist 3.27.0
    - jetty 9.4.28
    - cxf 3.3.6
    - metrics 4.1.6
    - netty 0.9.6
    - swagger 1.6.1
    - lang3 3.10
    - mariadb 2.6.0
    - mssql 8.2.2
    - postgresql 42.2.10
    - junit 5.6.2
    - mockito 3.3.3
    - spotbugs 4.0.2
    - hibernate 6.1.4
    - commons-lang3 3.10
- `nflow-rest-api-jax-rs` and `nflow-rest-api-spring-web`
  - Convert `IllegalArgumentException` to `HTTP 400 Bad Request` with a valid JSON response body in all endpoints.
  - Convert `NflowNotFoundException` to `HTTP 404 Not Found` with a valid JSON response body in all endpoints.
  - Convert all other throwables to `HTTP 500 Internal Server Error` with a valid JSON response body in all endpoints.
- `nflow-explorer`
  - Dependency updates:
    - swagger-ui 2.2.10
    - es5-shim 4.5.14
    - npm 6.14.4
    - autoprefixer 9.7.5
    - grunt 1.1.0
    - grunt-contrib-imagemin 4.0.0

Reply all
Reply to author
Forward
0 new messages