diff --git a/src/applications/diffusion/protocol/DiffusionCommandEngine.php b/src/applications/diffusion/protocol/DiffusionCommandEngine.php index 53a086db33..d7da62b11d 100644 --- a/src/applications/diffusion/protocol/DiffusionCommandEngine.php +++ b/src/applications/diffusion/protocol/DiffusionCommandEngine.php @@ -135,6 +135,11 @@ abstract class DiffusionCommandEngine extends Phobject { $future->setEnv($env); + // See T13108. By default, don't let any cluster command run indefinitely + // to try to avoid cases where `git fetch` hangs for some reason and we're + // left sitting with a held lock forever. + $future->setTimeout(phutil_units('15 minutes in seconds')); + return $future; }