[ 
https://issues.apache.org/jira/browse/NIFI-16550?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Scott Aslan resolved NIFI-16550.
--------------------------------
    Fix Version/s: 2.13.0
       Resolution: Fixed

> Do not recurse into referencing components of a referenceCycle node when 
> collecting Controller Service revisions
> ----------------------------------------------------------------------------------------------------------------
>
>                 Key: NIFI-16550
>                 URL: https://issues.apache.org/jira/browse/NIFI-16550
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Core UI
>            Reporter: Rob Fellows
>            Assignee: Rob Fellows
>            Priority: Major
>             Fix For: 2.13.0
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> h2. Problem
> `ControllerServiceStateService.getReferencingComponentRevisions()` in 
> `nifi-frontend` 
> (`apps/nifi/src/app/service/controller-service-state.service.ts`) builds the 
> revision map sent with enable/disable and start/stop requests. It recurses 
> into each referencing component's `referencingComponents` without checking 
> `referenceCycle`.
> The server (`StandardNiFiServiceFacade`) sets `referenceCycle` on a repeated 
> Controller Service and omits its `referencingComponents`, so the recursion 
> currently terminates. The client should not rely on the server omitting 
> children. A response that sets `referenceCycle` and still includes children 
> that loop back would recurse without a bound.
> The reference listing UI already stops at `referenceCycle` nodes. The 
> revision collector should do the same.
> h2. Scope
> * In `getReferencingComponentRevisions()`, record the revision of a cycle 
> node as usual, but do not recurse into its `referencingComponents` when 
> `referenceCycle` is true.
> * Keep the existing empty and missing-children handling.
> h2. Acceptance Criteria
> * A `referenceCycle` node with populated `referencingComponents` does not 
> contribute its descendants to the revision map.
> * The cycle node's own revision is still included when it matches the filter 
> (Controller Service for service-only, Processor or Reporting Task otherwise).
> * Missing or empty `referencingComponents` still terminate as before.
> * A unit test covers a cycle node with child entries.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to