Gitlab::GithubImport::ImportPullRequestReviewWorker: Rescue the exception in execute method

Problem

We have noticed an increased number of failing jobs over the past 7 days (Oct. 18th - Nov. 2nd):

Screenshot_2022-11-02_at_13.54.16

It seems that the exception is raised in the https://gitlab.com/gitlab-org/gitlab/-/blob/dd1e70d3676891025534dc4a1e89ca9383178fe7/lib/gitlab/github_import/importer/pull_request_review_importer.rb#L16 because the user doesn't exist

Backtrace

lib/gitlab/octokit/middleware.rb:13:in `call'
lib/gitlab/github_import/client.rb:72:in `block in user'
lib/gitlab/github_import/client.rb:171:in `block in with_rate_limit'
lib/gitlab/github_import/client.rb:289:in `block in with_retry'
lib/gitlab/github_import/client.rb:288:in `with_retry'
lib/gitlab/github_import/client.rb:171:in `with_rate_limit'
lib/gitlab/github_import/client.rb:72:in `user'
lib/gitlab/github_import/user_finder.rb:117:in `email_for_github_username'
lib/gitlab/github_import/user_finder.rb:83:in `find'
lib/gitlab/github_import/user_finder.rb:75:in `user_id_for'
lib/gitlab/github_import/importer/pull_request_review_importer.rb:16:in `execute'
app/workers/concerns/gitlab/github_import/object_importer.rb:38:in `import'
app/workers/concerns/gitlab/github_import/rescheduling_methods.rb:29:in `try_import'
app/workers/concerns/gitlab/github_import/rescheduling_methods.rb:18:in `perform'
lib/gitlab/database/load_balancing/sidekiq_server_middleware.rb:26:in `call'
lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/until_executing.rb:16:in `perform'
lib/gitlab/sidekiq_middleware/duplicate_jobs/duplicate_job.rb:57:in `perform'
lib/gitlab/sidekiq_middleware/duplicate_jobs/server.rb:8:in `call'
lib/gitlab/sidekiq_middleware/worker_context.rb:9:in `wrap_in_optional_context'
lib/gitlab/sidekiq_middleware/worker_context/server.rb:19:in `block in call'
lib/gitlab/application_context.rb:113:in `block in use'
lib/gitlab/application_context.rb:113:in `use'
lib/gitlab/application_context.rb:54:in `with_context'
lib/gitlab/sidekiq_middleware/worker_context/server.rb:17:in `call'
lib/gitlab/sidekiq_status/server_middleware.rb:7:in `call'
lib/gitlab/sidekiq_versioning/middleware.rb:9:in `call'
lib/gitlab/sidekiq_middleware/query_analyzer.rb:7:in `block in call'
lib/gitlab/database/query_analyzer.rb:37:in `within'
lib/gitlab/sidekiq_middleware/query_analyzer.rb:7:in `call'
lib/gitlab/sidekiq_middleware/admin_mode/server.rb:14:in `call'
lib/gitlab/sidekiq_middleware/instrumentation_logger.rb:9:in `call'
lib/gitlab/sidekiq_middleware/batch_loader.rb:7:in `call'
lib/gitlab/sidekiq_middleware/extra_done_log_metadata.rb:7:in `call'
lib/gitlab/sidekiq_middleware/request_store_middleware.rb:10:in `block in call'
lib/gitlab/with_request_store.rb:17:in `enabling_request_store'
lib/gitlab/with_request_store.rb:10:in `with_request_store'
lib/gitlab/sidekiq_middleware/request_store_middleware.rb:9:in `call'
lib/gitlab/sidekiq_middleware/server_metrics.rb:76:in `block in call'
lib/gitlab/sidekiq_middleware/server_metrics.rb:103:in `block in instrument'
lib/gitlab/metrics/background_transaction.rb:33:in `run'
lib/gitlab/sidekiq_middleware/server_metrics.rb:103:in `instrument'
lib/gitlab/sidekiq_middleware/server_metrics.rb:75:in `call'
lib/gitlab/sidekiq_middleware/monitor.rb:10:in `block in call'
lib/gitlab/sidekiq_daemon/monitor.rb:49:in `within_job'
lib/gitlab/sidekiq_middleware/monitor.rb:9:in `call'
lib/gitlab/sidekiq_middleware/size_limiter/server.rb:13:in `call'
lib/gitlab/sidekiq_logging/structured_logger.rb:21:in `call'

Screenshot_2022-11-02_at_14.08.22

Kibana

Proposal

We should probably rescue the Octokit::NotFound in Gitlab::GithubImport::ImportPullRequestReviewWorkerworker's execute method.