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
- Created a commit creating a large diff (adding a 200 MB file was sufficient)
- Navigated to Repository > Commits
- 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 Jerry Seto