處理批次例外狀況

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 時,也可能會擲回例外狀況。錯誤處理方式相同。