Paul, This behavior is unexpected and the code suggests QueueFullException is thrown back to the caller. I would take a thread dump when the producer is blocked to see what's causing the blocking behavior.
Thanks, Neha On Thu, Nov 15, 2012 at 12:53 PM, Paul Mackles <pmack...@adobe.com> wrote: > I am tinkering with the java async producer from kafka 7.2 and I am trying to > write a client that will never block when sending messages to a kafka broker > (dropping them would be better than blocking). I can send messages at a rate > that is fast enough to trigger a QueueFullException but the exception never > propagates up to my client code. In other words, I see the stack trace and > the error message on the console but the call to Producer.send() that > triggered the exception just hangs indefinitely. In this setup, > queue.enqueueTimeout.ms=0. I get the same result when I set > queue.enqueueTimeout.ms to a very low number positive number. Is this the > intended behavior? Is there another way to guarantee your client can never > block? If I had to guess, maybe the exception is happening in a background > thread of some kind and that is why I never see it? My knowledge of scala is > extremely limited. Here is the code I am using: > > https://gist.github.com/4081183 > > Thanks, > Paul >