Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • heptapod heptapod
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 201
    • Issues 201
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1
    • Merge requests 1
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • heptapodheptapod
  • heptapodheptapod
  • Issues
  • #435
Closed
Open
Issue created Mar 07, 2021 by Georges Racinet@gracinet🦑Owner

Reschedule MR cleanups for native Mercurial projects

A consequence of #423 (closed) is that Merge Requests special refs didn't get cleaned up as they should have, at first by failing (loudly), then by being ignored (still the case as of Heptapod 0.20.0).

We need to reschedule them in a background migration after native Mercurial projects get proper support for special refs (#431 (closed)), which should include deletion. This can be done with the MergeRequests::CleanupRefsService.schedule classmethod.

Normally these cleanups happen in MergeRequests::PostMergeService and MergeRequests::CloseService, hence we can perform them for all closed and merged MRs. We can expect the volume to be much lower than what this scheduling is designed for, but we can as well use it, provided we don't get failures if it fails (MR closed post #431 (closed), hence whose special refs are already cleaned up) or we just accept the failures and subsequent retries because they are low volume.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking