[
https://issues.apache.org/jira/browse/NIFI-16435?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pierre Villard updated NIFI-16435:
----------------------------------
Issue Type: Improvement (was: Task)
> [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: Improvement
> Reporter: Bob Paulin
> Assignee: Bob Paulin
> Priority: Major
> Fix For: 2.13.0
>
> 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)