`rake gitlab:backup:create` since ~10.5 requires Gitaly to be running
I have GitLab installed from source.
Prior to GitLab ~ 10.5
, it was possible to take GitLab (along with all requisite services such as Workhorse, Gitaly, etc.) offline, then run a backup. This is the procedure indicated in the upgrade notes, e.g.
1. Stop server
sudo service gitlab stop
2. Backup
NOTE: If you installed GitLab from source, make sure rsync is installed.
cd /home/git/gitlab
sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production
However, since ~ 10.5
it seems Gitaly must be running to use the backup rake task. Although other services may be stopped,
without Gitaly running, I receive this error:
[root@code gitlab]# sudo -u gitlab -H /home/user/.rbenv/shims/bundle exec rake gitlab:backup:create RAILS_ENV=production
Dumping database ...
Dumping PostgreSQL database gitlabhq_production ... [DONE]
done
Dumping repositories ...
* my-group/my-project ... rake aborted!
Gitlab::Git::CommandError: 14:Connect Failed
/home/user/gitlab/lib/gitlab/git/repository.rb:1454:in `rescue in gitaly_migrate'
/home/user/gitlab/lib/gitlab/git/repository.rb:1447:in `gitaly_migrate'
/home/user/gitlab/lib/gitlab/git/repository.rb:1606:in `uncached_has_local_branches?'
/home/user/gitlab/lib/gitlab/git/repository.rb:237:in `block in has_local_branches?'
/home/user/gitlab/lib/gitlab/utils/strong_memoize.rb:26:in `strong_memoize'
/home/user/gitlab/lib/gitlab/git/repository.rb:236:in `has_local_branches?'
/home/user/gitlab/app/models/repository.rb:517:in `has_visible_content?'
/home/user/gitlab/lib/gitlab/repository_cache_adapter.rb:17:in `block (2 levels) in cache_method'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.10/lib/active_support/cache.rb:299:in `block in fetch'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.10/lib/active_support/cache.rb:585:in `block in save_block_result_to_cache'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.10/lib/active_support/cache.rb:547:in `block in instrument'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.10/lib/active_support/notifications.rb:166:in `instrument'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.10/lib/active_support/cache.rb:547:in `instrument'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.10/lib/active_support/cache.rb:584:in `save_block_result_to_cache'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.10/lib/active_support/cache.rb:299:in `fetch'
/home/user/gitlab/lib/gitlab/repository_cache.rb:22:in `fetch'
/home/user/gitlab/lib/gitlab/repository_cache_adapter.rb:54:in `cache_method_output'
/home/user/gitlab/lib/gitlab/repository_cache_adapter.rb:16:in `block in cache_method'
/home/user/gitlab/app/models/repository.rb:491:in `empty?'
/home/user/gitlab/app/models/repository.rb:336:in `expire_emptiness_caches'
/home/user/gitlab/lib/backup/repository.rb:212:in `empty_repo?'
/home/user/gitlab/lib/backup/repository.rb:24:in `block in dump'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.10/lib/active_record/relation/batches.rb:51:in `block (2 levels) in find_each'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.10/lib/active_record/relation/batches.rb:51:in `each'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.10/lib/active_record/relation/batches.rb:51:in `block in find_each'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.10/lib/active_record/relation/batches.rb:124:in `find_in_batches'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.10/lib/active_record/relation/batches.rb:50:in `find_each'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.10/lib/active_record/querying.rb:9:in `find_each'
/home/user/gitlab/lib/backup/repository.rb:12:in `dump'
/home/user/gitlab/lib/tasks/gitlab/backup.rake:82:in `block (4 levels) in <top (required)>'
/home/user/gitlab/lib/tasks/gitlab/backup.rake:12:in `block (3 levels) in <top (required)>'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/rake-12.3.1/exe/rake:27:in `<top (required)>'
/home/user/.rbenv/versions/2.3.7/bin/bundle:22:in `load'
/home/user/.rbenv/versions/2.3.7/bin/bundle:22:in `<main>'
Caused by:
GRPC::Unavailable: 14:Connect Failed
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/grpc-1.11.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:31:in `check_status'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/grpc-1.11.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:180:in `attach_status_results_and_complete_call'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/grpc-1.11.0-x86_64-linux/src/ruby/lib/grpc/generic/active_call.rb:372:in `request_response'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/grpc-1.11.0-x86_64-linux/src/ruby/lib/grpc/generic/client_stub.rb:178:in `block in request_response'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/grpc-1.11.0-x86_64-linux/src/ruby/lib/grpc/generic/interceptors.rb:170:in `intercept!'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/grpc-1.11.0-x86_64-linux/src/ruby/lib/grpc/generic/client_stub.rb:177:in `request_response'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/grpc-1.11.0-x86_64-linux/src/ruby/lib/grpc/generic/service.rb:170:in `block (3 levels) in rpc_stub_class'
/home/user/gitlab/lib/gitlab/gitaly_client.rb:134:in `call'
/home/user/gitlab/lib/gitlab/gitaly_client/repository_service.rb:88:in `has_local_branches?'
/home/user/gitlab/lib/gitlab/git/repository.rb:1608:in `block in uncached_has_local_branches?'
/home/user/gitlab/lib/gitlab/gitaly_client.rb:268:in `block (2 levels) in migrate'
/home/user/gitlab/lib/gitlab/gitaly_client.rb:308:in `allow_n_plus_1_calls'
/home/user/gitlab/lib/gitlab/gitaly_client.rb:261:in `block in migrate'
/home/user/gitlab/lib/gitlab/metrics/influx_db.rb:98:in `measure'
/home/user/gitlab/lib/gitlab/gitaly_client.rb:259:in `migrate'
/home/user/gitlab/lib/gitlab/git/repository.rb:1448:in `gitaly_migrate'
/home/user/gitlab/lib/gitlab/git/repository.rb:1606:in `uncached_has_local_branches?'
/home/user/gitlab/lib/gitlab/git/repository.rb:237:in `block in has_local_branches?'
/home/user/gitlab/lib/gitlab/utils/strong_memoize.rb:26:in `strong_memoize'
/home/user/gitlab/lib/gitlab/git/repository.rb:236:in `has_local_branches?'
/home/user/gitlab/app/models/repository.rb:517:in `has_visible_content?'
/home/user/gitlab/lib/gitlab/repository_cache_adapter.rb:17:in `block (2 levels) in cache_method'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.10/lib/active_support/cache.rb:299:in `block in fetch'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.10/lib/active_support/cache.rb:585:in `block in save_block_result_to_cache'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.10/lib/active_support/cache.rb:547:in `block in instrument'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.10/lib/active_support/notifications.rb:166:in `instrument'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.10/lib/active_support/cache.rb:547:in `instrument'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.10/lib/active_support/cache.rb:584:in `save_block_result_to_cache'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/activesupport-4.2.10/lib/active_support/cache.rb:299:in `fetch'
/home/user/gitlab/lib/gitlab/repository_cache.rb:22:in `fetch'
/home/user/gitlab/lib/gitlab/repository_cache_adapter.rb:54:in `cache_method_output'
/home/user/gitlab/lib/gitlab/repository_cache_adapter.rb:16:in `block in cache_method'
/home/user/gitlab/app/models/repository.rb:491:in `empty?'
/home/user/gitlab/app/models/repository.rb:336:in `expire_emptiness_caches'
/home/user/gitlab/lib/backup/repository.rb:212:in `empty_repo?'
/home/user/gitlab/lib/backup/repository.rb:24:in `block in dump'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.10/lib/active_record/relation/batches.rb:51:in `block (2 levels) in find_each'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.10/lib/active_record/relation/batches.rb:51:in `each'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.10/lib/active_record/relation/batches.rb:51:in `block in find_each'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.10/lib/active_record/relation/batches.rb:124:in `find_in_batches'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.10/lib/active_record/relation/batches.rb:50:in `find_each'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.10/lib/active_record/querying.rb:9:in `find_each'
/home/user/gitlab/lib/backup/repository.rb:12:in `dump'
/home/user/gitlab/lib/tasks/gitlab/backup.rake:82:in `block (4 levels) in <top (required)>'
/home/user/gitlab/lib/tasks/gitlab/backup.rake:12:in `block (3 levels) in <top (required)>'
/home/user/gitlab/vendor/bundle/ruby/2.3.0/gems/rake-12.3.1/exe/rake:27:in `<top (required)>'
/home/user/.rbenv/versions/2.3.7/bin/bundle:22:in `load'
/home/user/.rbenv/versions/2.3.7/bin/bundle:22:in `<main>'
Tasks: TOP => gitlab:backup:repo:create
(See full trace by running task with --trace)