HomePhabricator

When building a config stack, stop SiteSource objects from poisoning the cache

Description

When building a config stack, stop SiteSource objects from poisoning the cache

Summary:
Ref T13168. I'm not sure how this worked before, but I ran into this issue on my new laptop.

SiteSource accesses PhabrictatorEnv::getEnvConfig('phabricator.base-uri') when local, which may poison the cache and lock the value since we don't later discard the cache.

Specifically, when I access http://locala.phacility.com, I was getting an error like "You made a request for locala.phacility.com, but no configured site can serve this request.". This was because the base-uri was being incorrectly frozen as "local.phacility.com". The expectation is that it will match, so the standard PlatformSite will serve the request.

Test Plan:

  • Before change: "no configured site" error.
  • After change: local instance works properly.

Reviewers: amckinley

Reviewed By: amckinley

Maniphest Tasks: T13168

Differential Revision: https://secure.phabricator.com/D19526