You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2026/10/08 14:52:00 UTC
[jira] [Commented] (NIFI-16435) [Connectors] Ensure external configuration does not include properties/steps not declared on Connector
[ https://issues.apache.org/jira/browse/NIFI-16435?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18125087#comment-18125087 ]
ASF subversion and git services commented on NIFI-16435:
--------------------------------------------------------
Commit 261167a57afcb195a3d54a2bcd396b12d811d234 in nifi's branch refs/heads/main from Bob Paulin
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=261167a57af ]
NIFI-16435: Drop undeclared connector properties on provider save (#11776)
- Filter the loaded provider configuration to declared steps and
properties before merging
- Skip undeclared incoming properties and do not recreate undeclared
steps
- Add unit test and ConnectorUndeclaredExternalPropertyIT
> [Connectors] Ensure external configuration does not include properties/steps not declared on Connector
> ------------------------------------------------------------------------------------------------------
>
> Key: NIFI-16435
> URL: https://issues.apache.org/jira/browse/NIFI-16435
> Project: Apache NiFi
> Issue Type: Task
> Reporter: Bob Paulin
> Assignee: Bob Paulin
> Priority: Major
> Time Spent: 20m
> Remaining Estimate: 0h
>
> Saving a connector step through a {{ConnectorConfigurationProvider}} never removed a property the connector no longer declares. The provider overwrites its stored configuration with whatever the framework hands it, so the provider wasn't the problem. Before saving, {{StandardConnectorRepository.buildMergedWorkingConfiguration}} loaded the existing external configuration and laid the incoming step on top of it. Every stored key was carried forward, including ones that were renamed or removed.
>
> {{buildMergedWorkingConfiguration}} now filters the loaded configuration against the connector's declared steps before merging. Steps and properties the connector doesn't declare are dropped, an incoming property the connector doesn't declare is skipped, and an undeclared step is never recreated. The filter applies on every save, with no special case for a connector that declares no steps; the REST endpoint already rejects step updates for those. A system test, {{{}ConnectorUndeclaredExternalPropertyIT{}}}, starts with an external configuration holding an undeclared property and checks that the saved file no longer has it; a new unit test checks the same merge rules.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)