Details
-
Bug
-
Status: Resolved
-
Blocker
-
Resolution: Duplicate
-
None
Description
There seems to be a Connection<->Processor shared_ptr cycle which means that the Processors never get destructed.
This causes leaks in reloads and in tests.
There are also other cycles causing leaks:
- Connection <-> FlowFile (this seems to be partially mitigated by Connection::drain(), but not entirely)
- ResourceClaim <-> VolatileContentRepository
- VolatileContentRepository <-> VolatileContentRepository (capturing a shared_ptr into a thread func and detaching the thread)
- FlowController <- > SchedulingAgent (TimerDrivenSchedulingAgent, EventDrivenSchedulingAgent, CronDrivenSchedulingAgent) and even FlowController <- > util::ThreadPool because of this
Attachments
Issue Links
- duplicates
-
MINIFICPP-1686 Processor destructors are not called
- Resolved
- is related to
-
MINIFICPP-1175 ControllerService neither notifyStop nor destructor is called on shutdown
- Resolved
- relates to
-
MINIFICPP-836 Validate stop and notifystop allow processors to flush
- Resolved
- links to