exceptionfactory opened a new pull request, #10992:
URL: https://github.com/apache/nifi/pull/10992

   - Fixed forcible inheritance of users and groups from fingerprints in 
FileUserGroupProvider by creating new mutable Lists when adding users and groups
   
   # Summary
   
   [NIFI-15693](https://issues.apache.org/jira/browse/NIFI-15693) Fixes Flow 
Synchronization errors that can occur when a new cluster node attempts to 
inherit User and Group information through the `FileUserGroupProvider`.
   
   Recent changes in NiFi 2.7.0 refactored XML parsing from JAXB to DOM, and 
restructured the memory-based definition of Users and Groups. This 
restructuring introduced a bug where initializing with empty Users and Groups 
resulted in attempts to update immutable lists, leading to a 
`FlowSynchronizationException` caused by an `UnsupportedOperationException` in 
`FileUserGroupProvider.addUsersAndGroups()`.
   
   The correction adjusts the `addUsersAndGroups()` method to create new 
mutable `ArrayList` instances before updating Users and Groups held in memory. 
The `addUsersAndGroups()` method does not need to be synchronized because all 
calling public methods are synchronized. The `purgeUsersAndGroups()` is not 
part of the interface and is not called outside of `FileUserGroupProvider`, so 
its visibility has been changed to `private` and the unnecessary `synchronized` 
keyword has been removed. A new unit test exercises the inherit fingerprint 
behavior that previously resulted in the exception.
   
   # 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) issue 
created
   
   ### Pull Request Tracking
   
   - [X] Pull Request title starts with Apache NiFi Jira issue number, such as 
`NIFI-00000`
   - [X] Pull Request commit message starts with Apache NiFi Jira issue number, 
as such `NIFI-00000`
   - [X] 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
   
   # 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](https://apache.org/licenses/LICENSE-2.0) according to the [License 
Policy](https://www.apache.org/legal/resolved.html)
   - [ ] New dependencies are documented in applicable `LICENSE` and `NOTICE` 
files
   
   ### Documentation
   
   - [ ] Documentation formatting appears as expected in rendered files
   


-- 
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]

Reply via email to