From d96b6506d7bb46047cc67d5b3088cb0b1de245fa Mon Sep 17 00:00:00 2001 From: epriestley Date: Fri, 15 Apr 2016 15:34:07 -0700 Subject: [PATCH] Disable repository read/write synchronization for now Summary: This nearly works but I didn't have time to get back to it and it isn't stable enough to turn on in the cluster yet. We have enough other stuff going out this week, so just disable it before `stable` gets cut. Should be ready by next week if things go well. Test Plan: Fetched a Git SSH repo locally. Reviewers: chad Reviewed By: chad Differential Revision: https://secure.phabricator.com/D15731 --- .../storage/PhabricatorRepository.php | 28 +++++++++++++++---- 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/src/applications/repository/storage/PhabricatorRepository.php b/src/applications/repository/storage/PhabricatorRepository.php index 9ee576dfb2..22a28daaa3 100644 --- a/src/applications/repository/storage/PhabricatorRepository.php +++ b/src/applications/repository/storage/PhabricatorRepository.php @@ -2269,16 +2269,30 @@ final class PhabricatorRepository extends PhabricatorRepositoryDAO /* -( Cluster Synchronization )-------------------------------------------- */ + private function shouldEnableSynchronization() { + // TODO: This mostly works, but isn't stable enough for production yet. + return false; + + $device = AlmanacKeys::getLiveDevice(); + if (!$device) { + return false; + } + + return true; + } + + /** * @task sync */ public function synchronizeWorkingCopyBeforeRead() { - $device = AlmanacKeys::getLiveDevice(); - if (!$device) { + if (!$this->shouldEnableSynchronization()) { return; } $repository_phid = $this->getPHID(); + + $device = AlmanacKeys::getLiveDevice(); $device_phid = $device->getPHID(); $read_lock = PhabricatorRepositoryWorkingCopyVersion::getReadLock( @@ -2332,12 +2346,13 @@ final class PhabricatorRepository extends PhabricatorRepositoryDAO * @task sync */ public function synchronizeWorkingCopyBeforeWrite() { - $device = AlmanacKeys::getLiveDevice(); - if (!$device) { + if (!$this->shouldEnableSynchronization()) { return; } $repository_phid = $this->getPHID(); + + $device = AlmanacKeys::getLiveDevice(); $device_phid = $device->getPHID(); $write_lock = PhabricatorRepositoryWorkingCopyVersion::getWriteLock( @@ -2375,8 +2390,7 @@ final class PhabricatorRepository extends PhabricatorRepositoryDAO * @task sync */ public function synchronizeWorkingCopyAfterWrite() { - $device = AlmanacKeys::getLiveDevice(); - if (!$device) { + if (!$this->shouldEnableSynchronization()) { return; } @@ -2388,6 +2402,8 @@ final class PhabricatorRepository extends PhabricatorRepositoryDAO } $repository_phid = $this->getPHID(); + + $device = AlmanacKeys::getLiveDevice(); $device_phid = $device->getPHID(); // NOTE: This means we're still bumping the version when pushes fail. We