GitLab engineers identified and fixed a critical performance bottleneck in Git's bundle creation process that was causing repository backups to take up to 48 hours. The issue stemmed from a 15-year-old Git function with O(N²) complexity that became problematic for repositories with large numbers of references. By replacing nested loops with a map data structure, they achieved a 6x performance improvement, reducing their largest repository backup time from 48 hours to just 41 minutes. The fix was contributed upstream to Git and is available to all GitLab customers starting with version 18.0, enabling more frequent backups and better disaster recovery strategies.

7m read timeFrom about.gitlab.com
Post cover image
Table of contents
Backup at scaleThe technical challengeThe result: Dramatically decreased backup timesWhat this means for GitLab customersWhat's next

Sort: