GraphQL Group type add field dependencyProxyTotalSizeBytes
What does this MR do and why?
This MR deprecates the dependencyProxyTotalSizeInBytes field and introduces the dependencyProxyTotalSizeBytes field. The new field is of type BigInt, which returns a string instead of a number.
The dependencyProxyTotalSizeInBytes is the sum of all of the the group’s dependency_proxy_manifests and dependency_proxy_blobs size in bytes. And both of those tables have a size column of type bigint.
When the customer has a total size larger than 2147483647, an IntegerEncodingError is thrown with Integer out of bounds.
The new field will be able to handle the maximum limit of the PostgreSQL bigint type.
Front-end changes will be implemented in later milestones, as they rely on the introduction of the new field.
Deprecation issue: #414236
Screenshots or screen recordings
Screenshots are required for UI changes, and strongly recommended for all other merge requests.
How to set up and validate locally
- Create Group
- Cache image to dependency proxy for Group
- Change the size in
dependency_proxy_manifestsfor the Group to > 2147483648 - Navigate to the Group's Usage Quota > Storage page
The 500 error from the getDependencyProxyTotalSizeQuery should cause a UI error and some UI elements don't load
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
