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)