fix: Do not cleanup range files in cache SaveMetadata when total hits are false (#10728)

This commit is contained in:
Kaloyan Raev 2020-10-28 18:23:17 +02:00 committed by GitHub
parent a982baff27
commit be7f67268d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -538,12 +538,15 @@ func (c *diskCache) saveMetadata(ctx context.Context, bucket, object string, met
} }
m.Ranges[rs.String(actualSize)] = rsFileName m.Ranges[rs.String(actualSize)] = rsFileName
} }
} else { }
if rs == nil && !incHitsOnly {
// this is necessary cleanup of range files if entire object is cached. // this is necessary cleanup of range files if entire object is cached.
for _, f := range m.Ranges { if _, err := os.Stat(pathJoin(cachedPath, cacheDataFile)); err == nil {
removeAll(pathJoin(cachedPath, f)) for _, f := range m.Ranges {
removeAll(pathJoin(cachedPath, f))
}
m.Ranges = nil
} }
m.Ranges = nil
} }
m.Stat.Size = actualSize m.Stat.Size = actualSize
m.Stat.ModTime = UTCNow() m.Stat.ModTime = UTCNow()