GitHub user hiloboy0119 opened a pull request:

    https://github.com/apache/kafka/pull/7

    Modified the async producer so it re-queues failed batches.  

    I'm working on an application that needs the throughput offered by an async 
producer but also needs to handle send failures gracefully like a sync 
producer.  I modified the ProducerSendThread so it will re-queue failed 
batches.  This allowed me to determine the behavior I wanted from my producer 
with the queue config parameters.
    
    A "queue.enqueue.timeout.ms=0" allowed me to get runtime exceptions when 
sends failed often enough to fill the queue.  This also allowed me to use 
"queue.buffering.max.messages" to control how tolerant the application is to 
network blips.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/gradientx/kafka async_requeue

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/kafka/pull/7.patch

----

----

Reply via email to