Dominik Bartos created NIFI-15870:
-------------------------------------

             Summary: Improve error message when flow upgrade fails because a 
referenced controller service is ENABLED
                 Key: NIFI-15870
                 URL: https://issues.apache.org/jira/browse/NIFI-15870
             Project: Apache NiFi
          Issue Type: Improvement
          Components: Core Framework
            Reporter: Dominik Bartos
            Assignee: Dominik Bartos


Description
When a customer upgrades a versioned flow that changes a parameter referenced 
by an enabled controller service, the update fails with a NiFi-style error that 
does not tell the user what action to take. The customer does not know they 
need to disable the referencing controller service, run the upgrade, and then 
re-enable it.

Steps to Reproduce
Deploy a flow that uses SnowflakeConnectionService (Snowflake Connection Pool) 
referencing parameter Snowflake Authentication Strategy.
Enable the Snowflake Connection Pool controller service so the flow is running.
Attempt to upgrade the flow to a new version that changes the value of 
Snowflake Authentication Strategy.
Actual Result
The upgrade fails with:

Failed to perform update flow request due to Failed to update flow on all nodes 
in cluster due to Cannot update parameter 'Snowflake Authentication Strategy' 
because it is referenced by 
StandardControllerServiceNode[service=SnowflakeConnectionService[id=464d8329-90a8-302f-b85e-915efb3d0745],
 name=Snowflake Connection Pool, active=true], which currently has a state of 
ENABLED
No guidance is provided about how to resolve the failure.

Expected Result
The error message should explain the cause and the remediation steps. The 
prefix Failed to perform update flow request due to Failed to update flow on 
all nodes in cluster due to is produced upstream and cannot be changed, so the 
remediation must be appended to the existing message.

Proposed Message
Failed to perform update flow request due to Failed to update flow on all nodes 
in cluster due to Cannot update parameter 'Snowflake Authentication Strategy' 
because it is referenced by controller service 'Snowflake Connection Pool' 
(SnowflakeConnectionService, id=464d8329-90a8-302f-b85e-915efb3d0745), which is 
currently ENABLED.

To resolve this:

Disable the 'Snowflake Connection Pool' controller service (and any components 
that reference it, if prompted).
Retry the flow upgrade.
Re-enable the 'Snowflake Connection Pool' controller service once the upgrade 
completes.



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

Reply via email to