diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-07-21 03:08:18 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-07-21 03:08:18 +0300 |
commit | a558e386749c579a70cca6463926092926627388 (patch) | |
tree | 47437c43af4cdc18bdbc4abbcca4a892a3dc64b0 /app/services/packages | |
parent | 5bb4992da25d7e15ec33e51b4a7db8ff6a4cc162 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/services/packages')
-rw-r--r-- | app/services/packages/nuget/update_package_from_metadata_service.rb | 3 | ||||
-rw-r--r-- | app/services/packages/rubygems/process_gem_service.rb | 5 |
2 files changed, 8 insertions, 0 deletions
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 |