David Arthur created KAFKA-19347:
------------------------------------

             Summary: AclControlManager unsafe state update
                 Key: KAFKA-19347
                 URL: https://issues.apache.org/jira/browse/KAFKA-19347
             Project: Kafka
          Issue Type: Bug
          Components: controller
            Reporter: David Arthur
            Assignee: David Arthur


In AclControlManager#createAcls, we are updating the timeline data structures 
prior to the record being replayed. This could potentially allow uncommitted 
state to be exposed to callers. In general, this kind of update could lead to 
data consistency problems, but for ACLs in particular there is actually no 
problem. 

 

On the write side of things, createAcls was making the same update as the 
replay method and this action is idempotent. This means the end result will be 
the same. 

 

On the read side, the concern is that uncommitted state is acted on and the 
controller crashes. For ACLs, this actually doesn't present a problem because 
we only apply ACLs from AclsDelta which is populated by MetadataLoader. Since 
MetadataLoader only replays committed records, there is no potential for 
exposing uncommitted data.

Regardless, we should fix this unsafe update in the controller.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to