| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -123,9 +123,11 @@ GitLab server can sometimes return a transient HTTP error. | |||
| 123 | 123 | python-gitlab can automatically retry in such case, when | |
| 124 | 124 | ``retry_transient_errors`` argument is set to ``True``. When enabled, | |
| 125 | 125 | HTTP error codes 500 (Internal Server Error), 502 (502 Bad Gateway), | |
| 126 | - 503 (Service Unavailable), and 504 (Gateway Timeout) are retried. It will retry until reaching | ||
| 127 | - the ``max_retries`` value. By default, ``retry_transient_errors`` is set to ``False`` and an exception | ||
| 128 | - is raised for these errors. | ||
| 126 | + 503 (Service Unavailable), and 504 (Gateway Timeout) are retried. | ||
| 127 | + Additionally the HTTP error code 409 (Conflict) is retried if the text message | ||
| 128 | + mentions "Resource lock". It will retry until reaching the ``max_retries`` | ||
| 129 | + value. By default, ``retry_transient_errors`` is set to ``False`` and an | ||
| 130 | + exception is raised for these errors. | ||
| 129 | 131 | ||
| 130 | 132 | .. code-block:: python | |
| 131 | 133 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -752,7 +752,10 @@ def http_request( | |||
| 752 | 752 | return result.response | |
| 753 | 753 | ||
| 754 | 754 | if (429 == result.status_code and obey_rate_limit) or ( | |
| 755 | - result.status_code in gitlab.const.RETRYABLE_TRANSIENT_ERROR_CODES | ||
| 755 | + ( | ||
| 756 | + result.status_code in gitlab.const.RETRYABLE_TRANSIENT_ERROR_CODES | ||
| 757 | + or (result.status_code == 409 and "Resource lock" in result.reason) | ||
| 758 | + ) | ||
| 756 | 759 | and retry_transient_errors | |
| 757 | 760 | ): | |
| 758 | 761 | # Response headers documentation: | |
| Back | FazBrowse Home | New Git URL |
0 commit comments