[ https://issues.apache.org/jira/browse/KAFKA-16669?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Chia-Ping Tsai resolved KAFKA-16669. ------------------------------------ Fix Version/s: 3.9.0 Resolution: Fixed > Remove extra collection copy when generating DescribeAclsResource > ----------------------------------------------------------------- > > Key: KAFKA-16669 > URL: https://issues.apache.org/jira/browse/KAFKA-16669 > Project: Kafka > Issue Type: Improvement > Reporter: Chia-Ping Tsai > Assignee: Chia Chuan Yu > Priority: Trivial > Fix For: 3.9.0 > > > There are three collection copy happening in generating DescribeAclsResource > 1. Iterable -> HashSet > (https://github.com/apache/kafka/blob/25118cec145b1a70a7b1709ca4a7ac367f066c6c/core/src/main/scala/kafka/server/AclApis.scala#L72) > 2. HashSet -> Map<R, List> > (https://github.com/apache/kafka/blob/25118cec145b1a70a7b1709ca4a7ac367f066c6c/clients/src/main/java/org/apache/kafka/common/requests/DescribeAclsResponse.java#L141) > 3. Map<R, List> -> List > (https://github.com/apache/kafka/blob/25118cec145b1a70a7b1709ca4a7ac367f066c6c/clients/src/main/java/org/apache/kafka/common/requests/DescribeAclsResponse.java#L146) > We can do two small optimization: > 1. remove the first collection copy. This optimization needs two steps: a) > change `aclsResources` input type from `Collection` to `Iterable`. b) > de-duplicate in second collection copy: HashSet -> Map<R, List>. We use `Set` > to replace the `List` > 2. set the array size. > https://github.com/apache/kafka/blob/25118cec145b1a70a7b1709ca4a7ac367f066c6c/clients/src/main/java/org/apache/kafka/common/requests/DescribeAclsResponse.java#L148 -- This message was sent by Atlassian Jira (v8.20.10#820010)