Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
The FingerprintFactory will create Processor objects and invoke their initialize() and @OnAdded methods. If a Processor uses system resources, these methods are where those resources are allocated. But, those processors are never disposed by calling their @OnRemoved or @OnShutdown methods. This may result in system resource leaks, depending on how processors are implemented.
To reproduce, add a processor to the NiFi graph and restart NiFi. Note that initialize() and @OnAdded is called at least twice (I observed 3 times) as NiFi starts. The getIdentifier() is different for each invocation. Shutdown NiFi and observe that @OnShutdown is called once.