mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-29 02:02:41 +01:00
After loading the effective Viewer during a VCS request, flag them for inline cache generation
Summary: Ref T13590. User objects have some inline caches that don't do readthrough generation by default because it may be indicative of high-impact performance problems in code. During a VCS request, these caches are normally unnecessary, but they may be hit on some unusual pathways (like error handling). Flag VCS users as okay for inline generation. This does not indicate a performance problem and access to these caches is very rare, at least today. Test Plan: - Executed a Git HTTP request which hit an unhandled exception (stuck write lock). - Before: got a second-level exception while handling the first exception, when trying to access user preferences to render a standard uncaught exception page. - After: no second-level exception. Maniphest Tasks: T13590 Differential Revision: https://secure.phabricator.com/D21524
This commit is contained in:
parent
3a74701555
commit
32c82a53de
1 changed files with 5 additions and 0 deletions
|
@ -214,6 +214,11 @@ final class DiffusionServeController extends DiffusionController {
|
||||||
$viewer = new PhabricatorUser();
|
$viewer = new PhabricatorUser();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// See T13590. Some pathways, like error handling, may require unusual
|
||||||
|
// access to things like timezone information. These are fine to build
|
||||||
|
// inline; this pathway is not lightweight anyway.
|
||||||
|
$viewer->setAllowInlineCacheGeneration(true);
|
||||||
|
|
||||||
$this->setServiceViewer($viewer);
|
$this->setServiceViewer($viewer);
|
||||||
|
|
||||||
$allow_public = PhabricatorEnv::getEnvConfig('policy.allow-public');
|
$allow_public = PhabricatorEnv::getEnvConfig('policy.allow-public');
|
||||||
|
|
Loading…
Reference in a new issue