You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Bob Paulin (Jira)" <ji...@apache.org> on 2026/05/12 15:20:00 UTC
[jira] [Created] (NIFI-15930) [Connectors] Ensure Secrets are loaded properly from a Parameter Provider with Controller Service
Bob Paulin created NIFI-15930:
---------------------------------
Summary: [Connectors] Ensure Secrets are loaded properly from a Parameter Provider with Controller Service
Key: NIFI-15930
URL: https://issues.apache.org/jira/browse/NIFI-15930
Project: Apache NiFi
Issue Type: Improvement
Reporter: Bob Paulin
{{ParameterProviderSecretsManager.getSecretProviders()}} builds the provider set by iterating the flow's parameter providers and _requiring each to be VALID_
On a restart this happens when the Working Context is rebuilt within the VersionedFlowSynchronizer class
{{inheritParameterProviders}} only constructs the node and applies its persisted properties It does not enable any Controller Service the provider depends on. Controller services are not enabled until {{{}inheritControllerServices{}}}, which runs after {{{}inheritConnectors{}}}.
Most parameter providers that back secrets in real deployments depend on Controller Services for credentials.
Those services have not been enabled yet, so the parameter provider is {{{}INVALID{}}}.
{{getSecretProviders()}} skips it; {{findProvider()}} returns {{{}null{}}}; {{secrets}} map back as {{null}} for every reference.
{{resolvePropertyValues}} produces {{{}StringLiteralValue(null){}}}.
The connector's {{onConfigurationStepConfigured}} runs against a config that has nulls where the secrets should be, so the Parameter Context gets populated with nulls (or empty strings).
We should enable the Root (Management) Controller Services prior to inheritConnectors and then ensure that any updates get applied to the parameter context.
Otherwise the UI makes it appear that a secret is configured however the value is not present in the working flow context to allow it to be used.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)