diff --git a/api/handler/put.go b/api/handler/put.go index c6725ee0..503e2d0a 100644 --- a/api/handler/put.go +++ b/api/handler/put.go @@ -249,9 +249,7 @@ func (h *handler) PutObjectHandler(w http.ResponseWriter, r *http.Request) { } } - if settings, err = h.obj.GetBucketSettings(r.Context(), bktInfo); err != nil { - h.log.Warn("couldn't get bucket versioning", zap.String("bucket name", reqInfo.BucketName), zap.Error(err)) - } else if settings.VersioningEnabled { + if settings.VersioningEnabled { w.Header().Set(api.AmzVersionID, info.Version()) } diff --git a/api/handler/versioning.go b/api/handler/versioning.go index 21f94370..30959db4 100644 --- a/api/handler/versioning.go +++ b/api/handler/versioning.go @@ -62,10 +62,6 @@ func (h *handler) GetBucketVersioningHandler(w http.ResponseWriter, r *http.Requ settings, err := h.obj.GetBucketSettings(r.Context(), bktInfo) if err != nil { - if errors.IsS3Error(err, errors.ErrNoSuchBucket) { - h.logAndSendError(w, "couldn't get versioning settings", reqInfo, err) - return - } h.log.Warn("couldn't get version settings object: default version settings will be used", zap.String("request_id", reqInfo.RequestID), zap.String("method", reqInfo.API), diff --git a/api/layer/system_object.go b/api/layer/system_object.go index a57fb30d..0008955c 100644 --- a/api/layer/system_object.go +++ b/api/layer/system_object.go @@ -239,6 +239,9 @@ func (n *layer) GetBucketSettings(ctx context.Context, bktInfo *data.BucketInfo) obj, err := n.getSystemObjectFromNeoFS(ctx, bktInfo, bktInfo.SettingsObjectName()) if err != nil { + if errors.IsS3Error(err, errors.ErrNoSuchKey) { + return &data.BucketSettings{}, nil + } return nil, err }