Users unable to view storage page
Summary
We have an issue where users cannot view the storage page of their group. Heres the Elasticsearch error.
We believe it may have something to do with dependency_proxy_total_size_in_bytes
field having a type of GraphQL::Types::Int
instead of GraphQL::Types::BigInt
Steps to reproduce
Unable to reproduce.
Example Project
What is the current bug behavior?
Users are attempting to view the storage page and its stuck loading.
What is the expected correct behavior?
Able to view storage page
Relevant logs and/or screenshots
Discussion thread: https://gitlab.slack.com/archives/C03UW0HPBGD/p1684724872766799
Reported here: https://gitlab.slack.com/archives/C0GQHHPGW/p1684729894000469
Ticket: https://gitlab.zendesk.com/agent/tickets/409659
The dependency_proxy_total_size_in_bytes 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
We believe it may have something to do with BigInt not being added in the code here.
Exception backtrace:
lib/gitlab/graphql/tracers/timer_tracer.rb:20:in `trace', lib/gitlab/graphql/generic_tracing.rb:48:in `with_labkit_tracing', lib/gitlab/graphql/generic_tracing.rb:38:in `platform_trace', lib/gitlab/graphql/tracers/logger_tracer.rb:14:in `trace', lib/gitlab/graphql/tracers/metrics_tracer.rb:13:in `trace', lib/gitlab/graphql/tracers/application_context_tracer.rb:23:in `trace', lib/gitlab/graphql/tracers/timer_tracer.rb:20:in `trace', lib/gitlab/graphql/generic_tracing.rb:48:in `with_labkit_tracing', lib/gitlab/graphql/generic_tracing.rb:38:in `platform_trace', lib/gitlab/graphql/tracers/logger_tracer.rb:14:in `trace', lib/gitlab/graphql/tracers/metrics_tracer.rb:13:in `trace', lib/gitlab/graphql/tracers/application_context_tracer.rb:23:in `trace', app/graphql/gitlab_schema.rb:51:in `multiplex', app/controllers/graphql_controller.rb:178:in `execute_multiplex', app/controllers/graphql_controller.rb:57:in `execute', ee/lib/gitlab/ip_address_state.rb:10:in `with', ee/app/controllers/ee/application_controller.rb:45:in `set_current_ip_address', app/controllers/application_controller.rb:500:in `set_current_admin', lib/gitlab/session.rb:11:in `with_session', app/controllers/application_controller.rb:491:in `set_session_storage', lib/gitlab/i18n.rb:107:in `with_locale', lib/gitlab/i18n.rb:113:in `with_user_locale', app/controllers/application_controller.rb:482:in `set_locale', app/controllers/application_controller.rb:475:in `set_current_context', ee/lib/omni_auth/strategies/group_saml.rb:41:in `other_phase', lib/gitlab/metrics/elasticsearch_rack_middleware.rb:16:in `call', lib/gitlab/middleware/memory_report.rb:13:in `call', lib/gitlab/middleware/speedscope.rb:13:in `call', lib/gitlab/database/load_balancing/rack_middleware.rb:23:in `call', lib/gitlab/middleware/rails_queue_duration.rb:33:in `call', lib/gitlab/metrics/rack_middleware.rb:16:in `block in call', lib/gitlab/metrics/web_transaction.rb:46:in `run', lib/gitlab/metrics/rack_middleware.rb:16:in `call', lib/gitlab/jira/middleware.rb:19:in `call', lib/gitlab/middleware/go.rb:20:in `call', lib/gitlab/etag_caching/middleware.rb:21:in `call', lib/gitlab/middleware/query_analyzer.rb:11:in `block in call', lib/gitlab/database/query_analyzer.rb:37:in `within', lib/gitlab/middleware/query_analyzer.rb:11:in `call', lib/gitlab/middleware/multipart.rb:173:in `call', lib/gitlab/middleware/read_only/controller.rb:50:in `call', lib/gitlab/middleware/read_only.rb:18:in `call', lib/gitlab/middleware/same_site_cookies.rb:27:in `call', lib/gitlab/middleware/basic_health_check.rb:25:in `call', lib/gitlab/middleware/handle_malformed_strings.rb:21:in `call', lib/gitlab/middleware/handle_ip_spoof_attack_error.rb:25:in `call', lib/gitlab/middleware/request_context.rb:15:in `call', lib/gitlab/middleware/webhook_recursion_detection.rb:15:in `call', config/initializers/fix_local_cache_middleware.rb:11:in `call', lib/gitlab/middleware/compressed_json.rb:45:in `call', lib/gitlab/middleware/rack_multipart_tempfile_factory.rb:19:in `call', lib/gitlab/middleware/sidekiq_web_static.rb:20:in `call', lib/gitlab/metrics/requests_rack_middleware.rb:79:in `call', lib/gitlab/middleware/release_env.rb:13:in `call'
Exception message:
Integer out of bounds: 9548053967 @ group.dependencyProxyTotalSizeInBytes (Group.dependencyProxyTotalSizeInBytes). Consider using ID or GraphQL::Types::BigInt instead.
Output of checks
Results of GitLab environment info
Expand for output related to GitLab environment info
(For installations with omnibus-gitlab package run and paste the output of: `sudo gitlab-rake gitlab:env:info`) (For installations from source run and paste the output of: `sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production`)
Results of GitLab application Check
Expand for output related to the GitLab application check
(For installations with omnibus-gitlab package run and paste the output of:
sudo gitlab-rake gitlab:check SANITIZE=true
)(For installations from source run and paste the output of:
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production SANITIZE=true
)(we will only investigate if the tests are passing)