例 retry 可能 + 即座に実行 エラーをシステムエラーと論理エラーに分けると、システムエラーは偶発的なエラーであり、ディスクへの書き込みエラーや RPC エラーなどが該当します。一方、論理エラーは確定的なエラーであり、制約に違反した場合やデッドロックが発生した場合などが該当します。 デッドロックは、2つの並行タスクがお互いの排他リソースの解放を待っている状態を指します。この場合、相互待ち状態を解除するためには、1つのタスクがロールバックされる必要があります。TiDB では、デッドロックエラーはロールバックされたトランザクションが受け取るエラーです。 ただし、ここでの retry はSQLクライアントに混乱をもたらすことはありません。クライアントにとっては、retry の有無にかかわらず、オートコミットの悲観的トランザクション(pessimistic-txn.pessimistic-a
![TiDB の retry ポリシー - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/1e83bca3b714825767a4d0a6ce12663f395029be/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-f625e957b80c4bd8dd47b724be996090.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9VGlEQiUyMCVFMyU4MSVBRSUyMHJldHJ5JTIwJUUzJTgzJTlEJUUzJTgzJUFBJUUzJTgyJUI3JUUzJTgzJUJDJnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkNtaWRkbGUmcz05MWE4NDhlY2Y4MzdlNmU2NDU1ODQxNTllOTUzMGQyMA%26mark-x%3D142%26mark-y%3D151%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTcxNiZ0eHQ9JTQweW91MDYmdHh0LWNvbG9yPSUyMzNBM0MzQyZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zMiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWJjOGFkOGRhNWQzOTFiNTgyNDhhNDdjMGM3OTlhNzVi%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Db1695ecc1498f5e3222afcaff2b5787d)