andymg3 opened a new pull request, #12145: URL: https://github.com/apache/kafka/pull/12145
## JIRA https://issues.apache.org/jira/browse/KAFKA-13892 ### Details In https://github.com/apache/kafka/blob/trunk/metadata/src/main/java/org/apache/kafka/controller/AclControlManager.java#L143 we loop through the ACL filters and and add `RemoveAccessControlEntryRecord` records to the response list for each matching ACL. There's a bug where if two (or more) filters match the same ACL, we create two (or more) `RemoveAccessControlEntryRecord` records for the same ACL. This is an issue because upon replay we throw an exception (https://github.com/apache/kafka/blob/trunk/metadata/src/main/java/org/apache/kafka/controller/AclControlManager.java#L195) if the ACL is not in the in-memory data structures which will happen to the second `RemoveAccessControlEntryRecord`. I don't think we need to dedupe `List<AclDeleteResult>`. It contains a list of results, where each result contains the ACLs that matched the filter. It should be OK for the same ACL to be in multiple AclDeleteResult results because it really could match multiple filters. ### Testing - Added a unit test that tests the new behavior ### Committer Checklist (excluded from commit message) - [ ] Verify design and implementation - [ ] Verify test coverage and CI build status - [ ] Verify documentation (including upgrade notes) -- 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: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org