[ https://issues.apache.org/jira/browse/KAFKA-8813?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vikas Singh updated KAFKA-8813: ------------------------------- Description: In Partition.createLog we do: {code:java} val props = stateStore.fetchTopicConfig() val config = LogConfig.fromProps(logManager.currentDefaultConfig.originals, props) val log = logManager.getOrCreateLog(topicPartition, config, isNew, isFutureReplica) {code} [https://github.com/apache/kafka/blob/33d06082117d971cdcddd4f01392006b543f3c01/core/src/main/scala/kafka/cluster/Partition.scala#L314-L316|https://github.com/apache/kafka/blob/33d06082117d971cdcddd4f01392006b543f3c01/core/src/main/scala/kafka/cluster/Partition.scala#L315-L316] Config changes that arrive after configs are loaded from ZK, but before LogManager added the partition to `futureLogs` or `currentLogs` where the dynamic config handlers picks up topics to update their configs, will be lost. was: In Partition.createLog we do: {code:java} val props = stateStore.fetchTopicConfig() val config = LogConfig.fromProps(logManager.currentDefaultConfig.originals, props) val log = logManager.getOrCreateLog(topicPartition, config, isNew, isFutureReplica) {code} [https://github.com/apache/kafka/blob/33d06082117d971cdcddd4f01392006b543f3c01/core/src/main/scala/kafka/cluster/Partition.scala#L315-L316] Config changes that arrive after configs are loaded from ZK, but before LogManager added the partition to `futureLogs` or `currentLogs` where the dynamic config handlers picks up topics to update their configs, will be lost. > Race condition when creating topics and changing their configuration > -------------------------------------------------------------------- > > Key: KAFKA-8813 > URL: https://issues.apache.org/jira/browse/KAFKA-8813 > Project: Kafka > Issue Type: Bug > Reporter: Gwen Shapira > Assignee: Vikas Singh > Priority: Major > > In Partition.createLog we do: > {code:java} > val props = stateStore.fetchTopicConfig() > val config = LogConfig.fromProps(logManager.currentDefaultConfig.originals, > props) > val log = logManager.getOrCreateLog(topicPartition, config, isNew, > isFutureReplica) > {code} > [https://github.com/apache/kafka/blob/33d06082117d971cdcddd4f01392006b543f3c01/core/src/main/scala/kafka/cluster/Partition.scala#L314-L316|https://github.com/apache/kafka/blob/33d06082117d971cdcddd4f01392006b543f3c01/core/src/main/scala/kafka/cluster/Partition.scala#L315-L316] > Config changes that arrive after configs are loaded from ZK, but before > LogManager added the partition to `futureLogs` or `currentLogs` where the > dynamic config handlers picks up topics to update their configs, will be lost. -- This message was sent by Atlassian Jira (v8.3.2#803003)