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

Josh Rosen commented on KAFKA-1494:
-----------------------------------

Hi Joe,

Sorry for cluttering up this JIRA; I should have posted to the mailing list.  I 
was _just_ about to hit 'send' on my message when I tried one more thing and 
stumbled on a solution for my issue:

It turns out that publishing to auto-created topics seems to work in my setup 
(using the configurations tweaks suggested here); it was only publication to 
manually-created topics that was failing.  The root problem turned out to be 
that I had created ZkClient without specifying a serializer, which seemed to 
allow certain ZK metadata operations to succeed even though the stored data 
didn't seem to be usable by the broker / producer.  When I configured ZkClient 
to use ZKStringSerializer, the problem disappeared and I could publish data as 
expected.  Hope this helps anyone who has run into a similar issue (and sorry 
for the clutter!).

> Failed to send messages after 3 tries.
> --------------------------------------
>
>                 Key: KAFKA-1494
>                 URL: https://issues.apache.org/jira/browse/KAFKA-1494
>             Project: Kafka
>          Issue Type: Bug
>          Components: controller, core
>    Affects Versions: 0.8.1.1
>         Environment: Mac OS 
>            Reporter: darion yaphets
>            Assignee: Neha Narkhede
>
> I use default server & zookeeper config to start-up zookeeper server and 
> kafka broker on my machine to test custom message which based on proto buffer 
> . I write a client to send protobuf-message to kafka broker and source code 
> as following :
>                 Properties properties = new Properties();
>               properties.put("serializer.class", 
> "java_example.ProtoBufMessage");
>               properties.put("metadata.broker.list", "localhost:9092");
>               ProducerConfig config = new ProducerConfig(properties);
>               testBuf buffer = testBuf.newBuilder().setID(0)
>                               .setUrl("darion.yaphet.org").build();
>               Producer<String, testBuf> producer = new Producer<String, 
> testBuf>(
>                               config);
>               producer.send(new KeyedMessage<String, testBuf>("protobuffer", 
> buffer));
> client debug log report a exception:
> [FileSystemMoniter] INFO [main] kafka.utils.Logging$class.info(68) | 
> Disconnecting from localhost:9092
> [FileSystemMoniter] DEBUG [main] kafka.utils.Logging$class.debug(52) | 
> Successfully fetched metadata for 1 topic(s) Set(protobuffer)
> [FileSystemMoniter] WARN [main] kafka.utils.Logging$class.warn(83) | Error 
> while fetching metadata [{TopicMetadata for topic protobuffer -> 
> No partition metadata for topic protobuffer due to 
> kafka.common.LeaderNotAvailableException}] for topic [protobuffer]: class 
> kafka.common.LeaderNotAvailableException 
> [FileSystemMoniter] ERROR [main] kafka.utils.Logging$class.error(97) | Failed 
> to send requests for topics protobuffer with correlation ids in [0,8]
> Exception in thread "main" kafka.common.FailedToSendMessageException: Failed 
> to send messages after 3 tries.
>       at 
> kafka.producer.async.DefaultEventHandler.handle(DefaultEventHandler.scala:90)
>       at kafka.producer.Producer.send(Producer.scala:76)
>       at kafka.javaapi.producer.Producer.send(Producer.scala:33)
>       at java_example.ProducerExamples.main(ProducerExamples.java:26)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to