[ 
https://issues.apache.org/jira/browse/MINIFICPP-839?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16844861#comment-16844861
 ] 

Mr TheSegfault commented on MINIFICPP-839:
------------------------------------------

I don't think we can support doing a singleton at this time based on how we 
restart, I also don't think that changing everything to weak ptrs will be ideal 
for safety of data. Can you isolate leaks to only reloads of the agent? Tests 
are something we can deal with in other ways if we have to. 

> Multiple memory leaks because of shared_ptr cycles
> --------------------------------------------------
>
>                 Key: MINIFICPP-839
>                 URL: https://issues.apache.org/jira/browse/MINIFICPP-839
>             Project: Apache NiFi MiNiFi C++
>          Issue Type: Bug
>            Reporter: Daniel Bakai
>            Assignee: Daniel Bakai
>            Priority: Blocker
>              Labels: ReloadValidation
>             Fix For: 0.7.0
>
>          Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> 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



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to