[
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)