Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Plain View
Kafka >> mail # dev >> [jira] [Work started] (KAFKA-709) Default queue.enqueue.timeout.ms to -1

Copy link to this message
[jira] [Work started] (KAFKA-709) Default queue.enqueue.timeout.ms to -1

     [ https://issues.apache.org/jira/browse/KAFKA-709?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Work on KAFKA-709 started by Neha Narkhede.

> Default queue.enqueue.timeout.ms to -1
> --------------------------------------
>                 Key: KAFKA-709
>                 URL: https://issues.apache.org/jira/browse/KAFKA-709
>             Project: Kafka
>          Issue Type: Bug
>          Components: producer
>    Affects Versions: 0.8
>            Reporter: Chris Riccomini
>            Assignee: Neha Narkhede
>         Attachments: kafka-709.patch
> Hey Guys,
> It seems that, by default, producers in 0.8 are async, and have a default queue.enqueue.timeout.ms of 0. This means that anyone who reads messages faster than they're producing them will likely end up eventually hitting this exception:
> Exception in thread "Thread-3" kafka.common.QueueFullException: Event queue is full of unsent messages, could not send event: KeyedMessage(PageViewEventByGroupJson,Missing Page Group,java.nio.HeapByteBuffer[pos=0 lim=125 cap=125])
>         at kafka.producer.Producer$$anonfun$asyncSend$1.apply(Producer.scala:111)
>         at kafka.producer.Producer$$anonfun$asyncSend$1.apply(Producer.scala:89)
>         at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:34)
>         at scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:32)
>         at kafka.producer.Producer.asyncSend(Producer.scala:89)
>         at kafka.producer.Producer.send(Producer.scala:77)
> As it says in https://cwiki.apache.org/KAFKA/kafka-mirroring.html, this can result in losing messages, and nasty exceptions in the logs. I think the better default is setting queue.enqueue.timeout.ms to -1, which will just block until the queue frees up.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira