Skip to content

NIFI-15296 Fix enabling Controller Services with dependencies#10603

Closed
exceptionfactory wants to merge 1 commit intoapache:mainfrom
exceptionfactory:NIFI-15296
Closed

NIFI-15296 Fix enabling Controller Services with dependencies#10603
exceptionfactory wants to merge 1 commit intoapache:mainfrom
exceptionfactory:NIFI-15296

Conversation

@exceptionfactory
Copy link
Copy Markdown
Contributor

Summary

NIFI-15296 Corrects framework enabling of referenced Controller Services with unsatisfied property dependencies.

The primary change in StandardControllerServiceNode.getRequriedControllerServices() now evaluates whether a configured and referenced Controller Service has property dependencies satisfied.

Referenced Controller Services that do not depend on other property values remain included in the list of required Controller Services. Referenced Controller Services that depend on other property values, and have those dependencies satisfied also remain included. The method now filters out Controller Services that do not have satisfied dependencies, which avoids enabling unnecessary Controller Services as part of the chain of enabling the parent Controller Service.

The initial implementation of getRequiredControllerServices() predated the introduction of dependent properties. The need to avoid enabling selected Controller Services is limited to the situation where a Controller Service property depends on the value of another property.

A new unit test method exercises the updated behavior, with a PrimaryService that has two properties. The PrimaryService has a required property that references a Secondary Service and also has a required property named Secondary Service Enabled on which the Secondary Service property depends. The unit sets configures a Controller Service Identifier for the Secondary Service but verifies that the service is not enabled, because the Secondary Service Enabled property is not configured.

Tracking

Please complete the following tracking steps prior to pull request creation.

Issue Tracking

Pull Request Tracking

  • Pull Request title starts with Apache NiFi Jira issue number, such as NIFI-00000
  • Pull Request commit message starts with Apache NiFi Jira issue number, as such NIFI-00000

Pull Request Formatting

  • Pull Request based on current revision of the main branch
  • Pull Request refers to a feature branch with one commit containing changes

Verification

Please indicate the verification steps performed prior to pull request creation.

Build

  • Build completed using ./mvnw clean install -P contrib-check
    • JDK 21
    • JDK 25

Licensing

  • New dependencies are compatible with the Apache License 2.0 according to the License Policy
  • New dependencies are documented in applicable LICENSE and NOTICE files

Documentation

  • Documentation formatting appears as expected in rendered files

- Filtered list of required Controller Services based on whether the property descriptor has satisfied dependencies to avoid enabling unnecessary referenced Controller Services
- Added unit test with Primary Controller Service referencing Secondary Controller Service depending on specified properties
Copy link
Copy Markdown
Contributor

@pvillard31 pvillard31 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @exceptionfactory - I tested a few scenarios and everything is working as expected, this is a nice improvement !

@pvillard31 pvillard31 closed this in 3c0c646 Dec 6, 2025
mark-bathori pushed a commit to mark-bathori/nifi that referenced this pull request Feb 5, 2026
- Filtered list of required Controller Services based on whether the property descriptor has satisfied dependencies to avoid enabling unnecessary referenced Controller Services
- Added unit test with Primary Controller Service referencing Secondary Controller Service depending on specified properties

Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes apache#10603.
yisun-anetac pushed a commit to Eng-Anetac/nifi that referenced this pull request Apr 4, 2026
- Filtered list of required Controller Services based on whether the property descriptor has satisfied dependencies to avoid enabling unnecessary referenced Controller Services
- Added unit test with Primary Controller Service referencing Secondary Controller Service depending on specified properties

Signed-off-by: Pierre Villard <pierre.villard.fr@gmail.com>

This closes apache#10603.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants