Confluent.Kafka.KafkaException Local: Queue Full

See original GitHub issue

Description

Intermittently seeing “Confluent.Kafka.KafkaException Local: Queue Full”

How to reproduce

We are unable to reproduce locally. We only see this in long running processes (IIS hosted Web Apps) Restarting the application pool fixes the problem. We see this problem around every 3 days but there is no clear pattern and it is not happening after App Pool restarts. During these 3(ish) days, we would have sent roughly 210K messages. We have the queue.buffering.max.messages and queue.buffering.max.kbytes set at their defaults of 100K and 400K respectively.

We don’t loose any messages until the Queue Full exceptions start. I would guess the local queue is filling with delivery reports?

Is it possible that the long running task in the Producer that calls rd_kafka_poll is dying somehow? We set manualPoll = false on construction of the Producer.

We do not see any exceptions pertaining to the kafka producer at all ever except Local: Queue Full. We capture all Unobserved exceptions in a global handler for logging.

We are not producing a high volume of msgs/s. Only around 13/s

Checklist

Please provide the following information:

  • Confluent.Kafka nuget version: 0.9.4

  • Apache Kafka version: 0.10.1.1-cp1

  • Client configuration: Global: api.version.request: true Topic: request.required.acks: 0 request.timeout.ms: 5000 message.timeout.ms: 2000

  • Operating system: Windows 2012

  • Provide logs (with “debug” : “…” as necessary in configuration)

Confluent.Kafka.KafkaException: Local: Queue full
   at Confluent.Kafka.Producer.Produce(String topic, Byte[] val, Int32 valOffset, Int32 valLength, Byte[] key, Int32 keyOffset, Int32 keyLength, Nullable`1 timestamp, Int32 partition, Boolean blockIfQueueFull, IDeliveryHandler deliveryHandler)
   at Confluent.Kafka.Producer.Produce(String topic, Byte[] val, Int32 valOffset, Int32 valLength, Byte[] key, Int32 keyOffset, Int32 keyLength, Nullable`1 timestamp, Nullable`1 partition, Boolean blockIfQueueFull)
   at Confluent.Kafka.Producer.ProduceAsync(String topic, Byte[] key, Byte[] val)
  • Provide broker log excerpts
  • Critical issue

Issue Analytics

  • State:closed
  • Created 6 years ago
  • Comments:13 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
mtrantercommented, Oct 19, 2017

Hi Guys,

I did the upgrade as suggested. We have been running the latest version for a few weeks now and we are not seeing the Queue Full problem anymore so I guess this can be closed.

Thanks for your help.

0reactions
Turhan8commented, Nov 2, 2022

I received this error today 02/11/2022 Confluent.Kafka.ProduceException`2[System.String,System.String]: Local: Queue full

This happened after sending around 100K messages to Kafka. Is there a limit to the number of messages that we can send to Kafka before we do a Flush?

Read more comments on GitHub >

github_iconTop Results From Across the Web

Confluent.Kafka.KafkaException: 'Local: Queue full' when ...
I am getting error "Confluent.Kafka.KafkaException: 'Local: Queue full'" when trying to run the Basic Producer Examples (with p.BeginProduce).
Read more >
Kafka Error 'Local: Queue full'
A task using Kafka target gets the following error stack in the task log: [TARGET_APPLY ]E: Failed to produce kafka message with record...
Read more >
BufferError: Local: Queue full in Python
This Queue is something implemented in the librdkafka library (which confluent_kafka is binding to). There is an inner Queue for the produce ...
Read more >
confluent_kafka API — confluent-kafka 2.2.0 documentation
KafkaException – Operation failed locally or on broker. ... BufferError – if the internal producer message queue is full ( queue.buffering.max.messages ...
Read more >
Configuring Kafka Producer for High Throughput
Kafka Producer allows to batch messages before sending them to the Broker ... it sends out the messages instead of throwing QUEUE FULL...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found