Quantcast
Channel: Issues for Drupal core
Viewing all articles
Browse latest Browse all 295159

Remove the aggregate stale file threshold and state entry

$
0
0

Problem/Motivation

CSS and JavaScript aggregation previously generated files inline during HTML page requests. If the file was requested without a PHP request to the page, and didn't exist, there was no way to create it and you'd get unstyled pages or broken JavaScript. This could happen just from a clear of js/css files on the server and then HTML cached in a CDN.

However it also had to periodically delete css and js files to avoid a potentially infinite collection of files.

To get around this only files older than 30 days are deleted when there's a cache clear.

However, following #1014086: Stampedes and cold cache performance issues with css/js aggregation, as long as a file is valid for libraries available on the site, we can recreate it independent of the 'parent' HTML request, and don't have to worry about the race condition.

Additionally, we store all the created files in state, this is necessary because the asset filename is based on the content of the files themselves, and that would be too expensive to recalculate. The asset filename with the new system is cheaper to recreate, so we don't really need this extra level of i/o caching there at all.

Steps to reproduce

Proposed resolution

Remove the css.cache_files and js.cache_files state entries.

Remove the system.performance stale file threshold.

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet


Viewing all articles
Browse latest Browse all 295159

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>