Controla excepciones de lotes

La API de HBase ofrece dos formas de enviar varias operaciones como un lote:

Con el cliente de HBase de Cloud Bigtable para Java, ambos métodos pueden arrojar una RetriesExhaustedWithDetailsException. Se arroja esta excepción cuando una o más de las operaciones por lotes fallan por algún motivo (por ejemplo, porque falló la conexión). Contiene una lista de solicitudes fallidas, junto con detalles sobre la excepción que causó la falla de cada solicitud.

Por sí misma, una RetriesExhaustedWithDetailsException no indica por qué falló una solicitud. Debes llamar a RetriesExhaustedWithDetailsException#getCauses() para recuperar las excepciones detalladas de cada solicitud fallida. Luego, puedes registrar información sobre cada una de las excepciones detalladas, lo que te ayudará a diagnosticar la falla:

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

También se puede generar una excepción cuando llamas a flush o close. Se aplica el mismo manejo de errores.