Geo synchronization does not seem to replicate default branch all the time
Summary
As part of the GCP Migration, we're synchronizing all of gitlab.com to gprd.gitlab.com, and attempting to resolve all repository checksum mismatches that come up between the two sites as a result.
One class of failure I've just observed, which seems to affect multiple repositories (100% of a random sample of unknown failures) is that the primary has a default branch like dev
or develop
(so the HEAD
ref points there), whereas the secondary has a default branch of master
.
Steps to reproduce
???
Example Project
See https://gitlab.com/gitlab-com/migration/issues/546#note_93820486
What is the current bug behavior?
Secondary has the wrong value for HEAD
What is the expected correct behavior?
Secondary's value for HEAD
should match primary's
Relevant logs and/or screenshots
(Paste any relevant logs - please use code blocks (```) to format console output, logs, and code as it's very hard to read otherwise.)
Output of checks
This bug happens on GitLab.com
Possible fixes
Either the default branch simply isn't respected at all, or we fail to synchronize the change in default branch.
A snapshot will copy the HEAD
file unmodified, so this must be a problem in the git fetch
path.