From 2ef38cfbc4b09c81d30c5b6421bf4bb870f2bdf5 Mon Sep 17 00:00:00 2001 From: Evgenii Stratonikov Date: Thu, 6 Oct 2022 19:06:19 +0300 Subject: [PATCH] [#1996] engine: Ignore `pilorama.ErrTreeNotFound` for write operations Signed-off-by: Evgenii Stratonikov --- pkg/local_object_storage/engine/tree.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/local_object_storage/engine/tree.go b/pkg/local_object_storage/engine/tree.go index 17049aaa..c7f62a8c 100644 --- a/pkg/local_object_storage/engine/tree.go +++ b/pkg/local_object_storage/engine/tree.go @@ -14,7 +14,7 @@ var _ pilorama.Forest = (*StorageEngine)(nil) // TreeMove implements the pilorama.Forest interface. func (e *StorageEngine) TreeMove(d pilorama.CIDDescriptor, treeID string, m *pilorama.Move) (*pilorama.LogMove, error) { index, lst, err := e.getTreeShard(d.CID, treeID) - if err != nil { + if err != nil || !errors.Is(err, pilorama.ErrTreeNotFound) { return nil, err } @@ -34,7 +34,7 @@ func (e *StorageEngine) TreeMove(d pilorama.CIDDescriptor, treeID string, m *pil // TreeAddByPath implements the pilorama.Forest interface. func (e *StorageEngine) TreeAddByPath(d pilorama.CIDDescriptor, treeID string, attr string, path []string, m []pilorama.KeyValue) ([]pilorama.LogMove, error) { index, lst, err := e.getTreeShard(d.CID, treeID) - if err != nil { + if err != nil && !errors.Is(err, pilorama.ErrTreeNotFound) { return nil, err } @@ -53,7 +53,7 @@ func (e *StorageEngine) TreeAddByPath(d pilorama.CIDDescriptor, treeID string, a // TreeApply implements the pilorama.Forest interface. func (e *StorageEngine) TreeApply(d pilorama.CIDDescriptor, treeID string, m *pilorama.Move) error { index, lst, err := e.getTreeShard(d.CID, treeID) - if err != nil { + if err != nil && !errors.Is(err, pilorama.ErrTreeNotFound) { return err }