From 96e0d66699ab74bf0b4122001f0c7cf3c6f69036 Mon Sep 17 00:00:00 2001 From: Evgenii Baidakov Date: Thu, 3 Aug 2023 14:56:52 +0400 Subject: [PATCH] api: Fix eACL setup with multipart upload The removing changes was made in https://github.com/nspcc-dev/neofs-s3-gw/commit/70957d75fdf9bbf7ec2cc86061f18a4f8b4570e1#diff-efcc85eef482b2cb183da5fd07ad20378963ee903b8876f59ae2b957ee684f67L393. The bug leads to almost infinite waiting for the waiting the result of setEACL operation. Fixing the bug may improve/fix https://github.com/nspcc-dev/neofs-s3-gw/issues/800 and https://github.com/nspcc-dev/neofs-testcases/issues/591. Signed-off-by: Evgenii Baidakov --- api/handler/multipart_upload.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/api/handler/multipart_upload.go b/api/handler/multipart_upload.go index cb9814bd..2e99a537 100644 --- a/api/handler/multipart_upload.go +++ b/api/handler/multipart_upload.go @@ -443,6 +443,12 @@ func (h *handler) CompleteMultipartUploadHandler(w http.ResponseWriter, r *http. h.logAndSendError(w, "could not translate acl of completed multipart upload to ast", reqInfo, err, additional...) return } + + if sessionTokenSetEACL, err = getSessionTokenSetEACL(r.Context()); err != nil { + h.logAndSendError(w, "couldn't get eacl token", reqInfo, err) + return + } + if _, err = h.updateBucketACL(r, astObject, bktInfo, sessionTokenSetEACL); err != nil { h.logAndSendError(w, "could not update bucket acl while completing multipart upload", reqInfo, err, additional...) return