kafka-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Josh Rosen (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (KAFKA-1494) Failed to send messages after 3 tries.
Date Wed, 01 Oct 2014 17:02:36 GMT

    [ 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:
>         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
> [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

View raw message