Pierre Villard created NIFI-15907:
-------------------------------------

             Summary: PROPERTY_PARAMETERIZATION_REMOVED showing as local change
                 Key: NIFI-15907
                 URL: https://issues.apache.org/jira/browse/NIFI-15907
             Project: Apache NiFi
          Issue Type: Bug
          Components: Flow Versioning
            Reporter: Pierre Villard
            Assignee: Pierre Villard


When a processor's _migrateProperties_ removes a property and the existing flow 
had that property bound to a parameter (e.g. {*}#\{MyParam}{*}), the 
registry-side snapshot still carries the parameter reference while the local 
side no longer has the key at all.

In {_}StandardFlowComparator.compareProperties{_}, this case emits 
*PROPERTY_PARAMETERIZATION_REMOVED* rather than {*}PROPERTY_REMOVED{*}, because 
*valueA* is a bare parameter reference and *valueB* is null:
{code:java}
} else if (valueA != null && valueB == null) {
    if (isParameterReference(valueA)) {
        
differences.add(difference(DifferenceType.PROPERTY_PARAMETERIZATION_REMOVED, 
...));
    } else {
        differences.add(difference(DifferenceType.PROPERTY_REMOVED, ...));
    }
}
{code}
The environmental-change gate _FlowDifferenceFilters.isStaticPropertyRemoved_ 
only matches {*}PROPERTY_REMOVED{*}, so the parameterized variant survives the 
filter and shows up as a local modification.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to