Sure, i kind of count on that actually, i guess with this setting the sender blocks on allocate method and this bufferpool-wait-ratio increases.
I want to fully compartmentalize the kafka producer from the rest of the system. Ex: writing to a log file instead of trying to send to kafka when some metric in the producer indicates that there is a performance degradation or some other problem. I was wondering what would be the ideal way of deciding that? On Tue, May 5, 2015 at 6:32 PM, Jay Kreps <jay.kr...@gmail.com> wrote: > Does block.on.buffer.full=false do what you want? > > -Jay > > On Tue, May 5, 2015 at 1:59 AM, mete <efk...@gmail.com> wrote: > > > Hello Folks, > > > > I was looking through the kafka.producer metrics on the JMX interface, to > > find a good indicator when to "trip" the circuit. So far it seems like > the > > "bufferpool-wait-ratio" metric is a useful decision mechanism when to cut > > off the production to kafka. > > > > As far as i experienced, when kafka server slow for some reason, requests > > start piling up on the producer queue and if you are not willing to drop > > any messages on the producer, send method starts blocking because of the > > slow responsiveness. > > > > So this buffer pool wait ratio starts going up from 0.x up to 1.0. And i > am > > thinking about tripping the circuit breaker using this metric, ex: if > > wait-ratio > 0.90 etc... > > > > What do you think? Do you think there would be a better indicator to > check > > the health overall? > > > > Best > > Mete > > >