diff options
Diffstat (limited to 'app/services/packages/rubygems/process_gem_service.rb')
-rw-r--r-- | app/services/packages/rubygems/process_gem_service.rb | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/app/services/packages/rubygems/process_gem_service.rb b/app/services/packages/rubygems/process_gem_service.rb index ca4aaa8fdde..07545495f1b 100644 --- a/app/services/packages/rubygems/process_gem_service.rb +++ b/app/services/packages/rubygems/process_gem_service.rb @@ -9,6 +9,8 @@ module Packages include ExclusiveLeaseGuard ExtractionError = Class.new(StandardError) + InvalidMetadataError = Class.new(StandardError) + DEFAULT_LEASE_TIMEOUT = 1.hour.to_i.freeze def initialize(package_file) @@ -20,6 +22,9 @@ module Packages return success if process_gem error('Gem was not processed') + rescue ActiveRecord::StatementInvalid + # TODO: We can remove this rescue block when we fix https://gitlab.com/gitlab-org/gitlab/-/issues/415899 + raise InvalidMetadataError, 'Invalid metadata' end private |