[
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)