From ace18d5d7b8190e464f9e38723d1adaed9b8e46b Mon Sep 17 00:00:00 2001 From: accelerated <> Date: Thu, 21 Feb 2019 15:21:16 -0500 Subject: [PATCH] Added wait_for_acks(0) when calling async_flush --- include/cppkafka/utils/buffered_producer.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/cppkafka/utils/buffered_producer.h b/include/cppkafka/utils/buffered_producer.h index 8f3a9b2..1fec288 100644 --- a/include/cppkafka/utils/buffered_producer.h +++ b/include/cppkafka/utils/buffered_producer.h @@ -221,7 +221,8 @@ public: /** * \brief Flushes all buffered messages and returns immediately. * - * Similar to flush, it will send all messages but will not wait for acks to complete. + * Similar to flush, it will send all messages but will not wait for acks to complete. However the underlying + * producer will still be flushed. */ void async_flush(); @@ -641,6 +642,7 @@ void BufferedProducer::async_flush() { }; queue_flusher(retry_messages_, retry_mutex_); queue_flusher(messages_, mutex_); + wait_for_acks(std::chrono::milliseconds(0)); //flush the producer but don't wait } template