satellite/metainfo: move deletion before upload to satellite
Change is adding object deletion to BeginObject request (before upload). Now when satellite controls deletion we can move deletion before upload to satellite. This change improves two things: * no need for additional request to delete object before upload (need one more change to storj/uplink) * fix an issue with lack of permissions to upload if caveat allows only for writing (e.g. disallow deletes but allows to write) https://storjlabs.atlassian.net/browse/V3-3362 Change-Id: Ic453146298cdd302df290c532123731a3f99e38e
This commit is contained in:
parent
913a80c20a
commit
ca32ffbfc5
@ -1113,6 +1113,11 @@ func (endpoint *Endpoint) BeginObject(ctx context.Context, req *pb.ObjectBeginRe
|
||||
return nil, rpcstatus.Error(rpcstatus.Internal, err.Error())
|
||||
}
|
||||
|
||||
err = endpoint.DeleteObjectPieces(ctx, keyInfo.ProjectID, req.Bucket, req.EncryptedPath)
|
||||
if err != nil && !errs2.IsRPC(err, rpcstatus.NotFound) {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
endpoint.log.Info("Object Upload", zap.Stringer("Project ID", keyInfo.ProjectID), zap.String("operation", "put"), zap.String("type", "object"))
|
||||
|
||||
return &pb.ObjectBeginResponse{
|
||||
|
Loading…
Reference in New Issue
Block a user