すべてのプロダクト
Search
ドキュメントセンター

Tablestore:エラー処理

最終更新日:Dec 28, 2024

Tablestore SDK for Java は、エラーを例外として処理します。このトピックでは、Tablestore SDK for Java のエラー処理方法、例外、および再試行ポリシーについて説明します。

方法

Tablestore SDK for Java は、エラーを例外として処理します。例外が返されない場合、操作は成功です。例外が返された場合、操作は失敗です。

説明

BatchGetRow や BatchWriteRow などのバッチ操作は、システムが例外が返されず、各行のステータスが成功であることを確認した場合にのみ成功します。

例外

ClientException と TableStoreException は、Tablestore SDK for Java を使用するときに発生する可能性のある一般的な例外です。2 つの例外は RuntimeException から継承されます。

  • ClientException: 無効なパラメーター値などの内部 SDK 例外。

  • TableStoreException: サーバーのエラーメッセージから解析されたサーバーエラー。TableStoreException は、次の情報を提供します。

    • getHttpStatus(): 200 や 404 などの HTTP ステータスコード。

    • getErrorCode(): Tablestore によって返されるエラーステータスを示す文字列。

    • getRequestId(): リクエストを識別する UUID。問題を解決できない場合は、リクエスト ID を記録し、チケットを提出してください。

再試行ポリシー

  • Tablestore SDK for Java は、エラーが発生した場合、操作を自動的に再試行します。デフォルトの再試行ポリシーでは、最大再試行期間は 10 秒です。再試行は、スロットリングエラーと読み取り操作に関連する内部サーバーエラーに対して実行されます。

  • RetryStrategy クラスを継承することで、カスタム再試行ポリシーを指定することもできます。また、OTSClient オブジェクトを作成するときに、カスタム再試行ポリシーをパラメーターとしてインポートします。

Tablestore SDK for Java は、次の再試行ポリシーを提供します。

  • DefaultRetryStrategy: 読み取り操作のみを再試行するデフォルトの再試行ポリシー。再試行間隔は 10 ミリ秒ごとに指数関数的に増加します。最大再試行期間は 10 秒です。

  • AlwaysRetryStrategy: すべてのリクエストタイプを再試行します。最大再試行回数は 3 回です。再試行間隔は 4 ミリ秒ごとに指数関数的に増加します。最大再試行間隔は 1 秒です。