Skip to main content
NetApp Knowledge Base

StorageGRID Copy object using metadata-directive REPLACE does not behave properly

Views:
154
Visibility:
Public
Votes:
0
Category:
storagegrid
Specialty:
not set
Last Updated:

Applies to

Issue

  • Attempting to copy an object using metadata-directive REPLACE receives an error code 501 along with an error message Changing the server-side encryption of an existing object is not supported.
  • The steps to reproduce:
  1. Mount s3fs with debugging:

root@scspa0499453001:~# s3fs bucketnonvers /mnts3fs/ -o passwd_file=/root/custom-passwd-s3fs,allow_other,use_path_request_style,mp_umask=0022,url=http://ams.sglab.netapp.com:10456,noatime,ensure_diskfree=500 -d -d -f -o f2 -o curldbg -o no_check_certificate

  1. Open an extra session and execute the following commands:
    1. cd /mnts3fs
    2. echo foo > bar
    3. chown nobody bar command returns chown: changing ownership of 'bar': Operation not supported
  • Sample logs:
2023-02-09T13:07:58.178Z [CURL DBG] > PUT /bucketnonvers/bar HTTP/1.1
2023-02-09T13:07:58.178Z [CURL DBG] > User-Agent: s3fs/1.91 (commit hash unknown; OpenSSL)
2023-02-09T13:07:58.178Z [CURL DBG] > Accept: */* 2023-02-09T13:07:58.178Z[CURL DBG] > Authorization: AWS4-HMAC-SHA256 Authorization: AWS4-HMAC-SHA256 Credential=ZEHP4Q6H5C7OAA7YJX0V/20230214/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-acl;x-amz-content-sha256;x-amz-copy-source;x-amz-date;x-amz-meta-gid;x-amz-meta-mode ;x-amz-meta-mtime;x-amz-meta-uid;x-amz-metadata-directive;x-amz-server-side-encryption, Signature=c9ef32f297084d306f222d53c730f70224e90ea00327cad2aebf127ac4b2607e
2023-02-09T13:07:58.178Z [CURL DBG] > Content-Type: application/octet-stream
2023-02-09T13:07:58.178Z [CURL DBG] > host: ams.sglab.netapp.com:10456
2023-02-09T13:07:58.178Z [CURL DBG] > x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
2023-02-09T13:07:58.178Z [CURL DBG] > x-amz-copy-source: /bucketnonvers/bar
2023-02-09T13:07:58.178Z [CURL DBG] > x-amz-date: 20230209T130758Z
2023-02-09T13:07:58.178Z [CURL DBG] > x-amz-meta-atime: 1672763344
2023-02-09T13:07:58.178Z [CURL DBG] > x-amz-meta-ctime: 1675948078
2023-02-09T13:07:58.178Z [CURL DBG] > x-amz-meta-gid: 0
2023-02-09T13:07:58.178Z [CURL DBG] > x-amz-meta-mode: 33279
2023-02-09T13:07:58.178Z [CURL DBG] > x-amz-meta-mtime: 1672763344
2023-02-09T13:07:58.178Z [CURL DBG] > x-amz-meta-uid: 0
2023-02-09T13:07:58.178Z [CURL DBG] > x-amz-metadata-directive: REPLACE
2023-02-09T13:07:58.178Z [CURL DBG] > x-amz-server-side-encryption: AES256
2023-02-09T13:07:58.178Z [CURL DBG] > Content-Length: 0
2023-02-09T13:07:58.178Z [CURL DBG] > Expect: 100-continue
2023-02-09T13:07:58.178Z [CURL DBG] >
2023-02-09T13:07:58.190Z [CURL DBG] < HTTP/1.1 501 Not Implemented
2023-02-09T13:07:58.190Z [CURL DBG] < date: Tue, 14 Feb 2023 08:47:19 GMT
2023-02-09T13:07:58.190Z [CURL DBG] < content-type: application/xml
2023-02-09T13:07:58.190Z [CURL DBG] < content-length: 269
2023-02-09T13:07:58.190Z [CURL DBG] < x-amz-request-id: 1676364439425331
2023-02-09T13:07:58.190Z [CURL DBG] < x-amz-id-2: :
2023-02-09T13:07:58.190Z [CURL DBG] < x-ntap-sg-trace-id: 8ececf3a24ac7376
2023-02-09T13:07:58.190Z [CURL DBG] < strict-transport-security: max-age=16000000; includeSubDomains; preload;
2023-02-09T13:07:58.190Z [CURL DBG] * HTTP error before end of send, stop sending
2023-02-09T13:07:58.190Z [CURL DBG] < 2023-02-09T13:07:58.190Z [CURL DBG] * Closing connection 9
2023-02-09T13:07:58.191Z [INF] curl.cpp:RequestPerform(2387): HTTP response code 501 was returned, returning ENOTSUP
2023-02-09T13:07:58.191Z [DBG] curl.cpp:RequestPerform(2388): Body Text: <?xml version="1.0" encoding="UTF-8"?> <Error><Code>XNotImplemented</Code><Message>Changing the server-side encryption of an existing object is not supported.</Message><Resource>/bucketnonvers/test1/test</Resource><RequestId>1675948077116669</RequestId></Error>
2023-02-09T13:0 7:58.191Z [DBG] curl_handlerpool.cpp:ReturnHandler(103): Return handler to pool unique: 144, error: -95 (Operation not supported), outsize: 16 unique: 145, opcode: STATFS (17), nodeid: 1, insize: 40, pid: 126994
  • After renaming an object using s3fs, the object with the new name appears to have a size of zero.
  • Bycast.log reports error during rename operation.

yyyy-mm-ddThh:mm:ss ADE: |12788853 2659044311 S3RQ %CEA 2024-10-10T09:23:47.626189| NOTICE   0089 a5153b8ae47ecb75 S3RQ: S3 error response: RequestId=1728552223024454, TraceId=a5153b8ae47ecb75, Resource=/old_name, HTTP Method=PUT, HTTP Status Code=501, ErrorMsg=XNotImplemented, ErrorType=Client, CustomErrorMessage={Changing the server-side encryption of an existing object is not supported.}, Details={<none>}
 

  • And audit.log records the renamed object with the CSIZ (content size) of zero.

yyyy-mm-ddThh:mm:ss [AUDT:[RSLT(FC32):SUCS][CNID(UI64):1728552228380804][TIME(UI64):22948][SAIP(IPAD):"x.x.x.x"][S3AI(CSTR):"11668991658953630201"][SACC(CSTR):"xxxx"][S3AK(CSTR):"xxxx"][SUSR(CSTR):"urn:sgws:identity::11668991658953630201:user/xxxx"][SBAI(CSTR):"00367720891877408653"][SBAC(CSTR):"xxxx"][S3BK(CSTR):"xxxx"][S3KY(CSTR):"new_name"][CBID(UI64):0x0F1AB795294167CC][UUID(CSTR):"DF3411C6-D8D4-4CD5-A74B-ABB75CB4FA07"][CSIZ(UI64):0][MTME(UI64):1728552228390371][AVER(UI32):10][ATIM(UI64):1728552228411907][ATYP(FC32):SPUT][ANID(UI32):12724111][AMID(FC32):S3RQ][ATID(UI64):14343539285219169917]]

  • By looking up the object with the new name, it shows a size of zero.


 

 

Sign in to view the entire content of this KB article.

New to NetApp?

Learn more about our award-winning Support

NetApp provides no representations or warranties regarding the accuracy or reliability or serviceability of any information or recommendations provided in this publication or with respect to any results that may be obtained by the use of the information or observance of any recommendations provided herein. The information in this document is distributed AS IS and the use of this information or the implementation of any recommendations or techniques herein is a customer's responsibility and depends on the customer's ability to evaluate and integrate them into the customer's operational environment. This document and the information contained herein may be used solely in connection with the NetApp products discussed in this document.