diff --git a/api/layer/layer.go b/api/layer/layer.go index 4ee38b5..203f92e 100644 --- a/api/layer/layer.go +++ b/api/layer/layer.go @@ -646,6 +646,15 @@ func (n *layer) handleObjectDeleteErrors(ctx context.Context, bkt *data.BucketIn n.cache.DeleteObjectName(bkt.CID, bkt.Name, obj.Name) } + if client.IsErrObjectNotFound(obj.Error) { + n.log.Debug("object not found", zap.String("bucket", bkt.Name), zap.Stringer("cid", bkt.CID), + zap.String("object", obj.Name), zap.String("oid", obj.VersionID)) + + obj.Error = nil + + n.cache.DeleteObjectName(bkt.CID, bkt.Name, obj.Name) + } + return obj } @@ -724,7 +733,7 @@ func (n *layer) ResolveBucket(ctx context.Context, name string) (cid.ID, error) } func (n *layer) DeleteBucket(ctx context.Context, p *DeleteBucketParams) error { - nodeVersions, err := n.bucketNodeVersions(ctx, p.BktInfo, "") + nodeVersions, err := n.getAllObjectsVersions(ctx, p.BktInfo, "", "") if err != nil { return err }