טיפול בחריגים בקבוצה

ה-API של HBase מספק שתי דרכים לשלוח כמה פעולות כאצווה:

באמצעות לקוח Cloud Bigtable HBase ל-Java, שתי השיטות האלה יכולות להקפיץ הודעת שגיאה (throw) RetriesExhaustedWithDetailsException. החריגה הזו מופעלת אם אחת או יותר מהפעולות באצווה נכשלות מסיבה כלשהי (לדוגמה, בגלל שהחיבור נכשל). הוא מכיל רשימה של בקשות שנכשלו, וגם פרטים על החריגה שגרמה לכל בקשה להיכשל.

כשלעצמו, קוד השגיאה RetriesExhaustedWithDetailsException לא מסביר למה הבקשה נכשלה. כדי לאחזר את פרטי החריגים של כל בקשה שנכשלה, צריך להתקשר אל RetriesExhaustedWithDetailsException#getCauses(). אחר כך תוכלו לרשום ביומן מידע על כל אחד מהחריגים המפורטים, כדי לאבחן את הכשל:

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

חריגה יכולה להיות מושגת גם כשמפעילים את השיטה flush או close. אותו טיפול בשגיאות חל גם כאן.