本文介紹Tablestore Node.js SDK的錯誤處理方式和重試策略。

方式

Tablestore Node.js SDK目前採用“異常”的方式處理錯誤。如果調用介面沒有拋出異常,則說明操作成功,否則失敗。

说明 批量相關介面,例如BatchGetRow和BatchWriteRow不僅需要判斷是否有異常,還需要檢查每行的狀態是否成功,只有全部成功後才能保證整個介面調用是成功的。

異常

Tablestore Node.js SDK中所有的錯誤均經過了統一的處理,最終會返回到callback方法的err參數中,所以在擷取返回資料前,需要檢查err參數是否有值。如果是Tablestore服務端報錯,會返回requestId。requestId用於唯一標識該次請求的UUID。當您無法解決問題時,記錄此requestId並提交工單

重試

SDK中出現錯誤時會自動重試。預設策略是最大重試次數為20,最大稍候再試為3000毫秒。對流控類錯誤以及讀操作相關的服務端內部錯誤進行的重試,請參見tablestore/lib/retry.js。