Skip to content

Add S3 ActionCache

Description

The current ActionCache service stores the backend as an ordered dict in memory, which goes away when BuildGrid crashes or restarts. This also means that the ActionCache is local to each instance, even if the underlying CAS storage is shared. This MR adds another ActionCache implementation that uses S3 to persist the action cache.

Due to this using S3, this doesn't use an LRU mechanism for evicting cache entries as it would be very expensive. Instead a bucket lifecycle policy should be set on the bucket to expire entries after a certain amount of time. Entries whose ActionResults are no longer in the CAS will still be removed.

Changes proposed in this merge request:

  • Add S3ActionCache
Edited by Jeremiah Bonney

Merge request reports