You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Ferenc Gerlits (Jira)" <ji...@apache.org> on 2021/02/02 16:49:00 UTC

[jira] [Updated] (MINIFICPP-1471) Make extensions loadable at runtime as plugins

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

Ferenc Gerlits updated MINIFICPP-1471:
--------------------------------------
    Description: 
Extensions (processors, controller services, and utilities used by them) are currently built as static libraries, and are linked into the minifi executable.

We need to change them to separate shared library plugins which we can load at runtime.

Development of these tasks should be done on a separate branch (TODO: add branch name), as there will be many conflicts with other changes.  Merge the main branch to the development branch from time to time, in order to reduce the amount of pain we'll have when merging back to main at the end.

Notes:
 * We need to make sure the plugin we are trying to load is compatible with the minifi core (and not load it if it isn't). Initially, we can require a build version string to match, ie. each plugin will need to be recompiled for each minifi release. We can improve on this approach later.
 * Later we may want to add support for unloading/updating plugins, but this doesn't need to be part of the initial rollout.

  was:
Extensions (processors, controller services, and utilities used by them) are currently built as static libraries, and are linked into the minifi executable.

We need to change them to separate shared library plugins which we can load at runtime.

Notes:
 * We need to make sure the plugin we are trying to load is compatible with the minifi core (and not load it if it isn't). Initially, we can require a build version string to match, ie. each plugin will need to be recompiled for each minifi release. We can improve on this approach later.
 * Later we may want to add support for unloading/updating plugins, but this doesn't need to be part of the initial rollout.


> Make extensions loadable at runtime as plugins
> ----------------------------------------------
>
>                 Key: MINIFICPP-1471
>                 URL: https://issues.apache.org/jira/browse/MINIFICPP-1471
>             Project: Apache NiFi MiNiFi C++
>          Issue Type: Epic
>            Reporter: Ferenc Gerlits
>            Assignee: Ferenc Gerlits
>            Priority: Major
>
> Extensions (processors, controller services, and utilities used by them) are currently built as static libraries, and are linked into the minifi executable.
> We need to change them to separate shared library plugins which we can load at runtime.
> Development of these tasks should be done on a separate branch (TODO: add branch name), as there will be many conflicts with other changes.  Merge the main branch to the development branch from time to time, in order to reduce the amount of pain we'll have when merging back to main at the end.
> Notes:
>  * We need to make sure the plugin we are trying to load is compatible with the minifi core (and not load it if it isn't). Initially, we can require a build version string to match, ie. each plugin will need to be recompiled for each minifi release. We can improve on this approach later.
>  * Later we may want to add support for unloading/updating plugins, but this doesn't need to be part of the initial rollout.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)