Comments (6)
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.
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.
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.
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.
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.
OK, it's clear enough. Thanks a lot for your explanation Matias Fontanini.
Best regards & happy weekend,
Mike
from cppkafka.
Related Issues (20)
- Cannot pull using consumer HOT 1
- poll_batch does not trigger commit when auto.commit is true ? HOT 1
- How to remove topic using the API
- Consumer misbehavior with newer librdkafka versions HOT 1
- Can't build tests on Ubuntu 22.04 (Jammy)
- produer success but kafka shell consumer all "null" HOT 1
- How to use BufferedProducer to send binary data?
- Dll import function not allowed
- create BufferedProducer<std::string> producer globally
- Is there any way to build it without "boost"? HOT 1
- Please help me, I have tried a variety of methods to compile, all failed, including using the method provided by chatGPT 4.0. also failed. HOT 1
- How to set ttl?
- How to get number of messages in the topic?
- add_library(Rdkafka::rdkafka) issue
- CPPKafka crashes when trying to create a configuration in Windows
- What happens if Kafka was offline ? HOT 1
- Automate Compilation of "examples" in Build Process
- warning: object backing the pointer will be destroyed at the end of the full-expression
- cppkafka::produce not flushing
- clang complains about parameter used in std::atomic_flag constructor
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cppkafka.