You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "marco polo (JIRA)" <ji...@apache.org> on 2018/01/10 19:48:00 UTC

[jira] [Updated] (MINIFICPP-21) Memory lost by using new thread

     [ https://issues.apache.org/jira/browse/MINIFICPP-21?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

marco polo updated MINIFICPP-21:
--------------------------------
    Fix Version/s: 0.2.0

> Memory lost by using new thread
> -------------------------------
>
>                 Key: MINIFICPP-21
>                 URL: https://issues.apache.org/jira/browse/MINIFICPP-21
>             Project: NiFi MiNiFi C++
>          Issue Type: Sub-task
>            Reporter: marco polo
>            Assignee: marco polo
>             Fix For: 0.2.0
>
>
> Several components ( the scheduling agents, and the provenance repository ) create a new thread. We should not be doing this. If the flow of events is such that all closures occur, this "possibly lost" isn't a given; however, we can't guarantee all operations will occur in the negative paths.
> Further, it appears as though if a the agents are relying on closure from the flow controller to stop all threads. If we were to stop processing in a processing group as a result of a C2C operation ( for example ), the threads would be deleted from the list of known threads, but not stopped. Since they are detached, this could be a problem and allow the thread to continue in perpetuity. Depending on ulimit, this could cause complete failure. 
> Finally, we should probably not detach threads and instead create std::packaged_tasks from which we can keep track of futures. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)