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