Bryan Bende created NIFI-15748:
----------------------------------

             Summary: Parameter Context update fails when removing inherited 
context that has asset-referencing parameters
                 Key: NIFI-15748
                 URL: https://issues.apache.org/jira/browse/NIFI-15748
             Project: Apache NiFi
          Issue Type: Bug
            Reporter: Bryan Bende
            Assignee: Bryan Bende


When updating a Parameter Context to remove an inherited Parameter Context that 
contains a parameter referencing an Asset, the update request fails with:
{code:java}
Request contains a reference to an Asset (AssetReferenceDTO[id=..., name=...]) 
that does not exist in Parameter Context (...) {code}
 
The root cause is in {{{}ParameterContextResource.validateAssetReferences(){}}}.

When the UI submits a parameter context update, the request body includes the 
full merged parameter list (including inherited parameters marked with 
{{{}inherited=true{}}}). The validation iterates over all parameters and checks 
that each referenced asset belongs to the parameter context being updated. 
However, assets belonging to inherited parameters are owned by their 
originating child context, not the parent. The validation fails because it does 
not skip inherited parameters, even though downstream persistence logic 
({{{}StandardParameterContextDAO.getParameters(){}}}) already correctly ignores 
them.

Steps to Reproduce
 # Create two Parameter Contexts — "ChildA" and "ChildB"
 # Upload an Asset to ChildA (e.g., a text file)
 # Add a parameter to ChildA (e.g., "fileToIngest") and set it to reference the 
uploaded Asset
 # Create a third Parameter Context ("Parent") that inherits both ChildA and 
ChildB
 # Edit the Parent context and remove ChildA from the inherited contexts list
 # Click Apply



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

Reply via email to