Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
When the embedding application calls StatelessDataflow.shutdown() to stop the stateless flow and all its processors, then the expected behaviour would be (similar to traditional NiFi):
- call @OnUnscheduled method(s) of the processor
- wait for onTrigger() to finish up
- call @OnStopped method(s) of the processor
Currently @OnUnscheduled is not called at all and @OnStopped gets called while onTrigger() is still running.
These may lead to improper shutdown of the components: e.g. ConsumeJMS stays connected to the message broker after is has been stopped (up until the JVM exits).
It is more problematic for long-running embedding applications that can start/stop flows dynamically within their JVM uptime (like Kafka Connect and NiFi Stateless connectors).
Attachments
Issue Links
- links to