Thanks for responding. I was creating an instance of kafka.server.KafkaServer in my code for running some tests and this was what I referred to by an embedded broker.
The scenario you described was what was happening. In my case when I kill my broker, it fails to send an ack. I added handling of duplicates and resolved this issue. Thanks Arun -----Original Message----- From: Jiangjie Qin [mailto:j...@linkedin.com.INVALID] Sent: Tuesday, March 03, 2015 11:13 PM To: users@kafka.apache.org Subject: Re: Kafka producer failed to send but actually does What do you mean by Kafka embedded broker? Anyway, this could happen. For example, producer sends message to broker. After that some network issue occurs and the producer did not got confirmation from broker, so the producer thought the send failed. But the broker actually got the message. The produce is expected to resend the message, so broker will have duplicate messages, and that¹s also why we say Kafka guarantees at least once. -Jiangjie (Becket) Qin On 3/3/15, 4:01 AM, "Arunkumar Srambikkal (asrambik)" <asram...@cisco.com> wrote: >Hi, > >I'm running some tests with the Kafka embedded broker and I see cases >where the producer gets the FailedToSendMessageException but in reality >the message is transferred and consumer gets it > >Is this expected / known issue? > >Thanks >Arun > >My producer config = > > props.put("producer.type", "sync") > props.put("serializer.class", "kafka.serializer.StringEncoder"); > props.put("partitioner.class", "com.test.PartMe"); > props.put("metadata.broker.list", "127.0.0.1:"+port); > props.put("request.required.acks", "-1"); > props.put("message.send.max.retries", "0")