Skip to content

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

Merged
exceptionfactory merged 1 commit into
apache:mainfrom
pvillard31:NIFI-15016
Oct 2, 2025
Merged

NIFI-15016 - Ensure nested versioned groups detect scheduled-state changes#10356
exceptionfactory merged 1 commit into
apache:mainfrom
pvillard31:NIFI-15016

Conversation

@pvillard31

Copy link
Copy Markdown
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

@exceptionfactory exceptionfactory left a comment

Copy link
Copy Markdown
Contributor

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.

@exceptionfactory exceptionfactory left a comment

Copy link
Copy Markdown
Contributor

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
awelless pushed a commit to awelless/nifi that referenced this pull request Nov 5, 2025
…ges (apache#10356)

Signed-off-by: David Handermann <exceptionfactory@apache.org>
yisun-anetac pushed a commit to Eng-Anetac/nifi that referenced this pull request Apr 4, 2026
…ges (apache#10356)

Signed-off-by: David Handermann <exceptionfactory@apache.org>
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