From a558e386749c579a70cca6463926092926627388 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Fri, 21 Jul 2023 00:08:18 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- app/services/packages/nuget/update_package_from_metadata_service.rb | 3 +++ app/services/packages/rubygems/process_gem_service.rb | 5 +++++ 2 files changed, 8 insertions(+) (limited to 'app/services/packages') diff --git a/app/services/packages/nuget/update_package_from_metadata_service.rb b/app/services/packages/nuget/update_package_from_metadata_service.rb index d82509fff5e..73a52ea569f 100644 --- a/app/services/packages/nuget/update_package_from_metadata_service.rb +++ b/app/services/packages/nuget/update_package_from_metadata_service.rb @@ -14,6 +14,7 @@ module Packages MISSING_MATCHING_PACKAGE_ERROR_MESSAGE = 'symbol package is invalid, matching package does not exist' InvalidMetadataError = Class.new(StandardError) + ZipError = Class.new(StandardError) def initialize(package_file) @package_file = package_file @@ -32,6 +33,8 @@ module Packages end rescue ActiveRecord::RecordInvalid => e raise InvalidMetadataError, e.message + rescue Zip::Error + raise ZipError, 'Could not open the .nupkg file' end private 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 -- cgit v1.2.3