Stop advertising refs/pipelines/*
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
Description
Currently, refs/pipelines/* is advertised for git-fetch, however, by the recent change to the refpsec, this is no longer necessary to be advertised.
From Slack,
Just out of curiosity, do we still need to advertise refs/pipelines for git-fetch even after the refspec change? Since the source of refspec is no longer refs/pipelines/
🆔 , I wonder if we can hide the refs, which could improve the performance.jacobvosmaer 30 minutes ago shinya what do you mean hide the refs?
jacobvosmaer 29 minutes ago on the server, we still need to create/destroy refs/pipelines/NNN
shinya 29 minutes ago like omnibus-gitlab!2932 (diffs)
GitLabGitLab Hide transfer of refs/remotes/* in git config (!2932 (merged)) · Merge Requests · GitLab.org / omnibus-gitlab These refs slow down git clones, and we don't need to expose them to the user. Discussed in https://gitlab.com/gitlab-org/gitlab-ce/issues/55754 Author Stan Hu Assignee Marin Jankovski
jacobvosmaer 29 minutes ago because git still performs a server side check that the SHA being fetched is pointed to
jacobvosmaer 29 minutes ago ah
jacobvosmaer 29 minutes ago I see
jacobvosmaer 28 minutes ago well, if we decide to keep fetching by sha, then yes, refs/pipelines/NNN could be a hidden ref
jacobvosmaer 28 minutes ago on the other hand, these refs are short lived, so they do not inflate the non-hidden ref advertisement
shinya 28 minutes ago Hmm, interesting.
jacobvosmaer 28 minutes ago I don't expect that hiding them would make a big difference
shinya 28 minutes ago Yes, it's short lived.
jacobvosmaer 27 minutes ago $ git ls-remote https://gitlab.com/gitlab-org/gitlab.git |grep -c refs/pipelines 484
shinya 27 minutes ago Well, it depends on the number of pipelines running on project.
shinya 26 minutes ago I think it's worth creating an issue for reminder.
shinya 26 minutes ago Also, it could be a breaking change that must be deployed after your change.
jacobvosmaer 26 minutes ago total number of visible refs is over 100K
jacobvosmaer 25 minutes ago so reducing that by 500 is meh, I think (edited)
shinya 25 minutes ago Hmm, interesting
Proposal
Hide refs/pipelines/* e.g. omnibus-gitlab!2932 (diffs). This might improve the performance of git-fetch a little bit.
Please note that this is a breaking change. This change must be populated after !51208 (merged).