Purge by cache key API/UI
R
Rhys Evans
Rebuild without cache is, for certain toolchains, a very useful feature. Sorry to see it going in v2.
As cache keys are now totally transparent, it seems like a purge by key system is the closest the new infrastructure can come to this.
An extension to the idea might be to have a 'purge caches used in this build' button too
CCI-I-362
Chan Mina
We're well aware that the new cache key method in 2.0 makes things more difficult. However, we try to avoid doing things that might lead to unpredictable outcomes. Clearing caches can lead to incomplete caches and, more seriously, race-condition-like situations where jobs that are already running may encounter problems with keys that are being cleared. io games
Oran Wilder
open
Nathan Fish
under review
N
Nathan Dintenfass
We are very aware that new cache key strategy in 2.0 creates some painful situations. However, we are also generally hesitant to do anything that can create non-deterministic behavior, and purging caches can create partial caches and, more acutely, race-condition-style situations where running jobs may run into issues on keys being purged. To do this correctly we'd want some way to queue a request to purge, wait for all jobs that might be using those caches to finish, then block new jobs while we purge -- such machinery is relatively expensive to make Good compared to the value it creates, so it hasn't become a top priority. That said, we are looking into ways to make caching more friendly across the board, and this is on the list of things we get requests for.