I'm using docker swarm. docker-compose.yml:
version: '3'
services:
gitlab:
image: gitlab/gitlab-ee:17.8.1-ee.0
hostname: 'git.***'
ports:
- target: 22
published: 2222
protocol: tcp
mode: host
networks:
- public
- gitlab-postgres
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://***.***'
nginx['redirect_http_to_https'] = false
nginx['listen_port'] = 80
nginx['listen_https'] = false
nginx['proxy_set_headers'] = {
"X-Forwarded-Proto" => "https",
"X-Forwarded-Ssl" => "on"
}
gitlab_rails['omniauth_enabled'] = true
gitlab_rails['omniauth_providers'] = [ <keycloak settings> ]
gitlab_rails['omniauth_auto_link_user'] = ['openid_connect']
gitlab_rails['omniauth_allow_single_sign_on'] = ['openid_connect']
gitlab_rails['omniauth_block_auto_created_users'] = false
puma['worker_processes'] = 0
sidekiq['concurrency'] = 10
prometheus_monitoring['enable'] = false
gitlab_rails['env'] = {
'MALLOC_CONF' => 'dirty_decay_ms:1000,muzzy_decay_ms:1000'
}
gitlab_rails['db_adapter'] = 'postgresql'
gitlab_rails['db_encoding'] = 'utf8'
postgresql['enable'] = false
gitlab_rails['db_host'] = 'postgres'
gitlab_rails['db_port'] = 5432
gitlab_rails['db_username'] = 'gitlab'
gitlab_rails['db_password'] = '***'
gitlab_rails['db_database'] = 'gitlabhq_production'
volumes:
- type: tmpfs
target: /dev/shm
tmpfs:
size: 4096000000
- gitlab-config:/etc/gitlab
- gitlab-data:/var/opt/gitlab
deploy:
labels:
<TRAEFIC LABELS>
restart_policy:
condition: on-failure
delay: 10s
healthcheck:
disable: true
depends_on:
- postgres
postgres:
image: postgres:14.11
environment:
POSTGRES_DB: gitlabhq_production
POSTGRES_USER: gitlab
POSTGRES_PASSWORD: ***
POSTGRES_HOST_AUTH_METHOD: md5
volumes:
- gitlab-postgres-data:/var/lib/postgresql/data
networks:
- gitlab-postgres
deploy:
restart_policy:
condition: any
networks:
public:
external: true
gitlab-postgres:
external: false
volumes:
gitlab-config:
driver: cephfs
driver_opts:
remote_path: /volumes/default/services/92aa9143-bdc7-4e1f-9dde-63ede1ac0904/docker/ceph-gitlab-config
gitlab-data:
driver: cephfs
driver_opts:
remote_path: /volumes/default/services/92aa9143-bdc7-4e1f-9dde-63ede1ac0904/docker/ceph-gitlab-data
gitlab-postgres-data:
driver: cephfs
driver_opts:
remote_path: /volumes/default/services/92aa9143-bdc7-4e1f-9dde-63ede1ac0904/docker/ceph-gitlab-postgres-data
I create a backup with the command docker exec -t $CONTAINER_ID gitlab-backup create
. When restoring, I follow the official instructions from docs.gitlab:
docker exec -it <container_id> gitlab-ctl stop puma
docker exec -it <container_id> gitlab-ctl stop sidekiq
docker exec -it <container_id> gitlab-backup restore BACKUP=<backup_name>
During the restore process, errors are displayed (ActiveRecord::StatementInvalid: PG::ConnectionBad: PQsocket() can't get socket descriptor
) in the end of restoring the postgres table:
2025-01-30 13:41:12 UTC -- Unpacking backup ...
2025-01-30 13:41:12 UTC -- Unpacking backup ... done
2025-01-30 13:41:12 UTC -- Restoring database ...
2025-01-30 13:41:12 UTC -- Be sure to stop Puma, Sidekiq, and any other process that
connects to the database before proceeding. For Omnibus
installs, see the following link for more information:
Do you want to continue (yes/no)? yes
2025-01-30 13:41:21 UTC -- Removing all tables. Press `Ctrl-C` within 5 seconds to abort
2025-01-30 13:41:26 UTC -- Cleaning the database ...
2025-01-30 13:43:19 UTC -- done
2025-01-30 13:43:19 UTC -- Restoring PostgreSQL database gitlabhq_production ...
SET
... filling the database with data from backup ...
ALTER TABLE
2025-01-30 14:27:04 UTC -- [DONE]
2025-01-30 14:27:04 UTC -- Source backup for the database ci doesn't exist. Skipping the task
2025-01-30 14:27:04 UTC -- Restoring database ... done
2025-01-30 14:27:04 UTC -- Restoring repositories ...
2025-01-30 14:27:04 UTC -- Deleting tar staging files ...
2025-01-30 14:27:04 UTC -- Cleaning up /var/opt/gitlab/backups/backup_information.yml
2025-01-30 14:27:04 UTC -- Cleaning up /var/opt/gitlab/backups/db
2025-01-30 14:27:04 UTC -- Cleaning up /var/opt/gitlab/backups/repositories
2025-01-30 14:27:14 UTC -- Cleaning up /var/opt/gitlab/backups/uploads.tar.gz
2025-01-30 14:27:14 UTC -- Cleaning up /var/opt/gitlab/backups/builds.tar.gz
2025-01-30 14:27:14 UTC -- Cleaning up /var/opt/gitlab/backups/artifacts.tar.gz
2025-01-30 14:27:14 UTC -- Cleaning up /var/opt/gitlab/backups/pages.tar.gz
2025-01-30 14:27:14 UTC -- Cleaning up /var/opt/gitlab/backups/lfs.tar.gz
2025-01-30 14:27:14 UTC -- Cleaning up /var/opt/gitlab/backups/terraform_state.tar.gz
2025-01-30 14:27:14 UTC -- Cleaning up /var/opt/gitlab/backups/packages.tar.gz
2025-01-30 14:27:14 UTC -- Cleaning up /var/opt/gitlab/backups/ci_secure_files.tar.gz
2025-01-30 14:27:14 UTC -- Cleaning up /var/opt/gitlab/backups/external_diffs.tar.gz
2025-01-30 14:27:14 UTC -- Deleting tar staging files ... done
2025-01-30 14:27:14 UTC -- Deleting backups/tmp ...
2025-01-30 14:27:14 UTC -- Deleting backups/tmp ... done
2025-01-30 14:27:14 UTC -- Deleting backup and restore PID file ... done
rake aborted!
ActiveRecord::StatementInvalid: PG::ConnectionBad: PQsocket() can't get socket descriptor
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/schema_cache_with_renamed_table_legacy.rb:27:in ` columns'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/schema_cache_with_renamed_table_legacy.rb:31:in ` columns_hash'
/opt/gitlab/embedded/service/gitlab-rails/app/models/pool_repository.rb:23:in `<class:PoolRepository>'
/opt/gitlab/embedded/service/gitlab-rails/app/models/pool_repository.rb:6:in `<top (required)>'
<internal:/opt/gitlab/embedded/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
<internal:/opt/gitlab/embedded/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/targets/repositories.rb:128:in `restore_object_pools'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/targets/repositories.rb:48:in `ensure in restore'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/targets/repositories.rb:48:in `restore'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/tasks/task.rb:31:in `restore!'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/restore/process.rb:30:in `execute!'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:101:in `run_restore_task'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:168:in `block in run_all_restore_tasks'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:165:in `each_value'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:165:in `run_all_restore_tasks'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:68:in `restore'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:21:in `block in restore_backup'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:75:in `lock_backup'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:18:in `restore_backup'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:120:in `block (3 levels) in <top (requir ed)>'
/opt/gitlab/embedded/bin/bundle:25:in `load'
/opt/gitlab/embedded/bin/bundle:25:in `<main>'
Caused by:
PG::ConnectionBad: PQsocket() can't get socket descriptor
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/schema_cache_with_renamed_table_legacy.rb:27:in ` columns'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/schema_cache_with_renamed_table_legacy.rb:31:in ` columns_hash'
/opt/gitlab/embedded/service/gitlab-rails/app/models/pool_repository.rb:23:in `<class:PoolRepository>'
/opt/gitlab/embedded/service/gitlab-rails/app/models/pool_repository.rb:6:in `<top (required)>'
<internal:/opt/gitlab/embedded/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
<internal:/opt/gitlab/embedded/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/targets/repositories.rb:128:in `restore_object_pools'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/targets/repositories.rb:48:in `ensure in restore'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/targets/repositories.rb:48:in `restore'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/tasks/task.rb:31:in `restore!'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/restore/process.rb:30:in `execute!'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:101:in `run_restore_task'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:168:in `block in run_all_restore_tasks'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:165:in `each_value'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:165:in `run_all_restore_tasks'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:68:in `restore'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:21:in `block in restore_backup'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:75:in `lock_backup'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:18:in `restore_backup'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:120:in `block (3 levels) in <top (requir ed)>'
/opt/gitlab/embedded/bin/bundle:25:in `load'
/opt/gitlab/embedded/bin/bundle:25:in `<main>'
Caused by:
ActiveRecord::StatementInvalid: PG::ConnectionBad: PQconsumeInput() server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/schema_cache_with_renamed_table_legacy.rb:27:in ` columns'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/schema_cache_with_renamed_table_legacy.rb:31:in ` columns_hash'
/opt/gitlab/embedded/service/gitlab-rails/ee/lib/ee/backup/targets/repositories.rb:12:in `group_relation'
/opt/gitlab/embedded/service/gitlab-rails/ee/lib/ee/backup/targets/repositories.rb:19:in `find_groups_in_batche s'
/opt/gitlab/embedded/service/gitlab-rails/ee/lib/ee/backup/targets/repositories.rb:37:in `enqueue_consecutive_g roups'
/opt/gitlab/embedded/service/gitlab-rails/ee/lib/ee/backup/targets/repositories.rb:31:in `enqueue_consecutive'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/targets/repositories.rb:43:in `restore'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/tasks/task.rb:31:in `restore!'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/restore/process.rb:30:in `execute!'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:101:in `run_restore_task'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:168:in `block in run_all_restore_tasks'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:165:in `each_value'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:165:in `run_all_restore_tasks'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:68:in `restore'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:21:in `block in restore_backup'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:75:in `lock_backup'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:18:in `restore_backup'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:120:in `block (3 levels) in <top (requir ed)>'
/opt/gitlab/embedded/bin/bundle:25:in `load'
/opt/gitlab/embedded/bin/bundle:25:in `<main>'
Caused by:
PG::ConnectionBad: PQconsumeInput() server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/schema_cache_with_renamed_table_legacy.rb:27:in ` columns'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/schema_cache_with_renamed_table_legacy.rb:31:in ` columns_hash'
/opt/gitlab/embedded/service/gitlab-rails/ee/lib/ee/backup/targets/repositories.rb:12:in `group_relation'
/opt/gitlab/embedded/service/gitlab-rails/ee/lib/ee/backup/targets/repositories.rb:19:in `find_groups_in_batche s'
/opt/gitlab/embedded/service/gitlab-rails/ee/lib/ee/backup/targets/repositories.rb:37:in `enqueue_consecutive_g roups'
/opt/gitlab/embedded/service/gitlab-rails/ee/lib/ee/backup/targets/repositories.rb:31:in `enqueue_consecutive'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/targets/repositories.rb:43:in `restore'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/tasks/task.rb:31:in `restore!'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/restore/process.rb:30:in `execute!'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:101:in `run_restore_task'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:168:in `block in run_all_restore_tasks'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:165:in `each_value'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:165:in `run_all_restore_tasks'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:68:in `restore'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:21:in `block in restore_backup'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:75:in `lock_backup'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:18:in `restore_backup'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:120:in `block (3 levels) in <top (requir ed)>'
/opt/gitlab/embedded/bin/bundle:25:in `load'
/opt/gitlab/embedded/bin/bundle:25:in `<main>'
Tasks: TOP => gitlab:backup:restore
(See full trace by running task with --trace)
There is git repository data in the backup file, but it is not restored to git-data. backup-file:
backup_information.yml
db/
db/database.sql.gz
repositories/default/@hashed/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b.git/1738579720_2025_02_03_17.8.1-ee/001.refs
repositories/default/@hashed/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b.git/1738579720_2025_02_03_17.8.1-ee/001.bundle
repositories/default/@hashed/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b.wiki.git/
repositories/default/@hashed/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b.wiki.git/1738579720_2025_02_03_17.8.1-ee/
repositories/default/@hashed/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b.wiki.git/1738579720_2025_02_03_17.8.1-ee/001.refs
repositories/manifests/default/@hashed/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b.git/+latest.toml
repositories/manifests/default/@hashed/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b.git/1738579720_2025_02_03_17.8.1-ee.toml
repositories/manifests/default/@hashed/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b.wiki.git/+latest.toml
repositories/manifests/default/@hashed/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b.wiki.git/1738579720_2025_02_03_17.8.1-ee.toml
uploads.tar.gz
builds.tar.gz
artifacts.tar.gz
pages.tar.gz
lfs.tar.gz
terraform_state.tar.gz
packages.tar.gz
ci_secure_files.tar.gz
external_diffs.tar.gz
git-data after restore:
root@git:/# ls -la /var/opt/gitlab/git-data/repositories/
total 1
drwx--S--- 3 git git 1 Feb 3 10:58 +gitaly
drwxrws--- 3 git git 2 Feb 3 10:58 .
drwxr-xr-x 3 root root 1 Feb 3 10:58 ..
-rw------- 1 git git 64 Feb 3 10:58 .gitaly-metadata
It's not because of GL version - i checked it with 17.2 - same error.
Tried to find a similar problem in docs.gitlab
, google and ask GPT/DS but couldn't find a working solution.
I'm using docker swarm. docker-compose.yml:
version: '3'
services:
gitlab:
image: gitlab/gitlab-ee:17.8.1-ee.0
hostname: 'git.***'
ports:
- target: 22
published: 2222
protocol: tcp
mode: host
networks:
- public
- gitlab-postgres
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://***.***'
nginx['redirect_http_to_https'] = false
nginx['listen_port'] = 80
nginx['listen_https'] = false
nginx['proxy_set_headers'] = {
"X-Forwarded-Proto" => "https",
"X-Forwarded-Ssl" => "on"
}
gitlab_rails['omniauth_enabled'] = true
gitlab_rails['omniauth_providers'] = [ <keycloak settings> ]
gitlab_rails['omniauth_auto_link_user'] = ['openid_connect']
gitlab_rails['omniauth_allow_single_sign_on'] = ['openid_connect']
gitlab_rails['omniauth_block_auto_created_users'] = false
puma['worker_processes'] = 0
sidekiq['concurrency'] = 10
prometheus_monitoring['enable'] = false
gitlab_rails['env'] = {
'MALLOC_CONF' => 'dirty_decay_ms:1000,muzzy_decay_ms:1000'
}
gitlab_rails['db_adapter'] = 'postgresql'
gitlab_rails['db_encoding'] = 'utf8'
postgresql['enable'] = false
gitlab_rails['db_host'] = 'postgres'
gitlab_rails['db_port'] = 5432
gitlab_rails['db_username'] = 'gitlab'
gitlab_rails['db_password'] = '***'
gitlab_rails['db_database'] = 'gitlabhq_production'
volumes:
- type: tmpfs
target: /dev/shm
tmpfs:
size: 4096000000
- gitlab-config:/etc/gitlab
- gitlab-data:/var/opt/gitlab
deploy:
labels:
<TRAEFIC LABELS>
restart_policy:
condition: on-failure
delay: 10s
healthcheck:
disable: true
depends_on:
- postgres
postgres:
image: postgres:14.11
environment:
POSTGRES_DB: gitlabhq_production
POSTGRES_USER: gitlab
POSTGRES_PASSWORD: ***
POSTGRES_HOST_AUTH_METHOD: md5
volumes:
- gitlab-postgres-data:/var/lib/postgresql/data
networks:
- gitlab-postgres
deploy:
restart_policy:
condition: any
networks:
public:
external: true
gitlab-postgres:
external: false
volumes:
gitlab-config:
driver: cephfs
driver_opts:
remote_path: /volumes/default/services/92aa9143-bdc7-4e1f-9dde-63ede1ac0904/docker/ceph-gitlab-config
gitlab-data:
driver: cephfs
driver_opts:
remote_path: /volumes/default/services/92aa9143-bdc7-4e1f-9dde-63ede1ac0904/docker/ceph-gitlab-data
gitlab-postgres-data:
driver: cephfs
driver_opts:
remote_path: /volumes/default/services/92aa9143-bdc7-4e1f-9dde-63ede1ac0904/docker/ceph-gitlab-postgres-data
I create a backup with the command docker exec -t $CONTAINER_ID gitlab-backup create
. When restoring, I follow the official instructions from docs.gitlab:
docker exec -it <container_id> gitlab-ctl stop puma
docker exec -it <container_id> gitlab-ctl stop sidekiq
docker exec -it <container_id> gitlab-backup restore BACKUP=<backup_name>
During the restore process, errors are displayed (ActiveRecord::StatementInvalid: PG::ConnectionBad: PQsocket() can't get socket descriptor
) in the end of restoring the postgres table:
2025-01-30 13:41:12 UTC -- Unpacking backup ...
2025-01-30 13:41:12 UTC -- Unpacking backup ... done
2025-01-30 13:41:12 UTC -- Restoring database ...
2025-01-30 13:41:12 UTC -- Be sure to stop Puma, Sidekiq, and any other process that
connects to the database before proceeding. For Omnibus
installs, see the following link for more information:
Do you want to continue (yes/no)? yes
2025-01-30 13:41:21 UTC -- Removing all tables. Press `Ctrl-C` within 5 seconds to abort
2025-01-30 13:41:26 UTC -- Cleaning the database ...
2025-01-30 13:43:19 UTC -- done
2025-01-30 13:43:19 UTC -- Restoring PostgreSQL database gitlabhq_production ...
SET
... filling the database with data from backup ...
ALTER TABLE
2025-01-30 14:27:04 UTC -- [DONE]
2025-01-30 14:27:04 UTC -- Source backup for the database ci doesn't exist. Skipping the task
2025-01-30 14:27:04 UTC -- Restoring database ... done
2025-01-30 14:27:04 UTC -- Restoring repositories ...
2025-01-30 14:27:04 UTC -- Deleting tar staging files ...
2025-01-30 14:27:04 UTC -- Cleaning up /var/opt/gitlab/backups/backup_information.yml
2025-01-30 14:27:04 UTC -- Cleaning up /var/opt/gitlab/backups/db
2025-01-30 14:27:04 UTC -- Cleaning up /var/opt/gitlab/backups/repositories
2025-01-30 14:27:14 UTC -- Cleaning up /var/opt/gitlab/backups/uploads.tar.gz
2025-01-30 14:27:14 UTC -- Cleaning up /var/opt/gitlab/backups/builds.tar.gz
2025-01-30 14:27:14 UTC -- Cleaning up /var/opt/gitlab/backups/artifacts.tar.gz
2025-01-30 14:27:14 UTC -- Cleaning up /var/opt/gitlab/backups/pages.tar.gz
2025-01-30 14:27:14 UTC -- Cleaning up /var/opt/gitlab/backups/lfs.tar.gz
2025-01-30 14:27:14 UTC -- Cleaning up /var/opt/gitlab/backups/terraform_state.tar.gz
2025-01-30 14:27:14 UTC -- Cleaning up /var/opt/gitlab/backups/packages.tar.gz
2025-01-30 14:27:14 UTC -- Cleaning up /var/opt/gitlab/backups/ci_secure_files.tar.gz
2025-01-30 14:27:14 UTC -- Cleaning up /var/opt/gitlab/backups/external_diffs.tar.gz
2025-01-30 14:27:14 UTC -- Deleting tar staging files ... done
2025-01-30 14:27:14 UTC -- Deleting backups/tmp ...
2025-01-30 14:27:14 UTC -- Deleting backups/tmp ... done
2025-01-30 14:27:14 UTC -- Deleting backup and restore PID file ... done
rake aborted!
ActiveRecord::StatementInvalid: PG::ConnectionBad: PQsocket() can't get socket descriptor
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/schema_cache_with_renamed_table_legacy.rb:27:in ` columns'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/schema_cache_with_renamed_table_legacy.rb:31:in ` columns_hash'
/opt/gitlab/embedded/service/gitlab-rails/app/models/pool_repository.rb:23:in `<class:PoolRepository>'
/opt/gitlab/embedded/service/gitlab-rails/app/models/pool_repository.rb:6:in `<top (required)>'
<internal:/opt/gitlab/embedded/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
<internal:/opt/gitlab/embedded/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/targets/repositories.rb:128:in `restore_object_pools'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/targets/repositories.rb:48:in `ensure in restore'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/targets/repositories.rb:48:in `restore'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/tasks/task.rb:31:in `restore!'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/restore/process.rb:30:in `execute!'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:101:in `run_restore_task'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:168:in `block in run_all_restore_tasks'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:165:in `each_value'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:165:in `run_all_restore_tasks'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:68:in `restore'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:21:in `block in restore_backup'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:75:in `lock_backup'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:18:in `restore_backup'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:120:in `block (3 levels) in <top (requir ed)>'
/opt/gitlab/embedded/bin/bundle:25:in `load'
/opt/gitlab/embedded/bin/bundle:25:in `<main>'
Caused by:
PG::ConnectionBad: PQsocket() can't get socket descriptor
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/schema_cache_with_renamed_table_legacy.rb:27:in ` columns'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/schema_cache_with_renamed_table_legacy.rb:31:in ` columns_hash'
/opt/gitlab/embedded/service/gitlab-rails/app/models/pool_repository.rb:23:in `<class:PoolRepository>'
/opt/gitlab/embedded/service/gitlab-rails/app/models/pool_repository.rb:6:in `<top (required)>'
<internal:/opt/gitlab/embedded/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
<internal:/opt/gitlab/embedded/lib/ruby/site_ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:37:in `require'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/targets/repositories.rb:128:in `restore_object_pools'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/targets/repositories.rb:48:in `ensure in restore'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/targets/repositories.rb:48:in `restore'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/tasks/task.rb:31:in `restore!'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/restore/process.rb:30:in `execute!'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:101:in `run_restore_task'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:168:in `block in run_all_restore_tasks'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:165:in `each_value'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:165:in `run_all_restore_tasks'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:68:in `restore'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:21:in `block in restore_backup'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:75:in `lock_backup'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:18:in `restore_backup'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:120:in `block (3 levels) in <top (requir ed)>'
/opt/gitlab/embedded/bin/bundle:25:in `load'
/opt/gitlab/embedded/bin/bundle:25:in `<main>'
Caused by:
ActiveRecord::StatementInvalid: PG::ConnectionBad: PQconsumeInput() server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/schema_cache_with_renamed_table_legacy.rb:27:in ` columns'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/schema_cache_with_renamed_table_legacy.rb:31:in ` columns_hash'
/opt/gitlab/embedded/service/gitlab-rails/ee/lib/ee/backup/targets/repositories.rb:12:in `group_relation'
/opt/gitlab/embedded/service/gitlab-rails/ee/lib/ee/backup/targets/repositories.rb:19:in `find_groups_in_batche s'
/opt/gitlab/embedded/service/gitlab-rails/ee/lib/ee/backup/targets/repositories.rb:37:in `enqueue_consecutive_g roups'
/opt/gitlab/embedded/service/gitlab-rails/ee/lib/ee/backup/targets/repositories.rb:31:in `enqueue_consecutive'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/targets/repositories.rb:43:in `restore'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/tasks/task.rb:31:in `restore!'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/restore/process.rb:30:in `execute!'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:101:in `run_restore_task'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:168:in `block in run_all_restore_tasks'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:165:in `each_value'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:165:in `run_all_restore_tasks'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:68:in `restore'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:21:in `block in restore_backup'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:75:in `lock_backup'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:18:in `restore_backup'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:120:in `block (3 levels) in <top (requir ed)>'
/opt/gitlab/embedded/bin/bundle:25:in `load'
/opt/gitlab/embedded/bin/bundle:25:in `<main>'
Caused by:
PG::ConnectionBad: PQconsumeInput() server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/schema_cache_with_renamed_table_legacy.rb:27:in ` columns'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/database/schema_cache_with_renamed_table_legacy.rb:31:in ` columns_hash'
/opt/gitlab/embedded/service/gitlab-rails/ee/lib/ee/backup/targets/repositories.rb:12:in `group_relation'
/opt/gitlab/embedded/service/gitlab-rails/ee/lib/ee/backup/targets/repositories.rb:19:in `find_groups_in_batche s'
/opt/gitlab/embedded/service/gitlab-rails/ee/lib/ee/backup/targets/repositories.rb:37:in `enqueue_consecutive_g roups'
/opt/gitlab/embedded/service/gitlab-rails/ee/lib/ee/backup/targets/repositories.rb:31:in `enqueue_consecutive'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/targets/repositories.rb:43:in `restore'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/tasks/task.rb:31:in `restore!'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/restore/process.rb:30:in `execute!'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:101:in `run_restore_task'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:168:in `block in run_all_restore_tasks'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:165:in `each_value'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:165:in `run_all_restore_tasks'
/opt/gitlab/embedded/service/gitlab-rails/lib/backup/manager.rb:68:in `restore'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:21:in `block in restore_backup'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:75:in `lock_backup'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:18:in `restore_backup'
/opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/backup.rake:120:in `block (3 levels) in <top (requir ed)>'
/opt/gitlab/embedded/bin/bundle:25:in `load'
/opt/gitlab/embedded/bin/bundle:25:in `<main>'
Tasks: TOP => gitlab:backup:restore
(See full trace by running task with --trace)
There is git repository data in the backup file, but it is not restored to git-data. backup-file:
backup_information.yml
db/
db/database.sql.gz
repositories/default/@hashed/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b.git/1738579720_2025_02_03_17.8.1-ee/001.refs
repositories/default/@hashed/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b.git/1738579720_2025_02_03_17.8.1-ee/001.bundle
repositories/default/@hashed/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b.wiki.git/
repositories/default/@hashed/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b.wiki.git/1738579720_2025_02_03_17.8.1-ee/
repositories/default/@hashed/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b.wiki.git/1738579720_2025_02_03_17.8.1-ee/001.refs
repositories/manifests/default/@hashed/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b.git/+latest.toml
repositories/manifests/default/@hashed/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b.git/1738579720_2025_02_03_17.8.1-ee.toml
repositories/manifests/default/@hashed/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b.wiki.git/+latest.toml
repositories/manifests/default/@hashed/6b/86/6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b.wiki.git/1738579720_2025_02_03_17.8.1-ee.toml
uploads.tar.gz
builds.tar.gz
artifacts.tar.gz
pages.tar.gz
lfs.tar.gz
terraform_state.tar.gz
packages.tar.gz
ci_secure_files.tar.gz
external_diffs.tar.gz
git-data after restore:
root@git:/# ls -la /var/opt/gitlab/git-data/repositories/
total 1
drwx--S--- 3 git git 1 Feb 3 10:58 +gitaly
drwxrws--- 3 git git 2 Feb 3 10:58 .
drwxr-xr-x 3 root root 1 Feb 3 10:58 ..
-rw------- 1 git git 64 Feb 3 10:58 .gitaly-metadata
It's not because of GL version - i checked it with 17.2 - same error.
Tried to find a similar problem in docs.gitlab
, google and ask GPT/DS but couldn't find a working solution.
- GL is loading, user data is loading except for avatars. The list of repositories is also visible, but opening a repository displays “No repository”. – Gutt0 Commented Feb 3 at 16:14
1 Answer
Reset to default 1We figured out the problem. It was a matter of slow ceph. When deploying to local volume, recovery from backup is much faster, connection to PG did not have time to reset, it allowed to avoid errors during recovery.
Conclusion: if necessary, increase the time to maintain connection with PG or optimize the speed of your storage.