mirror of
https://we.phorge.it/source/phorge.git
synced 2025-02-01 01:18:22 +01:00
No description
43935d5916
Summary: Fixes T10843. In a multi-server setup, we can do this: - Two servers, A and B. - You push an update. - A gets pushed first. - After A has been pushed, but before B has been pushed, a user loads a page from A. - It generates resource URIs like `/stuff/new/package.css`. - Those requests hit B. - B doesn't have the new resources yet. - It responds with old resources. - Your CDN caches things. You now have a poisoned CDN: old data is saved in a new URL. To try to avoid this with as little work as possible and generally make it hard to get wrong, check the URL hash against the hash we would generate. If they don't match, serve our best guess at the resource, but don't cache it. This should make things mostly keep working during the push, but prevent caches from becoming poisoned, and everyone should get a working version of everything after the push finishes. Test Plan: - `curl`'d a resource, got a cacheable one. - Changed the hash a little, `curl`'d again. This time: valid resource, but not cacheable. Reviewers: chad Reviewed By: chad Maniphest Tasks: T10843 Differential Revision: https://secure.phabricator.com/D15775 |
||
---|---|---|
bin | ||
conf | ||
externals | ||
resources | ||
scripts | ||
src | ||
support | ||
webroot | ||
.arcconfig | ||
.arclint | ||
.arcunit | ||
.editorconfig | ||
.gitignore | ||
LICENSE | ||
NOTICE | ||
README.md |
Phabricator is a collection of web applications which help software companies build better software.
Phabricator includes applications for:
- reviewing and auditing source code;
- hosting and browsing repositories;
- tracking bugs;
- managing projects;
- conversing with team members;
- assembling a party to venture forth;
- writing stuff down and reading it later;
- hiding stuff from coworkers; and
- also some other things.
You can learn more about the project (and find links to documentation and resources) at Phabricator.org
Phabricator is developed and maintained by Phacility.
SUPPORT RESOURCES
For resources on filing bugs, requesting features, reporting security issues, and getting other kinds of support, see Support Resources.
NO PULL REQUESTS!
We do not accept pull requests through GitHub. If you would like to contribute code, please read our Contributor's Guide.
LICENSE
Phabricator is released under the Apache 2.0 license except as otherwise noted.