Message ID | pull.1794.git.git.1727945877922.gitgitgadget@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 3d6ab4177ddf63369ce3e7d12a0599724b6fa173 |
Headers | show |
Series | doc: add a note about staggering of maintenance | expand |
On 10/3/24 4:57 AM, Shubham Kanodia via GitGitGadget wrote: > From: Shubham Kanodia <shubham.kanodia10@gmail.com> > > Git maintenance tasks are staggered to a random minute of the hour per > client to avoid thundering herd issues. Updates the doc to add a note > about the same. > -tasks for that frequency. Depending on the number of registered > +tasks for that frequency. The processes are scheduled to a random minute of > +the hour per client to spread out the load that multiple clients might > +generate (e.g. from prefetching). Depending on the number of registered > repositories and their sizes, this process may take longer than an hour. Thanks for this update! I'm happy with this version. -Stolee
diff --git a/Documentation/git-maintenance.txt b/Documentation/git-maintenance.txt index 9d968191331..6e6651309d3 100644 --- a/Documentation/git-maintenance.txt +++ b/Documentation/git-maintenance.txt @@ -220,7 +220,9 @@ on an hourly basis. Each run executes the "hourly" tasks. At midnight, that process also executes the "daily" tasks. At midnight on the first day of the week, that process also executes the "weekly" tasks. A single process iterates over each registered repository, performing the scheduled -tasks for that frequency. Depending on the number of registered +tasks for that frequency. The processes are scheduled to a random minute of +the hour per client to spread out the load that multiple clients might +generate (e.g. from prefetching). Depending on the number of registered repositories and their sizes, this process may take longer than an hour. In this case, multiple `git maintenance run` commands may run on the same repository at the same time, colliding on the object database lock. This