The HBase API provides two ways to send multiple operations as a batch:

With the Cloud Bigtable HBase client for Java, both of these methods can throw a RetriesExhaustedWithDetailsException. This exception is thrown when one or more of the batch operations fail for any reason (for example, because the connection failed). It contains a list of failed requests, along with details about the exception that caused each request to fail.

By itself, a RetriesExhaustedWithDetailsException does not tell you why a request failed. You must call RetriesExhaustedWithDetailsException#getCauses() to retrieve the detailed exceptions for each failed request. You can then log information about each of the detailed exceptions, which will help you diagnose the failure:

try {
  mutator.mutate(mutationList);
} catch (RetriesExhaustedWithDetailsException e) {
  for (Throwable cause : e.getCauses()) {
    cause.printStackTrace();
  }
  throw e;
}

An exception can also be thrown when you call flush or close. The same error handling applies.

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2026-03-30 UTC.