From 3d6ab4177ddf63369ce3e7d12a0599724b6fa173 Mon Sep 17 00:00:00 2001 From: Shubham Kanodia Date: Thu, 3 Oct 2024 08:57:57 +0000 Subject: [PATCH] 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 Acked-by: Derrick Stolee Signed-off-by: Junio C Hamano --- Documentation/git-maintenance.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Documentation/git-maintenance.txt b/Documentation/git-maintenance.txt index 9d96819133..6e6651309d 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