Skip to content

GraphQL Group type add field dependencyProxyTotalSizeBytes

Michael Trainor requested to merge tmike-graphql-bigint into master

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 (closed)

Screenshots or screen recordings

Screenshots are required for UI changes, and strongly recommended for all other merge requests.

before_mr121959

How to set up and validate locally

  1. Create Group
  2. Cache image to dependency proxy for Group
  3. Change the size in dependency_proxy_manifests for the Group to > 2147483648
  4. 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.

Edited by Michael Trainor

Merge request reports