Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTiago Botelho <tiagonbotelho@hotmail.com>2018-11-07 17:32:15 +0300
committerTiago Botelho <tiagonbotelho@hotmail.com>2018-11-08 00:24:31 +0300
commit46b28842b6a05b0b398bdd75e82a00439ad404b0 (patch)
treedec67df07faa502c02395db11bc4e60bafe05d85 /app/models/project_import_state.rb
parent1183183403cadb465cfec52532cb77ad6a9494c9 (diff)
StuckImportJobsWorker query performance optimization
Improves the performance of fetching the enqueued projects for StuckImportJobsWorker, preventing a statement timeout.
Diffstat (limited to 'app/models/project_import_state.rb')
-rw-r--r--app/models/project_import_state.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/app/models/project_import_state.rb b/app/models/project_import_state.rb
index d59cb43dea4..7126bb66d80 100644
--- a/app/models/project_import_state.rb
+++ b/app/models/project_import_state.rb
@@ -56,4 +56,17 @@ class ProjectImportState < ActiveRecord::Base
end
end
end
+
+ def mark_as_failed(error_message)
+ original_errors = errors.dup
+ sanitized_message = Gitlab::UrlSanitizer.sanitize(error_message)
+
+ fail_op
+
+ update_column(:last_error, sanitized_message)
+ rescue ActiveRecord::ActiveRecordError => e
+ Rails.logger.error("Error setting import status to failed: #{e.message}. Original error: #{sanitized_message}")
+ ensure
+ @errors = original_errors
+ end
end