Hey Guys,
I've been exploring the 0.8.2.2 java kafka producer recently. Based on my understanding of the "Async" producer, the callbacks for records being sent to the same partition are guaranteed to be executed in order. But to guarantee message order during send failures, I'd expect that "sync" retry calls to be made from inside the callback body. But it looks like, this would slow down the throughput as these calls are made from the i/o thread. The other option would be doing "async" retry calls from the callback body, but since these calls are asynchronous, the ordering of events could be lost.
Can anyone please help explain the recommended way to perform "retries" using "Async" producer such that message ordering is guaranteed ?
Thanks,
Deepak