NIFI-15016 - Ensure nested versioned groups detect scheduled-state changes #10356
+85
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
NIFI-00000
NIFI-00000
Pull Request Formatting
main
branchVerification
Please indicate the verification steps performed prior to pull request creation.
Build
./mvnw clean install -P contrib-check
Licensing
LICENSE
andNOTICE
filesDocumentation