request.required.acks and producer.mode (sync or async) are orthogonal configs, i.e. with async mode, the producer.send() call itself will not be blocking on acks from the servers, but its async sending thread will still be blocked for acks, and if it fails to send out the messages due to, say, timing out on the acks, the sender will record the failures in the metrics.
So if you want your application to be paused or directly notified upon such sending failures you probably should use sync, if your application do not need to be paused, but just be monitored on such failure metrics you can use async. Which acks value to use is then based on how much you want your message to be persistent by trading latency. Guozhang On Mon, Jul 28, 2014 at 6:32 PM, Harshvardhan Chauhan <[email protected]> wrote: > Hi, > > I wanted to know if request.required.acks has a meaning in async mode ? > If so what value should it be set to. > > Thanks & regards, > Harshvardhan Chauhan -- -- Guozhang
