[
https://issues.apache.org/jira/browse/NIFI-16550?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rob Fellows reassigned NIFI-16550:
----------------------------------
Assignee: Rob Fellows
> 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
>
> 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)