Thanks for the response. Well, I do agree that its simple and seamless. In my case, I am able to upsert ~25000 events/sec into Kudu. But, I am facing the problem when any of the Kudu Tablet or master server is down. I am not able to get a hold of the exception from client. The client is going into an infinite loop trying to connect to Kudu. Meanwhile, I am loosing my records. I tried handling the errors through getPendingErrors() but still it is helpless. I am using AsyncKuduClient to establish the connection and retrieving the syncClient from the Async to open the session and table. Any help?