[ 
https://issues.apache.org/jira/browse/KAFKA-7082?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16550587#comment-16550587
 ] 

williamguan commented on KAFKA-7082:
------------------------------------

Hi, I think the broker should only accept the first create request when 
handling more than one request.

What if there are two people trying to create a topic with different 
partitions? One of them would found his messages were send to wrong partitions 
because both of them receive no exception while trying to create.

> Concurrent createTopics calls may throw NodeExistsException
> -----------------------------------------------------------
>
>                 Key: KAFKA-7082
>                 URL: https://issues.apache.org/jira/browse/KAFKA-7082
>             Project: Kafka
>          Issue Type: Bug
>    Affects Versions: 1.1.0
>            Reporter: Ismael Juma
>            Assignee: Ismael Juma
>            Priority: Critical
>              Labels: regression
>             Fix For: 1.1.1, 2.0.0
>
>
> This exception is unexpected causing an `UnknownServerException` to be thrown 
> back to the client. Example below:
> {code}
> org.apache.zookeeper.KeeperException$NodeExistsException: KeeperErrorCode = 
> NodeExists for /config/topics/connect-configs
>         at 
> org.apache.zookeeper.KeeperException.create(KeeperException.java:119)
>         at 
> org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
>         at kafka.zookeeper.AsyncResponse.maybeThrow(ZooKeeperClient.scala:472)
>         at kafka.zk.KafkaZkClient.createRecursive(KafkaZkClient.scala:1400)
>         at kafka.zk.KafkaZkClient.create$1(KafkaZkClient.scala:262)
>         at 
> kafka.zk.KafkaZkClient.setOrCreateEntityConfigs(KafkaZkClient.scala:269)
>         at 
> kafka.zk.AdminZkClient.createOrUpdateTopicPartitionAssignmentPathInZK(AdminZkClient.scala:99)
>         at kafka.server.AdminManager$$anonfun$2.apply(AdminManager.scala:126)
>         at kafka.server.AdminManager$$anonfun$2.apply(AdminManager.scala:81)
>         at 
> scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
>         at 
> scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
>         at scala.collection.Iterator$class.foreach(Iterator.scala:891)
>         at scala.collection.AbstractIterator.foreach(Iterator.scala:1334)
>         at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
>         at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
>         at 
> scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to