Skip to content

Gitaly: restart if SHA256 checksum of binary changes

Jacob Vosmaer requested to merge jv-gitaly-version-md5 into master

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
Edited by Jacob Vosmaer

Merge request reports