kafka-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dana Powers <dana.pow...@gmail.com>
Subject Re: kafka.common.QueueFullException
Date Mon, 25 Apr 2016 20:11:23 GMT
This error is thrown by the old scala producer, correct? You might
also consider switching to the new java producer. It handles this a
bit differently by blocking during the send call until the internal
buffers can enqueue a new message. There are a few more configuration
options available as well, if I recall.

-Dana

On Mon, Apr 25, 2016 at 12:42 PM, Gwen Shapira <gwen@confluent.io> wrote:
> few more things you can do:
>
> * Increase "batch.size" - this will give you a larger queue and
> usually better throughput
> * More producers - very often the bottleneck is not in Kafka at all.
> Maybe its the producer? or the network?
> * Increate max.inflight.requests for the producer - it will allow
> sending more requests concurrently and perhaps increase throughput.
>
> The important bit is: Don't add more brokers if you don't have
> information that the broker is the bottleneck.
>
> Gwen
>
> On Mon, Apr 25, 2016 at 12:06 PM, Saurabh Kumar <saurabh.85@gmail.com> wrote:
>> Thanks Alex and Sorry for the delayed response. We never could solv this
>> problem so am resurrecting the thread.  As i understand, from a
>> client/tenant which is producing messages to a kafka topic, there is not
>> much that can be controlled. I assume "Event queue is full of unsent
>> messages" signify that :
>> 1) We need to expand our cluster by adding more resources/brokers
>> 2) We need to add a blocking behaviour incase we see that the average
>> volume of messages is sustainable, and its just the spikes that are causing
>> problems.
>>
>> --Saurabh
>>
>> On Thu, Feb 18, 2016 at 11:51 PM, John Yost <hokiegeek2@gmail.com> wrote:
>>
>>> Hi Alex,
>>>
>>> Great info, thanks! I asked a related question this AM--is a full queue
>>> possibly a symptom of back pressure within Kafka?
>>>
>>> --John
>>>
>>> On Thu, Feb 18, 2016 at 12:38 PM, Alex Loddengaard <alex@confluent.io>
>>> wrote:
>>>
>>> > Hi Saurabh,
>>> >
>>> > This is occurring because the produce message queue is full when a
>>> produce
>>> > request is made. The size of the queue is configured
>>> > via queue.buffering.max.messages. You can experiment with increasing this
>>> > (which will require more JVM heap space), or fiddling with
>>> > queue.enqueue.timeout.ms to control the blocking behavior when the queue
>>> > is
>>> > full. Both of these configuration options are explained here:
>>> >
>>> > https://kafka.apache.org/08/configuration.html
>>> >
>>> > I didn't quite follow your last paragraph, so I'm not sure if the
>>> following
>>> > advice is applicable to you or not. You may also experiment with adding
>>> > more producers (either on the same or different machines).
>>> >
>>> > I hope this helps.
>>> >
>>> > Alex
>>> >
>>> > On Thu, Feb 18, 2016 at 2:12 AM, Saurabh Kumar <saurabh.85@gmail.com>
>>> > wrote:
>>> >
>>> > > Hi,
>>> > >
>>> > > We have a Kafka server deployment shared between multiple teams and
i
>>> > have
>>> > > created a topic with multiple partitions on it for pushing some JSON
>>> > data.
>>> > >
>>> > > We have multiple such Kafka producers running from different machines
>>> > which
>>> > > produce/push data to a Kafka topic. A lot of times i see the following
>>> > > exception in the logs : "*Event queue is full of unsent messages, could
>>> > not
>>> > > send event"*
>>> > >
>>> > > Any idea how to solve this ? We can not synchronise the volume or
>>> timing
>>> > of
>>> > > different Kafka producers across machines and between multiple
>>> processes.
>>> > > There is a limit on maximum number of concurrent processes (kafka
>>> > producer)
>>> > >  that can run on a mchine but it is only going to increase with time
as
>>> > we
>>> > > scale. What is the right way to solve this problem ?
>>> > >
>>> > > Thanks,
>>> > > Saurabh
>>> > >
>>> >
>>> >
>>> >
>>> > --
>>> > *Alex Loddengaard | **Solutions Architect | Confluent*
>>> > *Download Apache Kafka and Confluent Platform: www.confluent.io/download
>>> > <http://www.confluent.io/download>*
>>> >
>>>

Mime
View raw message