rfellows opened a new pull request, #11887: URL: https://github.com/apache/nifi/pull/11887
# Summary [NIFI-16543](https://issues.apache.org/jira/browse/NIFI-16543) Enabling or disabling a Controller Service with its referencing components advanced as soon as any one referencing Controller Service reached the expected state. Sibling services, and services nested under another referencing service, could still be enabling, disabling, or running when the UI moved on. Progress now waits until every referencing Controller Service branch reaches an accepted state. Nested stop checks require every branch to be stopped. Direct Processor and Reporting Task checks are unchanged. A missing referencing-component list is treated as empty, and recursion stops at a component marked `referenceCycle` after that component's own state is checked. That follows `StandardNiFiServiceFacade`, which shares one visited set across siblings and leaves a later encounter unexpanded. Unauthorized-reference detection still fails when any reference is unauthorized, with the same empty-list and cycle guards. An empty reference list is complete and authorized. # Tracking Please complete the following tracking steps prior to pull request creation. ### Issue Tracking - [x] [Apache NiFi Jira](https://issues.apache.org/jira/browse/NIFI-16543) issue created ### Pull Request Tracking - [x] Pull Request title starts with Apache NiFi Jira issue number, such as `NIFI-16543` - [x] Pull Request commit message starts with Apache NiFi Jira issue number, as such `NIFI-16543` - [ ] Pull request contains [commits signed](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits) with a registered key indicating `Verified` status ### Pull Request Formatting - [x] Pull Request based on current revision of the `main` branch - [x] Pull Request refers to a feature branch with one commit containing changes The branch was cut from `c31dc1f2d8`. Current `main` has since added `NIFI-16542` (`StandardComponentStateDAO` only). That commit does not touch these files, and a merge-tree against current `main` is clean. ## What's Changed - `controller-service-state.effects.ts`: `isReferencingServicesActionComplete` requires every sibling and nested Controller Service to reach an accepted state. `areReferencingComponentsStopped` requires every nested branch to be stopped. `hasUnauthorizedReferences` remains existential and uses the same empty-list and cycle guards. - `controller-service-state.effects.spec.ts`: covers mixed sibling enable and disable, nested disabled services, running Processors, Reporting Tasks with active threads, fully stopped trees, empty references, accepted and rejected cycle nodes, a service expanded under one parent and flagged `referenceCycle` under another, and unauthorized references both directly and in a nested descendant. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
