Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-1710

[New Java Producer Potential Deadlock] Producer Deadlock when all messages is being sent to single partition

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Invalid
    • None
    • None
    • producer
    • Development

    Description

      Hi Kafka Dev Team,

      When I run the test to send message to single partition for 3 minutes or so on, I have encounter deadlock (please see the screen attached) and thread contention from YourKit profiling.

      Use Case:

      1) Aggregating messages into same partition for metric counting.
      2) Replicate Old Producer behavior for sticking to partition for 3 minutes.

      Here is output:

      Frozen threads found (potential deadlock)

      It seems that the following threads have not changed their stack for more than 10 seconds.
      These threads are possibly (but not necessarily!) in a deadlock or hung.

      pool-1-thread-128 <--- Frozen for at least 2m
      org.apache.kafka.clients.producer.internals.RecordAccumulator.append(TopicPartition, byte[], byte[], CompressionType, Callback) RecordAccumulator.java:139
      org.apache.kafka.clients.producer.KafkaProducer.send(ProducerRecord, Callback) KafkaProducer.java:237
      org.kafka.test.TestNetworkDownProducer$MyProducer.run() TestNetworkDownProducer.java:84
      java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker) ThreadPoolExecutor.java:1145
      java.util.concurrent.ThreadPoolExecutor$Worker.run() ThreadPoolExecutor.java:615
      java.lang.Thread.run() Thread.java:744

      pool-1-thread-159 <--- Frozen for at least 2m 1 sec
      org.apache.kafka.clients.producer.internals.RecordAccumulator.append(TopicPartition, byte[], byte[], CompressionType, Callback) RecordAccumulator.java:139
      org.apache.kafka.clients.producer.KafkaProducer.send(ProducerRecord, Callback) KafkaProducer.java:237
      org.kafka.test.TestNetworkDownProducer$MyProducer.run() TestNetworkDownProducer.java:84
      java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker) ThreadPoolExecutor.java:1145
      java.util.concurrent.ThreadPoolExecutor$Worker.run() ThreadPoolExecutor.java:615
      java.lang.Thread.run() Thread.java:744

      pool-1-thread-55 <--- Frozen for at least 2m
      org.apache.kafka.clients.producer.internals.RecordAccumulator.append(TopicPartition, byte[], byte[], CompressionType, Callback) RecordAccumulator.java:139
      org.apache.kafka.clients.producer.KafkaProducer.send(ProducerRecord, Callback) KafkaProducer.java:237
      org.kafka.test.TestNetworkDownProducer$MyProducer.run() TestNetworkDownProducer.java:84
      java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker) ThreadPoolExecutor.java:1145
      java.util.concurrent.ThreadPoolExecutor$Worker.run() ThreadPoolExecutor.java:615
      java.lang.Thread.run() Thread.java:744

      Thanks,

      Bhavesh

      Attachments

        1. TestNetworkDownProducer.java
          3 kB
          Bhavesh Mistry
        2. Screen Shot 2014-10-13 at 10.19.04 AM.png
          224 kB
          Bhavesh Mistry
        3. Screen Shot 2014-10-15 at 9.09.06 PM.png
          284 kB
          Bhavesh Mistry
        4. Screen Shot 2014-10-15 at 9.14.15 PM.png
          478 kB
          Bhavesh Mistry
        5. th1.dump
          148 kB
          Bhavesh Mistry
        6. th2.dump
          147 kB
          Bhavesh Mistry
        7. th3.dump
          137 kB
          Bhavesh Mistry
        8. th4.dump
          140 kB
          Bhavesh Mistry
        9. th5.dump
          145 kB
          Bhavesh Mistry
        10. th6.dump
          144 kB
          Bhavesh Mistry
        11. th7.dump
          140 kB
          Bhavesh Mistry
        12. th8.dump
          148 kB
          Bhavesh Mistry
        13. th9.dump
          146 kB
          Bhavesh Mistry
        14. th10.dump
          139 kB
          Bhavesh Mistry
        15. th11.dump
          144 kB
          Bhavesh Mistry
        16. th12.dump
          142 kB
          Bhavesh Mistry
        17. th13.dump
          143 kB
          Bhavesh Mistry
        18. th14.dump
          138 kB
          Bhavesh Mistry
        19. th15.dump
          146 kB
          Bhavesh Mistry

        Activity

          People

            ewencp Ewen Cheslack-Postava
            Bmis13 Bhavesh Mistry
            Jun Rao Jun Rao
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: