GitHub Importer - Faraday::ConnectionFailed: execution expired
https://sentry.gitlab.net/gitlab/gitlabcom/issues/2787538/?referrer=gitlab_plugin
Net::OpenTimeout: execution expired
lib/gitlab/octokit/middleware.rb:13:in `call'
@app.call(env)
lib/gitlab/github_import/client.rb:86:in `block in pull_request'
with_rate_limit { octokit.pull_request(repo_name, iid) }
lib/gitlab/github_import/client.rb:158:in `with_rate_limit'
yield
lib/gitlab/github_import/client.rb:86:in `pull_request'
with_rate_limit { octokit.pull_request(repo_name, iid) }
lib/gitlab/github_import/importer/pull_requests_merged_by_importer.rb:39:in `block in each_object_to_import'
pull_request = client.pull_request(project.import_source, merge_request.iid)
...
(125 additional frame(s) were not displayed)
Faraday::ConnectionFailed: execution expired
execution expired
Top 3 similar Faraday::ConnectionFailed: execution expired
Errors in Sentry for GitHub importer with different workers:
- ImportPullRequestsReviewsWorker: https://sentry.gitlab.net/gitlab/gitlabcom/issues/2786541/
- ImportPullRequestsMergedByWorker: https://sentry.gitlab.net/gitlab/gitlabcom/issues/2787538/
- CleanupContainerRepositoryWorker: https://sentry.gitlab.net/gitlab/gitlabcom/issues/2813144/ & https://sentry.gitlab.net/gitlab/gitlabcom/issues/2813013/
Plan
-
Allow GitHub exceptions on Faraday::ConnectionFailed
to be retried up to 3 times. !74966 (merged)- This will solve issues if they are transient in nature
-
Allow failed API calls that have been re-tried due to Faraday::ConnectionFailed exceptions to continue to the next request without failing the import.-
detailsSkipping this as the retries seem to resolve this.
-
-
To be done as part of #342726 Add github_identifiers or similar logging info before a GitHub API call is made so we can capture which record is trying to be retrieved from GitHub.
Status
Edited by Doug Stull