@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

+5
+5
src/applications/diffusion/controller/DiffusionServeController.php
··· 214 214 $viewer = new PhabricatorUser(); 215 215 } 216 216 217 + // See T13590. Some pathways, like error handling, may require unusual 218 + // access to things like timezone information. These are fine to build 219 + // inline; this pathway is not lightweight anyway. 220 + $viewer->setAllowInlineCacheGeneration(true); 221 + 217 222 $this->setServiceViewer($viewer); 218 223 219 224 $allow_public = PhabricatorEnv::getEnvConfig('policy.allow-public');