Closed andysim3d closed 8 years ago
Hi, librdkafka 0.9.2 which should come out in the next few weeks will have proper support for this via a new parameter that controls whether the Produce should block or not. I'd prefer to use that and would be happy to merge a PR making use of it.
Implemented now, please give it a try.
Thanks!
发自我的 iPhone
在 2016年11月10日,上午7:20,Andreas Heider notifications@github.com 写道:
Implemented now, please give it a try.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.
When librdkafka trying to connect an non-existing brokers, it will set buf to 0. And once it trying to produce data, it detect it as NOBUF, then return _QUEUE_FULL as error, then in Topic.produce method, it will treat it as buffer is temporary full, so it will wait 50 ms and try again until succeed.
To avoid it , either check buffer size or change the while loop with a maximum try number. So I set 3 as Maximum try time here to avoid infinite try.