doc: add a note about staggering of maintenance
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. Signed-off-by: Shubham Kanodia <shubham.kanodia10@gmail.com> Acked-by: Derrick Stolee <stolee@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Shubham Kanodia committed
Oct 3, 2024 at 08:57 UTC
3d6ab4177ddf63369ce3e7d12a0599724b6fa173
1 file changed
+3
-1
Documentation/git-maintenance.txt
+3
-1
@@ -220,7 +220,9 @@ on an hourly basis. Each run executes the "hourly" tasks. At midnight,
220
that process also executes the "daily" tasks. At midnight on the first day
221
of the week, that process also executes the "weekly" tasks. A single
222
process iterates over each registered repository, performing the scheduled
223
-tasks for that frequency. Depending on the number of registered
223
+tasks for that frequency. The processes are scheduled to a random minute of
224
+the hour per client to spread out the load that multiple clients might
225
+generate (e.g. from prefetching). Depending on the number of registered
226
repositories and their sizes, this process may take longer than an hour.
227
In this case, multiple `git maintenance run` commands may run on the same
228
repository at the same time, colliding on the object database lock. This