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)