diff --git a/src/infrastructure/storage/management/workflow/PhabricatorStorageManagementUpgradeWorkflow.php b/src/infrastructure/storage/management/workflow/PhabricatorStorageManagementUpgradeWorkflow.php --- a/src/infrastructure/storage/management/workflow/PhabricatorStorageManagementUpgradeWorkflow.php +++ b/src/infrastructure/storage/management/workflow/PhabricatorStorageManagementUpgradeWorkflow.php @@ -75,6 +75,9 @@ $init_only = $args->getArg('init-only'); $no_adjust = $args->getArg('no-adjust'); + $lock = PhabricatorGlobalLock::newLock('storage'); + $lock->lock(); + $applied = $api->getAppliedPatches(); if ($applied === null) { @@ -216,6 +219,7 @@ } } + $lock->unlock(); $console = PhutilConsole::getConsole(); if ($no_adjust || $init_only || $apply_only) { $console->writeOut( diff --git a/src/infrastructure/storage/management/workflow/PhabricatorStorageManagementWorkflow.php b/src/infrastructure/storage/management/workflow/PhabricatorStorageManagementWorkflow.php --- a/src/infrastructure/storage/management/workflow/PhabricatorStorageManagementWorkflow.php +++ b/src/infrastructure/storage/management/workflow/PhabricatorStorageManagementWorkflow.php @@ -43,6 +43,9 @@ "%s\n", pht('Verifying database schemata...')); + $lock = PhabricatorGlobalLock::newLock('storage'); + $lock->lock(); + list($adjustments, $errors) = $this->findAdjustments(); $api = $this->getAPI(); @@ -345,6 +348,7 @@ $err = 1; } + $lock->unlock(); return $this->printErrors($errors, $err); }