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

ASF GitHub Bot commented on NIFI-3380:
--------------------------------------

GitHub user bbende opened a pull request:

    https://github.com/apache/nifi/pull/1585

    NIFI-3380 Support Multiple Versions of the Same Component

    This PR introduces support for running multiple versions of the same 
component. 
    
    In order to make full use of this capability we need to release and updated 
version of the NAR Maven plugin (currently 1.1.0, need to release 1.2.0) and 
then update NiFi's master branch to use this new version. In this PR we have 
left it using the 1.1.0 NAR plugin, and NiFi is able to run as it normally 
does, but you can't actually run multiple versions of the same component yet 
because the framework needs the new information from the new NAR plugin.


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/bbende/nifi NIFI-3380

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/nifi/pull/1585.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1585
    
----
commit f965f87f3cd85ac160218f0308e4651d1e4363e0
Author: Bryan Bende <[email protected]>
Date:   2017-01-23T15:33:12Z

    NIFI-3380 Bumping NAR plugin to 1.2.0-SNAPSHOT development to leverage 
changes from master, adding buildnumber-maven-plugin to nifi-nar-bundles to 
properly set build info in MANIFEST of NARs
    - Refactoring NarDetails to include all info from MANIFEST
    - Adding the concept of a Bundle and refactoring NarClassLoaders to pass 
Bundles to ExtensionManager
    - Adding logic to fail start-up when multiple NARs with same coordinates 
exist, moving Bundle classes to framework API
    - Refactoring bundle API to classes and creating BundleCoordinate
    - Updating FlowController to use BundleCoordinate

commit 98216f00ec8ea0e8e113d7b1a5ad75db84b38bd6
Author: Matt Gilman <[email protected]>
Date:   2017-01-24T18:58:57Z

    NIFI-3380: - Updating the UI and DTO model to support showing bundle 
details that loaded an extension type.
    - Adding bundle details for processor canvas node, processor dialogs, 
controller service dialogs, and reporting task dialogs.
    - Updating the formating of the bundle coordinates.
    - Addressing text overflow in the configuration/details dialog.
    - Fixing self referencing functions.
    - Updating extension UI mapping to incorporate bundle coordinates.
    - Discovering custom UIs through the supplied bundles.
    - Adding verification methods for creating extensions through the rest api.
    - Only returning extensions that are common amongst all nodes.
    - Rendering the ghost processors using a dotted border.
    - Adding bundle details to the flow.xml.
    - Loading NiFi build and version details from the framework NAR.
    - Removing properties for build and version details.
    - Wiring together front end and back end changes.
    - Including bundle coordinates in the component data model.
    - Wiring together component data model and flow.xml.
    - Addressing issue when resolve unvesioned dependent NARs.

commit 95cf4007b6c16f73305fad9f2ff8ed66b0794b0d
Author: Bryan Bende <[email protected]>
Date:   2017-01-31T17:05:40Z

    NIFI-3380 Updating unit tests to pass based on framework changes
    - Fixing logging of extension types during start up

commit e1782b13c71b7897a7b5105012fd2a687c9c9961
Author: Matt Gilman <[email protected]>
Date:   2017-02-02T21:09:45Z

    NIFI-3380: - Allowing the application to start if there is a compatible 
bundle found. - Reporting missing bundle when the a compatible bundle is not 
found. - Fixing table height in new component dialogs.

commit 4b188857f59fe85ca38303b0b20448867072e18d
Author: Bryan Bende <[email protected]>
Date:   2017-02-03T14:39:38Z

    NIFI-3380 Fixing chechstyle error and increasing test timeout for 
TestStandardControllerServiceProvider
    - Adding ability to change processor type at runtime
    - Adding backend code to change type for controller services

commit d71ba9d33c811d0eee3a29378c7048b5443957aa
Author: Matt Gilman <[email protected]>
Date:   2017-02-09T18:58:59Z

    NIFI-3380:
    - Cleaning up instance classloaders for temp components.
    - Creating a dialog for changing the version of a component.
    - Updating the formatting of the component type and bundle throughout.
    - Updating the new component dialogs to support selecting source group.
    - Cleaning up new component dialogs.
    - Cleaning up documentation in the cluster node endpoint.

commit 8892c4a64f861ac98c6cac9370298cda444e0da8
Author: Bryan Bende <[email protected]>
Date:   2017-02-09T20:07:20Z

    NIFI-3380 Adding missing include in nifi-web-ui pom compressor plugin
    - Refactoring so ConfigurableComponent provides getLogger() and so the 
nodes provide the ConfigurableComponent
    - Creating LoggableComponent to pass around the component, logger, and 
coordinate with in the framework

commit 854bed6ebe89b871d461a57fc6894cde06523d66
Author: Matt Gilman <[email protected]>
Date:   2017-02-13T17:53:27Z

    NIFI-3380: - Finishing clean up following rebase.

commit 6de6e1d615bed4ebb97c0ebb0051a0006f13f5ea
Author: Bryan Bende <[email protected]>
Date:   2017-02-15T21:22:49Z

    NIFI-3380 Calling lifecycle methods for add and remove when changing 
versions of a component
    - Introducing verifyCanUpdateBundle(coordinate) to ConfiguredComponent, and 
adding unit tests

commit 4aecafa2647c2ab4601461f948f33c5c8a74793c
Author: Matt Gilman <[email protected]>
Date:   2017-02-16T20:19:50Z

    NIFI-3380:
    - Ensuring documentation is available for all components. Including those 
of the same type that are loaded from different bundles.
    
    This closes #5.

commit ac6af1ffa8a35a3a237fcdf0435d8bfc457ee530
Author: Bryan Bende <[email protected]>
Date:   2017-02-21T22:16:37Z

    NIFI-3380 Adding lookup from ClassLoader to Bundle, adding fix for instance 
class loading to include all parent NARs, and adding additional unit tests for 
FlowController
    - Adding validation to ensure referenced controller services implement the 
required API
    - Fixing template instantiation to look up compatible bundle

commit 15abe12c6c6633ff80b1e639b2c85c3dc1005825
Author: Matt Gilman <[email protected]>
Date:   2017-02-23T20:19:33Z

    NIFI-3380: - Requiring services/reporting tasks to be disabled/stopped.
    - Only supporting a change version option when the item has multiple 
versions available.
    - Limiting the possible new controller services to the applicable API 
version.
    - Showing the implemented API versions for Controller Services.
    - Updating the property descriptor tooltip to indicate the required service 
requirements.
    - Introducing version based sorting in the new component dialog, change 
version dialog, and new controller service dialog.
    - Addressing remainder of the issues from recent rebase.

commit 4b89349a30632d6dbfc270559da06bea65a88edc
Author: Bryan Bende <[email protected]>
Date:   2017-02-28T21:58:10Z

    NIFI-3380 Ensuring bundles have been added to the flow before proposing a 
flow, and incorporating bundle information into flow fingerprinting
    - Refactoring the way missing bundles work to retain the desired bundle if 
available
    - Fixing logger.isDebugEnabled to be logger.isTraceEnabled

commit 6095228ff0c5869eb4103ab3ea61a6782ae236e9
Author: Matt Gilman <[email protected]>
Date:   2017-03-03T15:50:33Z

    NIFI-3380: - Auditing when user changes the bundle. - Ensuring bundle 
details are present in templates.

commit 7232b5c4303b6659f4d1d9ea8b617ba54aa6a07a
Author: Bryan Bende <[email protected]>
Date:   2017-03-07T21:46:41Z

    NIFI-3380 Moving standard prioritizers to framework NAR and refactoring 
ExtensionManager logic to handle cases where an extension is in a JAR directly 
in the lib directory

commit bcd2085b717775490dadbf3fa5bc5652333e4555
Author: Matt Gilman <[email protected]>
Date:   2017-03-08T22:37:17Z

    NIFI-3380: - Ensuring all nodes attempt to instantiate the same template 
instance when the available bundles may differ. - Fixing the auditing of 
copy/paste and template instantiation. - Running addtional verification methods 
when running standalone.

commit 9ecc40a3b52fa6344ad9e1fd218d128950ca6b43
Author: Bryan Bende <[email protected]>
Date:   2017-03-09T15:49:45Z

    NIFI-3380 Refactoring controller service invocation handler to allow 
updating the node used by the invocation handler
    - Ensuring the bundles in a proposed flow are compatible with the current 
instance when the current instance has no flow is going to accept the proposed 
flow
    - Merging whether multiple versions of the component are available
    - Setting NAR plugin back to current released version
    - Cleaning up DocGenerator to not process multiple times

commit 9b6eb51daeff03d17f7be505f6aa8c2700f3925e
Author: Matt Gilman <[email protected]>
Date:   2017-03-10T17:38:21Z

    NIFI-3380: - Addressing incorrect usage of nf.Common. - Using formatType in 
the new component type dialogs.

commit e9e754e38b9384c699b999da8e4812130503b7d0
Author: Bryan Bende <[email protected]>
Date:   2017-03-10T19:53:13Z

    NIFI-3380 Improving error messages when looking for bundles

----


> Multiple Versions of the Same Component
> ---------------------------------------
>
>                 Key: NIFI-3380
>                 URL: https://issues.apache.org/jira/browse/NIFI-3380
>             Project: Apache NiFi
>          Issue Type: Improvement
>          Components: Core Framework
>            Reporter: Bryan Bende
>            Assignee: Bryan Bende
>             Fix For: 1.2.0
>
>
> This ticket is to track the work for supporting multiple versions of the same 
> component within NiFi. The overall design for this feature is described in 
> detail at the following wiki page:
> https://cwiki.apache.org/confluence/display/NIFI/Multiple+Versions+of+the+Same+Extension
> This ticket will track only the core NiFi work, and a separate ticket will be 
> created to track enhancements for the NAR Maven Plugin.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to