处理批量异常

HBase API 提供了两种批量发送多项操作的方式:

使用 Java 版 Cloud Bigtable HBase 客户端时,这两种方法都会抛出 RetriesExhaustedWithDetailsException。当一项或多项批量操作因任何原因(如由于连接失败)而失败时,都会引发这种异常。此异常会提供失败请求的列表,以及有关导致每个请求失败的异常的详细信息。

RetriesExhaustedWithDetailsException 本身并不会表明请求失败的原因。您必须调用 RetriesExhaustedWithDetailsException#getCauses() 来检索每个失败请求的详细异常情况,然后可以记录每个详细异常的相关信息,以帮助您诊断故障:

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

调用 flushclose 时也可能会抛出异常。同样的错误处理方式也适用。