there’re some unclear paths in cache saving algorithm. Which cache is saved and how during parallel builds? The thing is there’re several parallel processes which first restore cache and then should save it somehow.
I’ve managed to find in the blog http://blog.circleci.com/our-first-postmortem/.
We also serialized cache restoration: in a parallel build, we had been piping the tarball contents into all containers in parallel. Switching this to one container at a time vastly improved things in production. It was still pretty broken, and much much slower, but we had a bit of much-needed breathing space.
This well clarifies restoration process, but the saving process is that what I don’t understand. So I’d like some help which could save me from debugging:
- Which cache is picked up during the save process?
- first built
- last built
- caches of all the builds
- Is cache distinguished by