Status
Current state: Accepted
Discussion thread: https://lists.apache.org/thread.html/r744e0c3a930936b483faefad02daa610762fbb9d65922e3d18781e01%40%3Cdev.kafka.apache.org%3E
JIRA:
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
Motivation
In the class Named AclCommand,configure SimpleAclAuthorizer,but no need call loadCache.
now we have 20,000 topics in kafka cluster,everytime I run AclCommand,all these topics's Alcs need to be authed, it will be very slow.
The purpose of this optimization is:we can choose to not load the acl of all topics into memory, mainly for adding and deleting permissions
we can choose improve the running time from minutes to less than one second
Public Interfaces
A public interface is any change to the following:
- just add the optional switch in AclCommand.scala
Proposed Changes
PR Available here: https://github.com/apache/kafka/pull/7706
mainly for adding and deleting permissions,we can choose to not load the acl of all topics into memory,
then we can add two args "--load-acl-cache" "false" in AclCommand.main;else you don't add these args, it will load the acl cache defaultly.
we can choose improve the running time from minutes to less than one second
Compatibility, Deprecation, and Migration Plan
No impact or migration plan required as this proposal is only adding new methods and not changing any current behaviour.
Rejected Alternatives
As mentioned in the Proposed changes, this is inefficient.