Gitaly: restart if SHA256 checksum of binary changes
What does this MR do?
During gitlab-ctl reconfigure
, we restart Gitaly if the output of
gitaly --version
has changed since the last run. Sometimes the Gitaly binary changes but the version string stays the same. On GitLab.com this
breaks perf record
because it happens frequently that we deploy a
new Gitaly binary that prints the same version string. The moment this
happens, the binary in memory no longer matches the binary on disk,
and looking up stack traces produces garbage results.
This commit changes the Gitaly restart logic so that we restart every time the SHA256 checksum of the binary changes.
Related issues
gitlab-com/gl-infra/scalability#1361 (comment 741611521)
Checklist
See Definition of done.
For anything in this list which will not be completed, please provide a reason in the MR discussion
Required
-
Merge Request Title, and Description are up to date, accurate, and descriptive -
MR targeting the appropriate branch -
MR has a green pipeline on GitLab.com -
Pipeline is green on dev.gitlab.org if the change is touching anything besides documentation or internal cookbooks -
trigger-package
has a green pipeline running against latest commit
Expected (please provide an explanation if not completing)
-
Test plan indicating conditions for success has been posted and passes -
Documentation created/updated -
Tests added -
Integration tests added to GitLab QA -
Equivalent MR/issue for the GitLab Chart opened