Current state: Under Discussion
Discussion thread: here
JIRA: KAFKA-15172
When mirroring ACLs, MirrorMaker downgrades allow ALL ACLs to allow READ. The rationale to is prevent other clients to produce to remote topics, which is mentioned in KIP-382: MirrorMaker 2.0.
However in disaster recovery scenarios, where the target cluster is not used and just a "hot standby", it would be preferable to have exactly the same ACLs on both clusters to speed up failover. Therefore, in this scenario, we can add a configuration to MirrorMakerConfig
whether to support disaster recovery, where we need to synchronize the topic write&read ACL, group ACL, and absolute user scram credential of the source cluster topic to the target cluster, so that when the user directly switches the read and write service to the target cluster, it can be ran directly.
Add a configuration in MirrorMakerConfig.
Proposed Changes
Add a config parameter: sync.full.acl.enabled
, the default is false, it will leave the current sync behavior unchanged, if set true, it will synchronize the topic write&read ACL, group ACL, and absolute user scram credential of the source cluster replicated topics to the target cluster.
There is no impact on existing behavior, and the existing behavior is not deprecated. just sync more infos when enable sync.full.acl.enabled.
sync.full.acl.enabled
is set to true or false.