Skip to content

Conversation

pvillard31
Copy link
Contributor

Summary

NIFI-15016 - Ensure nested versioned groups detect scheduled-state changes

The versioned flow stores the same flow coordinates on every embedded process group in a versioned flow. When we do flow design changes or configuration edits, we clear those coordinates and the old comparator logic would see this as a condition to check the changes in a recursive manner (deep comparison). When we do operational changes like starting/stopping, enabling/disabling, we do not clear the coordinates and this is why we were missing enabling/disabling a component as a local change in nested process groups. Clearing coordinates when scheduling changes occur would falsely mark the group as referencing a different flow version, contradicting the runtime-versus-definition. Consequently, I have updated the recursion condition to inspect any non-empty child group. It preserves the coordinate contract while surfacing schedule state changes exactly like other edits.

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

Copy link
Contributor

@exceptionfactory exceptionfactory left a comment

Choose a reason for hiding this comment

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

Thanks for this improvement @pvillard31. The change makes sense, and the new test is helpful. I noted a minor suggestion to declare and reuse string identifiers for the test method, but otherwise this looks good.

Copy link
Contributor

@exceptionfactory exceptionfactory left a comment

Choose a reason for hiding this comment

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

Thanks for the adjustment @pvillard31, looks good! +1 merging

@exceptionfactory exceptionfactory added the hacktoberfest-accepted Hacktoberfest Accepted label Oct 2, 2025
@exceptionfactory exceptionfactory merged commit dc0dd3a into apache:main Oct 2, 2025
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hacktoberfest-accepted Hacktoberfest Accepted

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants