With multiple web nodes and possibly-not-atomic pushes, we can end up with the ol' "new code generates with a new URI, CDN hits an old machine which serves an old resource, caches are poisoned forever" issue.
We can make this do the right thing like this:
- When we receive a request, check if the hash is exactly the same as the hash we would generate.
- If it is, hurrah.
- If not, do everything normally but refuse to stick the results into any caches (APC, database, CDN).