-
Improvement
-
Resolution: Fixed
-
Minor
-
4.0
-
MOODLE_400_STABLE
-
MOODLE_400_STABLE
-
If you have a very large shared file store cache, and it is completely purged eg after a release, then it uses a file glob to iterate over the files and delete them which can be fairly slow with millions of files. The file deletion doesn't need to block the release from finishing.
Proposing to add a new option to the file cache store which when set stores all cache keys under an extra version key:
cache/cachestore_file/1592480344/default_application
instead of
cache/cachestore_file/default_application
When a purge happens, it just bumps the key to invalidate, and then fires of an adhoc task to slowly delete the old set of data.
The $CFG->localcachedirpurged key should be well suited, or something new so it could be 1 key per store instance.
Or alternatively don't make an option and just make this the way it works for everyone.
- has a non-specific relationship to
-
MDL-73382 Localize htmlpurifier cache using value versions instead of key versions
- Open
-
MDL-66928 Cron throws exceptions during a cache purge as localcachedir is purged / get_request_storage_directory should use system temp
- Closed
-
MDL-70243 Add a file system performance summary into the footer and file IO debug mode
- Development in progress
- Testing discovered
-
MDL-73621 Refactor various recursive directory delete functions into one and make it much faster
- Open