[
https://issues.apache.org/jira/browse/KAFKA-1124?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13949732#comment-13949732
]
Robin Yamaguchi commented on KAFKA-1124:
----------------------------------------
I'm running 0.8.1. and only run into this issue with auto created topic when
replication-factor is greater than 1. When topics are manually created, no
errors.
[[email protected] kafka]# ./bin/kafka-console-producer.sh
--broker-list h-kafka01:9092,h-kafka02:9092,h-kafka03:9092 --topic RobinTest4
Test Message One, testing auto topic creation
[2014-03-26 23:25:24,253] WARN Error while fetching metadata [{TopicMetadata
for topic RobinTest4 ->
No partition metadata for topic RobinTest4 due to
kafka.common.LeaderNotAvailableException}] for topic [RobinTest4]: class
kafka.common.LeaderNotAvailableException (kafka.producer.BrokerPartitionInfo)
[2014-03-26 23:25:24,289] WARN Error while fetching metadata [{TopicMetadata
for topic RobinTest4 ->
No partition metadata for topic RobinTest4 due to
kafka.common.LeaderNotAvailableException}] for topic [RobinTest4]: class
kafka.common.LeaderNotAvailableException (kafka.producer.BrokerPartitionInfo)
[2014-03-26 23:25:24,290] ERROR Failed to collate messages by topic, partition
due to: Failed to fetch topic metadata for topic: RobinTest4
(kafka.producer.async.DefaultEventHandler)
[2014-03-26 23:25:24,406] WARN Error while fetching metadata [{TopicMetadata
for topic RobinTest4 ->
No partition metadata for topic RobinTest4 due to
kafka.common.LeaderNotAvailableException}] for topic [RobinTest4]: class
kafka.common.LeaderNotAvailableException (kafka.producer.BrokerPartitionInfo)
[2014-03-26 23:25:24,434] WARN Error while fetching metadata [{TopicMetadata
for topic RobinTest4 ->
No partition metadata for topic RobinTest4 due to
kafka.common.LeaderNotAvailableException}] for topic [RobinTest4]: class
kafka.common.LeaderNotAvailableException (kafka.producer.BrokerPartitionInfo)
[2014-03-26 23:25:24,434] ERROR Failed to collate messages by topic, partition
due to: Failed to fetch topic metadata for topic: RobinTest4
(kafka.producer.async.DefaultEventHandler)
[2014-03-26 23:25:24,545] WARN Error while fetching metadata [{TopicMetadata
for topic RobinTest4 ->
No partition metadata for topic RobinTest4 due to
kafka.common.LeaderNotAvailableException}] for topic [RobinTest4]: class
kafka.common.LeaderNotAvailableException (kafka.producer.BrokerPartitionInfo)
[2014-03-26 23:25:24,561] WARN Error while fetching metadata [{TopicMetadata
for topic RobinTest4 ->
No partition metadata for topic RobinTest4 due to
kafka.common.LeaderNotAvailableException}] for topic [RobinTest4]: class
kafka.common.LeaderNotAvailableException (kafka.producer.BrokerPartitionInfo)
[2014-03-26 23:25:24,561] ERROR Failed to collate messages by topic, partition
due to: Failed to fetch topic metadata for topic: RobinTest4
(kafka.producer.async.DefaultEventHandler)
[2014-03-26 23:25:24,669] WARN Error while fetching metadata [{TopicMetadata
for topic RobinTest4 ->
No partition metadata for topic RobinTest4 due to
kafka.common.LeaderNotAvailableException}] for topic [RobinTest4]: class
kafka.common.LeaderNotAvailableException (kafka.producer.BrokerPartitionInfo)
[2014-03-26 23:25:24,683] WARN Error while fetching metadata [{TopicMetadata
for topic RobinTest4 ->
No partition metadata for topic RobinTest4 due to
kafka.common.LeaderNotAvailableException}] for topic [RobinTest4]: class
kafka.common.LeaderNotAvailableException (kafka.producer.BrokerPartitionInfo)
[2014-03-26 23:25:24,683] ERROR Failed to collate messages by topic, partition
due to: Failed to fetch topic metadata for topic: RobinTest4
(kafka.producer.async.DefaultEventHandler)
[2014-03-26 23:25:24,817] ERROR Failed to send requests for topics RobinTest4
with correlation ids in [0,8] (kafka.producer.async.DefaultEventHandler)
[2014-03-26 23:25:24,819] ERROR Error in handling batch of 1 events
(kafka.producer.async.ProducerSendThread)
kafka.common.FailedToSendMessageException: Failed to send messages after 3
tries.
at
kafka.producer.async.DefaultEventHandler.handle(DefaultEventHandler.scala:90)
at
kafka.producer.async.ProducerSendThread.tryToHandle(ProducerSendThread.scala:104)
at
kafka.producer.async.ProducerSendThread$$anonfun$processEvents$3.apply(ProducerSendThread.scala:87)
at
kafka.producer.async.ProducerSendThread$$anonfun$processEvents$3.apply(ProducerSendThread.scala:67)
at scala.collection.immutable.Stream.foreach(Stream.scala:526)
at
kafka.producer.async.ProducerSendThread.processEvents(ProducerSendThread.scala:66)
at
kafka.producer.async.ProducerSendThread.run(ProducerSendThread.scala:44)
> Sending to a new topic (with auto.create.topics.enable) returns ERROR
> ---------------------------------------------------------------------
>
> Key: KAFKA-1124
> URL: https://issues.apache.org/jira/browse/KAFKA-1124
> Project: Kafka
> Issue Type: Bug
> Affects Versions: 0.8.0, 0.8.1
> Reporter: Jason Rosenberg
>
> I had thought this was reported issue, but can't seem to find a previous
> report for it.
> If auto.create.topics.enable is true, a producer still gets an ERROR logged
> on the first attempt to send a message to a new topic, e.g.:
> 2013-11-06 03:00:08,638 ERROR [Thread-1] async.DefaultEventHandler - Failed
> to collate messages by topic, partition due to: Failed to fetch topic
> metadata for topic: mynewtopic
> 2013-11-06 03:00:08,638 INFO [Thread-1] async.DefaultEventHandler - Back off
> for 100 ms before retrying send. Remaining retries = 3
> This usually clears itself up immediately on retry (after 100 ms), as handled
> by the the kafka.producer.async.DefaultEventHandler (with retries enabled).
> However, this is logged to the client as an ERROR, and looks scary, when in
> fact it should have been a normal operation (since we have
> auto.create.topics.enable=true).
> There should be a better interaction here between the producer client and the
> server.
> Perhaps the server can create the topic in flight before returning the
> metadata request.
> Or, if it needs to be asynchronous, it could return a code which indicates
> something like: "The topic doesn't exist yet, it is being created, try again
> shortly".....and have the client automatically retry (even if retries not
> enabled, since it's not an ERROR condition, really).
> The ERROR log level is a problem since apps often have alert systems set up
> to notify when any ERROR happens, etc.....
--
This message was sent by Atlassian JIRA
(v6.2#6252)