Yes, we had to patch metrics due to a bug. The patched jar is shipped with the distribution until they get a release out.
But logging this in debug is a bug. Would you be willing to file a ticket for this? Thanks! -jay On Tue, Nov 27, 2012 at 10:12 AM, Chris Curtin <curtin.ch...@gmail.com>wrote: > Okay, figured out that you need to turn on Log4j logger to DEBUG then you > get a NoSuchMethodError around yammer. (see below) > > I'm running yammer 2.2.0 since that seems to be all I can find via maven. > Is there a different version needed? > > Thanks, > > Chris > > 257 [main] INFO kafka.producer.SyncProducer - Connected to > 10.121.31.55:9094 for producing > 286 [main] WARN kafka.producer.async.DefaultEventHandler - failed to > send to broker 3 with data Map([test1,0] -> > ByteBufferMessageSet(MessageAndOffset(Message(magic = 2, attributes = 0, > crc = 1906312613, key = null, payload = java.nio.HeapByteBuffer[pos=0 > lim=22 cap=22]),0), )) > java.lang.NoSuchMethodError: com.yammer.metrics.core.TimerContext.stop()J > at kafka.metrics.KafkaTimer.time(KafkaTimer.scala:36) > at kafka.producer.SyncProducer.send(SyncProducer.scala:94) > at > > kafka.producer.async.DefaultEventHandler.kafka$producer$async$DefaultEventHandler$$send(DefaultEventHandler.scala:221) > at > > kafka.producer.async.DefaultEventHandler$$anonfun$dispatchSerializedData$1.apply(DefaultEventHandler.scala:87) > at > > kafka.producer.async.DefaultEventHandler$$anonfun$dispatchSerializedData$1.apply(DefaultEventHandler.scala:81) > at > scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:80) > at > scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:80) > at scala.collection.Iterator$class.foreach(Iterator.scala:631) > at scala.collection.mutable.HashTable$$anon$1.foreach(HashTable.scala:161) > at > scala.collection.mutable.HashTable$class.foreachEntry(HashTable.scala:194) > at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:39) > at scala.collection.mutable.HashMap.foreach(HashMap.scala:80) > at > > kafka.producer.async.DefaultEventHandler.dispatchSerializedData(DefaultEventHandler.scala:81) > at > > kafka.producer.async.DefaultEventHandler.handle(DefaultEventHandler.scala:57) > at kafka.producer.Producer.send(Producer.scala:75) > at kafka.javaapi.producer.Producer.send(Producer.scala:32) > at com.silverpop.kafka.playproducer.TestProducer.main(TestProducer.java:40) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) > > > On Tue, Nov 27, 2012 at 12:30 PM, Jun Rao <jun...@gmail.com> wrote: > > > When the producer fails to send in 3 retries, it will log an error. > Before > > that, in the producer, we log the failure of each of the retries in warn > > and it tells you the cause. > > > > Also, did you create the topic first? > > > > Thanks, > > > > Jun > > > > On Tue, Nov 27, 2012 at 8:56 AM, Chris Curtin <curtin.ch...@gmail.com > > >wrote: > > > > > The error from when it fails is all I get. Nothing on the broker side > and > > > no other errors or exceptions on the client. > > > > > > Where should I be looking for the reasons? Is there a callback I should > > be > > > implementing? > > > > > > Thanks, > > > > > > Chris > > > > > > > > > On Tue, Nov 27, 2012 at 11:49 AM, Jun Rao <jun...@gmail.com> wrote: > > > > > > > Do you have the exception that caused each retry to fail? > > > > > > > > Thanks, > > > > > > > > Jun > > > > > > > > On Tue, Nov 27, 2012 at 7:17 AM, Chris Curtin < > curtin.ch...@gmail.com > > > > >wrote: > > > > > > > > > Hi, > > > > > > > > > > Installed 0.8.0 yesterday, 3 physical machines, 9 brokers running > (3 > > > per > > > > > machine). 2 topics, with 3 replicas each > > > > > > > > > > the console producer/consumer examples work fine. > > > > > > > > > > When I run my producer logic I get the following error whether on > the > > > > > cluster or in my dev environment: > > > > > > > > > > Exception in thread "main" > kafka.common.FailedToSendMessageException: > > > > > Failed to send messages after 3 tries. > > > > > at > > > > > > > > > > > > > > > > > > > > kafka.producer.async.DefaultEventHandler.handle(DefaultEventHandler.scala:70) > > > > > at kafka.producer.Producer.send(Producer.scala:75) > > > > > at kafka.javaapi.producer.Producer.send(Producer.scala:32) > > > > > at > > > > > > com.silverpop.kafka.playproducer.TestProducer.main(TestProducer.java:40) > > > > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > > > > at > > > > > > > > > > > > > > > > > > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > > > > > at > > > > > > > > > > > > > > > > > > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > > > > > at java.lang.reflect.Method.invoke(Method.java:597) > > > > > at > > com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) > > > > > > > > > > Code is pretty basic: > > > > > > > > > > public class TestProducer { > > > > > public static void main(String[] args) { > > > > > > > > > > String zookeeper = args[0]; > > > > > long events = Long.parseLong(args[1]); > > > > > long blocks = Long.parseLong(args[2]); > > > > > > > > > > Random rnd = new Random(); > > > > > > > > > > Properties props = new Properties(); > > > > > props.put("broker.list", "mongodb03.atlnp1:9092"); > > > > > > > > > > > > > > > props.put("serializer.class", > > > "kafka.serializer.StringEncoder"); > > > > > ProducerConfig config = new ProducerConfig(props); > > > > > Producer<Integer, String> producer = new Producer<Integer, > > > > > String>(config); > > > > > > > > > > > > > > > for (long nBlocks = 0; nBlocks < blocks; nBlocks++) { > > > > > for (long nEvents = 0; nEvents < events; nEvents++) { > > > > > long runtime = new Date().getTime(); > > > > > String msg = runtime + "," + (50 + nBlocks) + "," + > > > > > nEvents+ "," + rnd.nextInt(1000); > > > > > KeyedMessage<Integer, String> data = new > > > > > KeyedMessage<Integer, String>("test1", msg); > > > > > producer.send(data); > > > > > } > > > > > } > > > > > > > > > > > > > > > } > > > > > > > > > > using Zookeeper doesn't matter. Changing broker.list to include > all 9 > > > > > brokers doesn't matter. Changing Producer and KeyedMessage to be > > > <String, > > > > > String> doesn't matter. > > > > > > > > > > Thoughts on what I'm doing wrong? > > > > > > > > > > Thanks, > > > > > > > > > > Chris > > > > > > > > > > > > > > >