[
https://issues.apache.org/jira/browse/NIFI-15341?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18046548#comment-18046548
]
Joe Gresock commented on NIFI-15341:
------------------------------------
Yes, the problem is isolated to External Controller Services. Here's the
scenario that is affected:
# User downloads a NiFI 2.4.0 flow definition for a Process Group, with an
External Controller Service referenced (say, a MongoDBControllerService with
property "ssl-context-service" referencing a
StandardRestrictedSSLContextService named "SSL Context Service")
# User then creates a StandardRestrictedSSLContextService called "SSL Context
Service" at the root level of another NiFi instance, version 2.6.0
# User imports the flow definition. The External Controller Service is not
identified and requires manual intervention to select it.
I'm contending that the user is reasonable to expect that the External
Controller Service in this scenario should be automatically selected. They
would probably be puzzled why it was not selected, and if they got as far as to
realize that it was because the property was renamed, they would probably
wonder why this "property migration" feature didn't work that NiFi claims to
have.
> 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)