Removal: GraphQL dependencyProxyTotalSizeInBytes field

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Deprecation Summary

The GraphQL field dependencyProxyTotalSizeInBytes is being deprecated due to limitations with GraphQL::Types::Int not being able to represent values larger than 2GB. A new field dependencyProxyTotalSizeBytes of type GraphQL::Types::BigInt has been introduced as a replacement to handle larger storage sizes.

Documentation

  • Deprecation notice: Already published in GitLab 16.1
  • Migration guidelines: [Link needed]
  • Issue reference: #412974 (closed)
  • Implementation MR: !121959 (merged)

Product Usage

The current dependencyProxyTotalSizeInBytes field is limited to approximately 2GB, which is insufficient for many Dependency Proxy installations. This limitation has led to incorrect reporting of storage usage for larger installations.

Breaking Change?

Yes - This deprecation contains a breaking change as it will affect existing GraphQL queries using the deprecated field.

Affected Customers

Who is affected by this deprecation:

  • GitLab.com
  • Self-managed
  • Dedicated

What pricing tiers are impacted:

  • GitLab Free
  • GitLab Premium
  • GitLab Ultimate

[x] Internal note outlining details of customer impact has been created

Deprecation Milestone

  • Announcement: GitLab 16.1 (June 2023)
  • New field introduction: GitLab 16.1
  • Planned removal: GitLab 18.0

Planned Removal Milestone

The feature / functionality will be removed in milestone: 18.0

Links

Rollout Plan

DRI Engineers: [To be assigned] DRI Engineering Manager: [To be assigned]

Migration Steps:

  1. Identify GraphQL queries using dependencyProxyTotalSizeInBytes
  2. Update queries to use dependencyProxyTotalSizeBytes
  3. Handle string return type instead of integer
  4. Test updated queries with large dependency proxy installations

Impact Assessment

  • Severity: Medium
  • Scope: API
  • Resolution role: Developer
  • Manual task required: Yes
  • Implementation window: Already announced in 16.1, removal in 17.0

Development Tasks

  • Implement new field dependencyProxyTotalSizeBytes
  • Add deprecation notice to existing field
  • Update documentation
  • Create migration examples
  • Add validation warnings for deprecated field usage

Communication Plan

DRI Product Manager: [To be assigned]

Internal Communication

  • Create internal note for customer-facing teams
  • Prepare support documentation
  • Train support on helping customers migrate

External Communication

  • Announce deprecation in 16.1
  • Update API documentation
  • Create migration guide
  • Send reminders before 17.0 release

Labels

Edited by 🤖 GitLab Bot 🤖