Sven Van Kerrebroeck created NIFI-16326:
-------------------------------------------

             Summary: Subsequent Parameter Context inheritance changes do not 
update effective parameter values
                 Key: NIFI-16326
                 URL: https://issues.apache.org/jira/browse/NIFI-16326
             Project: Apache NiFi
          Issue Type: Bug
    Affects Versions: 2.11.0
            Reporter: Sven Van Kerrebroeck
         Attachments: image-2026-09-09-12-44-21-772.png, 
image-2026-09-09-12-44-39-772.png

h2. Description

When changing the inheritance configuration of an existing Parameter Context, 
the first inheritance change is applied correctly and the effective parameter 
values are updated as expected.

However, subsequent inheritance changes on the same Parameter Context are not 
reflected in the effective parameter values.

The configured inheritance itself is updated correctly, but NiFi continues 
using the parameter value that became effective after the first inheritance 
change.

This can occur with both:
 * reordering inherited Parameter Contexts

 * adding or removing inherited Parameter Contexts

The issue therefore appears to be related to repeated updates of the 
inheritance configuration, rather than to a specific inheritance operation.
h2. Steps to reproduce
 # Create a Parameter Context named {{{}Context A{}}}.

 # Add the following parameter:

 ** Name: {{test.parameter}}

 ** Value: {{VALUE_A}}

 # Create a Parameter Context named {{{}Context B{}}}.

 # Add the same parameter:

 ** Name: {{test.parameter}}

 ** Value: {{VALUE_B}}

 # Create a Parameter Context named {{{}Context C{}}}.

 # Configure {{Context C}} to inherit from:

 ## {{Context A}}

 ## {{Context B}}

 # Verify that the effective value of {{test.parameter }}is {{VALUE_A}}

 # Edit {{Context C}} and reorder the inherited Parameter Contexts to:

 ## {{Context B}}

 ## {{Context A}}

 # Save the Parameter Context.

 # Verify the effective value again. {{test.parameter }}is {{VALUE_B}} now

So far so good.
Now a second edit: 
 # Edit {{Context C}} again.

 # Reorder the inherited Parameter Contexts back to:
{{Context A}}
{{Context B}}

 # Save the Parameter Context.

 # Check the effective value of {{test.parameter}} -> this time it still says 
{{{}VALUE_B{}}}, while it should be A again...  

!image-2026-09-09-12-44-21-772.png|width=479,height=165!


!image-2026-09-09-12-44-39-772.png|width=397,height=135!

 

The value from the previous inheritance state is still used.

The same stale value is also observed by Process Groups and components using 
{{{}Context C{}}}.

The effective value should change back to: {{VALUE_A}} because {{Context A}} 
once again has the highest precedence in the inheritance order.

Each change to the inheritance configuration should trigger a recalculation of 
the effective parameter values.
h2. Additional reproduction

The same behavior can also be reproduced using add/remove operations instead of 
reordering.

Example:
 # Create {{Context C}} again (from scratch), now inheriting only from 
{{{}Context B{}}}.

 # Verify that {{test.parameter}} resolves to {{{}VALUE_B{}}}. -> OK

 # Edit {{Context C}} and add {{Context A}} before {{{}Context B{}}}.

 # Save.

 # Verify that the effective value correctly changes to {{{}VALUE_A{}}}. -> OK

 # Edit {{Context C}} again and remove {{{}Context A{}}}.

 # Save.

Result? The inheritance correctly shows only {{{}Context B{}}}, but the 
effective value remains {{{}VALUE_A now..{}}}. This is not possible, context A 
is removed so the effective value should now be  {{{}VALUE_B{}}}.
h2. Impact

After the first inheritance update, further changes to the same Parameter 
Context can leave stale effective parameter values active.

This causes the configured inheritance hierarchy and the effective parameter 
values used by the flow to become inconsistent.

As a result, Process Groups and components may continue using values from a 
previous inheritance configuration, even though the current Parameter Context 
configuration indicates a different effective value.



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

Reply via email to