Coder Social home page Coder Social logo

Comments (6)

mfontanini avatar mfontanini commented on June 15, 2024

Could you come up with a short reproducible code I can use to test this? I've been using cppkafka to send protobuf messages (they serialize as binary data) so this definitely works.

Are the messages successfully sent? Are you waiting for the messages to be sent or are you closing your producer right after sending? You may want to wait for your produced messages to be acked.

from cppkafka.

feifeidadi avatar feifeidadi commented on June 15, 2024

Hi Matias Fontanini,

Thanks a lot for your reply.
You are right. It sends the binary buffer successfully after waiting for a moment after producer.produce(builder);.

Best regards,
Mike

from cppkafka.

mfontanini avatar mfontanini commented on June 15, 2024

That's great. Note that you can use the BufferedProducer class which, besides allowing to buffer and produce message, it also lets you wait until they're acked. It's almost a drop-in replacement for Producer, see this test where it's used. Then just call produer.flush() and that'll wait until messages are acked by the kafka broker(s).

from cppkafka.

feifeidadi avatar feifeidadi commented on June 15, 2024

Hi Matias Fontanini,

Thank you for your quick response :).

Does it mean that the BufferedProducer class works in asynchronous mode by default?
In case of producer.flush() is not called, the delivery status needs to be checked in the delivery report callback, right?

Best regards,
Mike

from cppkafka.

mfontanini avatar mfontanini commented on June 15, 2024

It can actually work both ways: if you call BufferedProducer::produce, the message is produced as usual (asynchronously). If you call BufferedProducer::add_message, then the message is queued internally and only actually sent to kafka when calling flush. That call will block until all messages are actually acked.

from cppkafka.

feifeidadi avatar feifeidadi commented on June 15, 2024

OK, it's clear enough. Thanks a lot for your explanation Matias Fontanini.

Best regards & happy weekend,
Mike

from cppkafka.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.