GitLab Admin | One project failed its last repository check

Пришло на почту письмо с таким заголовком от GitLab. Что делать?

  1. Переходим по ссылке “See the affected projects in the GitLab admin panel” из письма (для примера допустим, что она приведёт, сюда: http://git.local/admin/projects?last_repository_check_failed=1)
  2. Переходим в проблемный проект (Пусть это будет project1 в группе group1 http://git.local/admin/projects/group1/project1)
  3. Ищем значение поля “Gitaly relative path”. Пусть оно будет таким @hashed/aa/bb/aabbccddeeff00112233445566778899aabbccddeeff00112233445566778899.git
  4. Идём в консоль сервера (например, по ssh) и проверяем состояние репозитория
    /opt/gitlab/embedded/bin/git -C /var/opt/gitlab/git-data/repositories/@hashed/aa/bb/aabbccddeeff00112233445566778899aabbccddeeff00112233445566778899.git fsck

    Checking object directories: 100% (256/256), done.
    Checking objects: 100% (1239/1239), done.
    Verifying commits in commit graph: 100% (30/30), done.
    error: Could not read 0123456789abcdef01234567890abcdef0123456
    failed to parse commit 0123456789abcdef01234567890abcdef0123456
    from object database for commit-graph
  5. В той же консоли выполняем сборку мусора в репозитории:
    /opt/gitlab/embedded/bin/git -C /var/opt/gitlab/git-data/repositories/@hashed/aa/bb/aabbccddeeff00112233445566778899aabbccddeeff00112233445566778899.git gc

    Enumerating objects: 1242, done.
    Counting objects: 100% (1242/1242), done.
    Compressing objects: 100% (302/302), done.
    Writing objects: 100% (1242/1242), done.
    Selecting bitmap commits: 163, done.
    Building bitmaps: 100% (106/106), done.
    Total 1242 (delta 938), reused 1239 (delta 936), pack-reused 0
  6. Повторно проверяем состояние репозитория
    /opt/gitlab/embedded/bin/git -C /var/opt/gitlab/git-data/repositories/@hashed/aa/bb/aabbccddeeff00112233445566778899aabbccddeeff00112233445566778899.git fsck

    Checking object directories: 100% (256/256), done.
    Checking objects: 100% (1242/1242), done.
    Verifying commits in commit graph: 100% (218/218), done.


    Всё починилось.
  7. На страничке репозитория в GitLab (http://git.local/admin/projects/group1/project1) заставим его перепроверить репозиторий (Кнопка “Trigger repository check”).
  8. Наслаждаемся ушедшей проблемой 🙂