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

David Handermann commented on NIFI-15341:
-----------------------------------------

To clarify, I am using on-the-fly migration to refer to flow configuration 
stored external to NiFi, such as generated from the Download Flow Definition 
option. Uploading that flow definition means that the given NiFi installation 
has no prior knowledge of the flow definition. This is different from the 
persistent flow configuration.

The current invocation path for the migrate methods works through the 
{{VersionedFlowSynchronizer}}, handles a migration on startup, or when 
synchronizing with a Flow Registry Client. This is what I mean by 
framework-level responsibility, versus operating on a single component, such as 
creating a single Processor or Controller Service.

There will always be different potential use cases, but I'm describing the 
current behavior for clarity on the existing implementation focus during the 
initial milestone release of NiFi 2.

Reading back through the original issue description and subsequent discussion, 
I may have missed something. [~jgresock] Is the scope of the issue limited only 
to External Controller Services, or does it relate more generally to loading 
older Flow Definitions in the latest version? If it is limited to External 
Controller Services, then it sounds like something that would fit into the 
existing configuration migration, within the {{VersionedFlowSynchronizer}}. If 
not, then it may be helpful to restate the problem for clarity.

> External Controller Service resolution can break with property migration
> ------------------------------------------------------------------------
>
>                 Key: NIFI-15341
>                 URL: https://issues.apache.org/jira/browse/NIFI-15341
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Core Framework
>    Affects Versions: 2.7.1
>            Reporter: Joe Gresock
>            Assignee: Joe Gresock
>            Priority: Minor
>         Attachments: CS_Resolution.json
>
>          Time Spent: 50m
>  Remaining Estimate: 0h
>
> When importing or replacing a Process Group, External Controller Services can 
> fail to resolve if a component property was renamed between the versioned 
> flow and the currently installed bundle using property migration.
> To reproduce in 2.4.0 or later, download attached JSON file representing a 
> Process Group Replace request.  Then log into NiFi and copy the Bearer token. 
>  Then create a new blank process group in NiFi and copy its identifier for 
> below.
> Next, create a new StandardRestrictedSSLContextService at the root canvas and 
> name it "SSL Context Service".
> {code:java}
> BEARER_TOKEN=<paste bearer token>
> PG_ID=<pg id>
> curl -k -vv -X POST 
> https://localhost:8443/nifi-api/process-groups/$PG_ID/replace-requests -H 
> "Content-Type: application/json" -H "Authorization: Bearer $BEARER_TOKEN" -d 
> @CS_Resolution.json
> {code}
> Observe that the SSL Context Service property in the MongoDBControllerService 
> now references a UUID instead of the "SSL Context Service" service.



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

Reply via email to