kafka-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jay Kreps (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (KAFKA-709) Default queue.enqueue.timeout.ms to -1
Date Thu, 17 Jan 2013 03:06:12 GMT

    [ 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

View raw message