chore(server): Remove "layer seen" cache
This cache is no longer required as it is implicit because the layer cache (mapping store path hashes to layer hashes) implies that a layer has been seen.
This commit is contained in:
parent
64fca61ea1
commit
0698d7f2aa
1 changed files with 5 additions and 29 deletions
|
@ -25,8 +25,6 @@ import (
|
|||
"cloud.google.com/go/storage"
|
||||
)
|
||||
|
||||
type void struct{}
|
||||
|
||||
type Build struct {
|
||||
SHA256 string `json:"sha256"`
|
||||
MD5 string `json:"md5"`
|
||||
|
@ -39,40 +37,18 @@ type LocalCache struct {
|
|||
mmtx sync.RWMutex
|
||||
mcache map[string]string
|
||||
|
||||
// Layer (tarball) cache
|
||||
// Layer cache
|
||||
lmtx sync.RWMutex
|
||||
lcache map[string]void
|
||||
|
||||
// Layer (build) cache
|
||||
bmtx sync.RWMutex
|
||||
bcache map[string]Build
|
||||
lcache map[string]Build
|
||||
}
|
||||
|
||||
func NewCache() LocalCache {
|
||||
return LocalCache{
|
||||
mcache: make(map[string]string),
|
||||
lcache: make(map[string]void),
|
||||
bcache: make(map[string]Build),
|
||||
lcache: make(map[string]Build),
|
||||
}
|
||||
}
|
||||
|
||||
// Has this layer hash already been seen by this Nixery instance? If
|
||||
// yes, we can skip upload checking and such because it has already
|
||||
// been done.
|
||||
func (c *LocalCache) hasSeenLayer(hash string) bool {
|
||||
c.lmtx.RLock()
|
||||
defer c.lmtx.RUnlock()
|
||||
_, seen := c.lcache[hash]
|
||||
return seen
|
||||
}
|
||||
|
||||
// Layer has now been seen and should be stored.
|
||||
func (c *LocalCache) sawLayer(hash string) {
|
||||
c.lmtx.Lock()
|
||||
defer c.lmtx.Unlock()
|
||||
c.lcache[hash] = void{}
|
||||
}
|
||||
|
||||
// Retrieve a cached manifest if the build is cacheable and it exists.
|
||||
func (c *LocalCache) manifestFromLocalCache(key string) (string, bool) {
|
||||
c.mmtx.RLock()
|
||||
|
@ -97,7 +73,7 @@ func (c *LocalCache) localCacheManifest(key, path string) {
|
|||
// Retrieve a cached build from the local cache.
|
||||
func (c *LocalCache) buildFromLocalCache(key string) (*Build, bool) {
|
||||
c.bmtx.RLock()
|
||||
b, ok := c.bcache[key]
|
||||
b, ok := c.lcache[key]
|
||||
c.bmtx.RUnlock()
|
||||
|
||||
return &b, ok
|
||||
|
@ -106,7 +82,7 @@ func (c *LocalCache) buildFromLocalCache(key string) (*Build, bool) {
|
|||
// Add a build result to the local cache.
|
||||
func (c *LocalCache) localCacheBuild(key string, b Build) {
|
||||
c.bmtx.Lock()
|
||||
c.bcache[key] = b
|
||||
c.lcache[key] = b
|
||||
c.bmtx.Unlock()
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue