Handle gitlab 404 error
@@ -25,8 +25,15 @@ def retry(func: TR) -> TR:
try:
res = func(self, *args, **kwargs)
except (IOError, EOFError, gitlab.exceptions.GitlabError) as e:
- if isinstance(e, gitlab.exceptions.GitlabError) and e.response_code != 500:
- # Only retry on error 500
+ if isinstance(e, gitlab.exceptions.GitlabError):
+ if e.response_code == 500:
+ # retry on this error
+ pass
+ elif e.response_code == 404:
+ # remove the environment variable "LOCAL_GITLAB_HTTPS_HOST" and retry
+ os.environ.pop('LOCAL_GITLAB_HTTPS_HOST', None)
+ else:
+ # other GitlabErrors aren't retried
raise e
retried += 1
if retried > self.DOWNLOAD_ERROR_MAX_RETRIES:
