buildkit icon indicating copy to clipboard operation
buildkit copied to clipboard

bboltcachestorage: introduce an inmem WAL to the bboltcachestorage

Open jsternberg opened this issue 1 year ago • 0 comments

The inmem WAL will buffer modifications to the cache key storage to batch them into the same bolt transaction rather than start a new transaction for each entry. The added entry is then placed in an inmem cache key storage which is accessible after the write within the process.

This method doesn't have persistence guarantees that are sometimes guaranteed by other WAL implementations. If the process crashes before the flush, then those entries will be lost. This is considered acceptable since a few lost cache entries don't really matter much for the build cache.

jsternberg avatar Aug 08 '24 15:08 jsternberg