Geo: Document how to reconcile differences with Geo checksum mismatches
Right now if the primary and secondary have a checksum verification failure, it's not obvious what exactly is the problem.
The way I do this now:
- Get the hashed path (e.g.
/var/opt/gitlab/git-data/repositories/@hashed/9a/e2/9ae2bdd7beedc2e766c6b76585530e16925115707dc7a06ab5ee4aa2776b2c7b.git
) from the/admin
page. - On both the primary and secondary, run:
git show-ref --head | grep -E "HEAD|(refs/(heads|tags|keep-around|merge-requests|environments|notes)/)"
. That last part is from https://gitlab.com/gitlab-org/gitaly/blob/be97ae4d2760e1065cbcd1fb66f37100b45699f0/internal/service/repository/calculate_checksum.go#L23. - Do a diff between the contents.
In the future, it would be nice if Geo did this diff automatically and showed it in the admin screen.
Edited by Stan Hu