Error viewing a large commit

Summary

Follow-up from #342703 (comment 1133704118)

Attempting to view a single commit, received a 500 error

Steps to reproduce

  1. Created a commit creating a large diff (adding a 200 MB file was sufficient)
  2. Navigated to Repository > Commits
  3. Clicked on the commit

Example Project

https://gitlab.com/j.seto/test-large-diff

What is the current bug behavior?

500 error

What is the expected correct behavior?

Should be able to see the commit

Relevant logs and/or screenshots

Relevant stack trace:

GRPC::DeadlineExceeded: 4:Deadline Exceeded.
  from grpc-1.42.0-x86_64 (linux) src/ruby/lib/grpc/generic/active_call.rb:29:in `check_status'
  from grpc-1.42.0-x86_64 (linux) src/ruby/lib/grpc/generic/active_call.rb:180:in `attach_status_results_and_complete_call'
  from grpc-1.42.0-x86_64 (linux) src/ruby/lib/grpc/generic/active_call.rb:169:in `receive_and_check_status'
  from grpc-1.42.0-x86_64 (linux) src/ruby/lib/grpc/generic/active_call.rb:337:in `each_remote_read_then_finish'
  from config/initializers/enumerator_next_patch.rb:9:in `block (2 levels) in <module:EnumeratorNextPatch>'
  from lib/gitlab/gitaly_client/call.rb:43:in `block (3 levels) in instrument_stream'
  from lib/gitlab/gitaly_client/call.rb:55:in `recording_request'
  from lib/gitlab/gitaly_client/call.rb:43:in `block (2 levels) in instrument_stream'
  from lib/gitlab/gitaly_client/call.rb:42:in `loop'
  from lib/gitlab/gitaly_client/call.rb:42:in `block in instrument_stream'
  from lib/gitlab/gitaly_client/diff_stitcher.rb:17:in `each'
  from lib/gitlab/gitaly_client/diff_stitcher.rb:17:in `each'
  from lib/gitlab/gitaly_client/diff_stitcher.rb:17:in `each'
  from lib/gitlab/git/diff_collection.rb:160:in `each_gitaly_patch'
  from lib/gitlab/git/diff_collection.rb:51:in `each'
  from lib/gitlab/git/diff_collection.rb:123:in `each_with_index'
  from lib/gitlab/git/diff_collection.rb:123:in `decorate!'
  from lib/gitlab/diff/file_collection/base.rb:41:in `block in raw_diff_files'
  from lib/gitlab/utils/strong_memoize.rb:44:in `strong_memoize'
  from lib/gitlab/diff/file_collection/base.rb:40:in `raw_diff_files'
  from lib/gitlab/diff/file_collection/base.rb:11:in `size'
  from app/views/projects/commit/_ci_menu.html.haml:6

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)

Possible fixes

Edited by 🤖 GitLab Bot 🤖