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

Pierre Villard updated NIFI-16235:
----------------------------------
    Status: Patch Available  (was: Open)

> Support rebasing locally added Controller Services in versioned Process Groups
> ------------------------------------------------------------------------------
>
>                 Key: NIFI-16235
>                 URL: https://issues.apache.org/jira/browse/NIFI-16235
>             Project: Apache NiFi
>          Issue Type: Improvement
>            Reporter: Pierre Villard
>            Assignee: Pierre Villard
>            Priority: Major
>
> Versioned Process Group rebase currently rejects all locally added components 
> because {{COMPONENT_ADDED}} differences have no supported rebase handler. 
> This prevents otherwise compatible local Controller Service changes from 
> being preserved when rebasing onto a newer flow version.
> Two affected scenarios are:
>  # *Processor Controller Service reference*
>  ** Version N contains a Processor referencing Controller Service X.
>  ** Locally, Controller Service Y is added and the Processor is changed to 
> reference Y.
>  ** Version N+1 does not modify that Processor property.
>  ** Rebase should preserve Y and the Processor reference to Y.
>  # *Dynamic Controller Service references*
>  ** Version N contains Controller Service A with a dynamic property 
> referencing X.
>  ** Locally, Controller Services Y and Z are added and dynamic properties are 
> added to A referencing them.
>  ** Version N+1 does not modify A.
>  ** Rebase should preserve Y, Z, and the dynamic references from A.
> Add guarded support for {{COMPONENT_ADDED}} differences when the added 
> component is a {{{}VersionedControllerService{}}}.
> The rebase should:
>  * Allow referenced and unreferenced locally added Controller Services.
>  * Preserve the complete local Controller Service configuration.
>  * Insert the service into its surviving parent Process Group.
>  * Preserve compatible Processor and Controller Service properties 
> referencing the added service.
>  * Reject the rebase if the parent Process Group was removed upstream.
>  * Reject identifier collisions with any component in the target snapshot.
>  * Keep additions of Processors, Process Groups, ports, connections, and 
> other component types unsupported.
>  * Preserve the all-or-nothing rebase behavior.
>  * Keep preserved changes visible as local modifications against the clean 
> N+1 baseline.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to