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

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

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

    [ https://issues.apache.org/jira/browse/KAFKA-709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13555782#comment-13555782 ]

Jay Kreps commented on KAFKA-709:

Yeah I agree. Everyone who tries to use it hits this and then basically just thinks kafka is broken because the error message isn't very clear.
> 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: Jun Rao
> 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