In 0.7.x and 0.8.x, there is no way for the async producer to notify the client through a callback. However, this is being planned for the upcoming 0.9 release. You can take a look at the proposed API here - https://cwiki.apache.org/confluence/display/KAFKA/Client+Rewrite#ClientRewrite-ProposedProducerAPI
Thanks, Neha On Mon, Oct 21, 2013 at 3:33 AM, Alan Lavintman <alan.lavint...@gmail.com>wrote: > Hi guys, i was wondering what will be the best way to provide delivery > guarantee service by using an async producer in kafka 0.7.2. > I want my service to be ready to support kafka downtimes for at least 12 > hours so i would like to aggregate logs locally into some failover spool > and then rerun them when kafka goes up. The code is basically ready but i > find a hard way to be notified whenever an async operation fails. > > I have seen the code and i can only be notified for two things (Which is > correct because are not related to the sending mechanism itself becausae it > happens in an async way): > 2) Whenever a queue is full: > > throw new QueueFullException("Event queue is full of unsent messages, > could not send event: " + event.toString) > > 1) Whenever the producer is closed > > if(closed.get) > throw new QueueClosedException("Attempt to add event to a closed > queue.") > > Its obvious an async operation whould only notify the client in an async > way so i thought that the callback handler would provide me with a method > that indicates some failure with a set of messages. > > What are the options here? > > Thanks in advance, > Bests, > Alan. >