forked from TrueCloudLab/frostfs-node
[#667] writecache: Fix flush test
Allow to disable background flusher for testing purposes. Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
This commit is contained in:
parent
02454df14a
commit
8d18fa159e
8 changed files with 40 additions and 36 deletions
|
@ -93,39 +93,18 @@ func (c *cache) deleteFromDB(key string) {
|
|||
}
|
||||
}
|
||||
|
||||
func (c *cache) deleteFromDisk(ctx context.Context, keys []string) []string {
|
||||
if len(keys) == 0 {
|
||||
return keys
|
||||
func (c *cache) deleteFromDisk(ctx context.Context, addr oid.Address) {
|
||||
_, err := c.fsTree.Delete(ctx, common.DeletePrm{Address: addr})
|
||||
if err != nil && !client.IsErrObjectNotFound(err) {
|
||||
c.log.Error(logs.WritecacheCantRemoveObjectFromWritecache, zap.Error(err))
|
||||
} else if err == nil {
|
||||
storagelog.Write(c.log,
|
||||
storagelog.AddressField(addr.EncodeToString()),
|
||||
storagelog.StorageTypeField(wcStorageType),
|
||||
storagelog.OpField("fstree DELETE"),
|
||||
)
|
||||
c.metrics.Evict(writecache.StorageTypeFSTree)
|
||||
// counter changed by fstree
|
||||
c.estimateCacheSize()
|
||||
}
|
||||
|
||||
var copyIndex int
|
||||
var addr oid.Address
|
||||
|
||||
for i := range keys {
|
||||
if err := addr.DecodeString(keys[i]); err != nil {
|
||||
c.log.Error(logs.WritecacheCantParseAddress, zap.String("address", keys[i]))
|
||||
continue
|
||||
}
|
||||
|
||||
_, err := c.fsTree.Delete(ctx, common.DeletePrm{Address: addr})
|
||||
if err != nil && !client.IsErrObjectNotFound(err) {
|
||||
c.log.Error(logs.WritecacheCantRemoveObjectFromWritecache, zap.Error(err))
|
||||
|
||||
// Save the key for the next iteration.
|
||||
keys[copyIndex] = keys[i]
|
||||
copyIndex++
|
||||
continue
|
||||
} else if err == nil {
|
||||
storagelog.Write(c.log,
|
||||
storagelog.AddressField(keys[i]),
|
||||
storagelog.StorageTypeField(wcStorageType),
|
||||
storagelog.OpField("fstree DELETE"),
|
||||
)
|
||||
c.metrics.Evict(writecache.StorageTypeFSTree)
|
||||
// counter changed by fstree
|
||||
c.estimateCacheSize()
|
||||
}
|
||||
}
|
||||
|
||||
return keys[:copyIndex]
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue