Amazon のドライバーを使用した再試行ポリシーについて QLDB - Amazon Quantum 台帳データベース (Amazon QLDB)

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon のドライバーを使用した再試行ポリシーについて QLDB

重要

サポート終了通知: 既存のお客様は、07/31/2025 のサポート終了QLDBまで Amazon を使用できます。詳細については、「Amazon Ledger QLDB を Amazon Aurora Postgre に移行するSQL」を参照してください。

Amazon QLDBドライバーは再試行ポリシーを使用して、失敗したトランザクションを透過的に再試行することで一時的な例外を処理します。CapacityExceededExceptionRateExceededException などの例外は、通常、一定時間後に自己修復されます。例外により失敗したトランザクションは、適切な遅延後に再試行されると、成功する可能性があります。これにより、 を使用するアプリケーションの安定性が向上しますQLDB。

再試行可能なエラーのタイプ

ドライバーは、そのトランザクション内のオペレーション中に次の例外が発生した場合にのみ、トランザクションを自動的に再試行します。

  • CapacityExceededException – リクエストが台帳の処理能力を超えたときに返されます。

  • InvalidSessionException – セッションが無効になったとき、またはセッションが存在しない場合に返されます。

  • LimitExceededException – アクティブなセッション数などのリソース制限を超えた場合に返されます。

  • OccConflictExceptionオプティミスティック同時実行制御 () の検証フェーズで障害が発生したためにトランザクションをジャーナルに書き込めない場合に返されますOCC。

  • RateExceededException – リクエストのレートが許容スループットを超えたときに返されます。

デフォルトの再試行ポリシー

再試行ポリシーは、再試行条件とバックオフ戦略で構成されます。再試行条件ではトランザクションを再試行するタイミングを定義し、バックオフ戦略ではトランザクションを再試行するまでの待機時間を定義します。

ドライバーのインスタンスを作成する場合、デフォルトの再試行ポリシーでは、最大 4 回までの再試行と、エクスポネンシャルバックオフ戦略の使用を指定します。エクスポネンシャルバックオフ戦略では、等しいジッターを使用して、最小 10 ミリ秒、最大 5000 ミリ秒遅延させます。再試行ポリシー内でトランザクションを正常にコミットできない場合は、異なるタイミングでトランザクションを試行することをお勧めします。

エクスポネンシャルバックオフは、再試行間の待機時間を累進的に長くして、連続的なエラー応答に対処するという概念に基づいています。詳細については、 AWS ブログ記事「エクスポネンシャルバックオフとジッター」を参照してください。