1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-15 11:22:40 +01:00
phorge-phorge/src/applications/diffusion
epriestley 85011a46d0 Bail out of PhabricatorRepositoryGraphCache more aggressively after cache fills
Summary:
Ref PHI109. Ref T11786. We currently test elapsed time every 64 iterations (since iterations are normally very fast), but at least one install is seeing the page timeout after 30 seconds.

One reason could be that cache fills may occur, and are likely to be much slower than normal iterations. In an extreme case, we could do 64 cache fills before checking the time. Tweak thing so that we always check the time after doing a cache fill, regardless of how many iterations have elapsed since the last attempt.

Additionally, this API method currently accepts an arbitrary number of paths, but implicitly limits each cache query to 500ms. If more than 60 paths are passed, this may exceed 30s. Only let the cache churn for a maximum of 10s across all paths.

If this is more the latter issue than the former, this might replace the GraphCache timeouts with `git` timeouts, but at least our understanding of what's going on here will improve.

Test Plan: This is difficult to test convincingly locally, since I can't reproduce the original issue. It still works after these changes, but it worked fine before these changes too.

Reviewers: amckinley

Reviewed By: amckinley

Maniphest Tasks: T11786

Differential Revision: https://secure.phabricator.com/D18692
2017-10-06 14:12:58 -07:00
..
application Add a "/source/..." URI for Diffusion commits which redirects 2017-10-03 13:27:03 -07:00
capability Simplify the implementation of PhabricatorPolicyCapability subclasses 2014-07-25 08:25:42 +10:00
conduit Bail out of PhabricatorRepositoryGraphCache more aggressively after cache fills 2017-10-06 14:12:58 -07:00
config Move FontIcon calls to Icon 2016-01-28 08:48:45 -08:00
controller Add a "/source/..." URI for Diffusion commits which redirects 2017-10-03 13:27:03 -07:00
data Don't track "phabricator/" staging area tags 2016-06-16 11:22:02 -07:00
doorkeeper Partially modernize Doorkeeper/Asana bridge 2014-10-01 07:09:34 -07:00
edge Expose the commit/task/revision relationship edges to "edge.search" 2017-04-02 19:49:55 -07:00
editor Allow the PullLocal daemon to actually hibernate 2017-04-06 15:41:19 -07:00
engine Show yellow "draft" bubble in Audit 2017-01-16 10:28:59 -08:00
engineextension Cache Almanac URIs for repositories 2016-12-06 09:14:45 -08:00
exception Make repository daemon locks more granular and forgiving 2016-05-13 05:17:27 -07:00
garbagecollector Support ID-based repository URIs, and canonicalize repository URIs 2016-02-18 09:56:28 -08:00
gitlfs Rename "PhabricatorHash::digest()" to "weakDigest()" 2017-04-06 15:43:33 -07:00
herald Convert straggling Herald rules to modern revision status constants 2017-08-11 17:22:05 -07:00
management Update Repository Management pages to new fixed UI 2017-09-05 19:01:27 -07:00
panel Update VCS password UI 2017-09-07 15:50:05 -07:00
protocol Pass SSH wrappers to VCS commands unconditonally, not just if there's an SSH remote 2017-08-10 17:49:55 -07:00
query Update major RefCursor callsites to work properly with RefPosition 2017-09-15 10:21:32 -07:00
relationships Convert all standard relationship-editing actions to modern Relationships code 2016-06-29 11:24:52 -07:00
remarkup When commits have a "rewritten" hint, try to show that in handles in other applications 2016-08-24 09:35:19 -07:00
request Add profile images to Repositories 2017-06-12 07:51:39 -07:00
response Implement a Git LFS server which supports no operations 2016-03-17 08:08:43 -07:00
ssh Improve error messages for running git clone against a Mercurial repository 2016-12-02 07:30:03 -08:00
symbol Extend from Phobject 2015-06-15 18:02:27 +10:00
typeahead Fix an issue where repositories with hyphens could sort improperly in typeaheads 2017-07-03 09:28:02 -07:00
view Mobile layouts for Diffusion 2017-08-30 12:28:00 -07:00
xaction Prevent users from taking "edit"-like actions via comment forms if they don't have edit permission 2017-03-02 16:56:57 -08:00
DiffusionLintSaveRunner.php Return Diffusion diffs through Files, not directly over Conduit 2016-08-27 09:11:03 -07:00