Hi All,
Currently we are using kafka_2.8.0-0.8.0-beta1 in our production system. I
am using sync producer with ack=0 to send the events to broker.
but I am seeing most of my producer threads are blocked.
"jmsListnerTaskExecutor-818" prio=10 tid=0x00007f3f5c05a800 nid=0x1719
waiting for monitor entry [0x00007f405935e000]
* java.lang.Thread.State: BLOCKED (on object monitor)*
* at
kafka.producer.async.DefaultEventHandler.handle(DefaultEventHandler.scala:53)*
* - waiting to lock <0x0000000602358ee8> (a java.lang.Object)*
at kafka.producer.Producer.send(Producer.scala:74)
at kafka.javaapi.producer.Producer.send(Producer.scala:32)
at
com.snapdeal.coms.kafka.KafkaProducer.send(KafkaProducer.java:135)
at
com.snapdeal.coms.kafka.KafkaEventPublisher.publishCOMSEventOnESB(KafkaEventPublisher.java:61)
at
com.snapdeal.coms.service.EventsPublishingService.publishStateChangeEvent(EventsPublishingService.java:88)
at
com.snapdeal.coms.publisher.core.PublisherEventPublishingService.publishUploadIdState(PublisherEventPublishingService.java:46)
at
com.snapdeal.coms.publisher.splitter.VendorProductUpdateSplitter.split(VendorProductUpdateSplitter.java:112)
at sun.reflect.GeneratedMethodAccessor227.invoke(Unknown Source)
[image: Inline image 1]
Jvisualvm also shows that most of the time producer threads are in blocked
state though I don't see any exception in kafka sever logs. Any insight??