[Cyberduck-trac] [Cyberduck] #11609: NoSuchKey copying objects with versionId attribute (was: Cannot rename files when using OCI Object Storage)

Cyberduck trac at cyberduck.io
Mon Mar 29 10:11:19 UTC 2021


#11609: NoSuchKey copying objects with versionId attribute
--------------------------+---------------------------
 Reporter:  Trianglehead  |         Owner:  dkocher
     Type:  defect        |        Status:  closed
 Priority:  normal        |     Milestone:
Component:  openstack     |       Version:  7.8.2
 Severity:  normal        |    Resolution:  thirdparty
 Keywords:                |  Architecture:
 Platform:                |
--------------------------+---------------------------
Changes (by dkocher):

 * status:  new => closed
 * resolution:   => thirdparty


Comment:

 The service reports a `<VersionId>null</VersionId>` for the objects in the
 response and thus this is included in the request to copy files. I
 conclude this is expected behaviour and a bug in OCI.


  * Below the HTTP transcript from listing the objects in a bucket which
 include the version id.

 {{{
 GET /cyberducktest/?encoding-type=url&max-
 keys=1000&versions&prefix=&delimiter=%2F HTTP/1.1
 Date: Mon, 29 Mar 2021 10:05:12 GMT
 x-amz-content-sha256:
 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
 Host: yzhk5oemdvbe.compat.objectstorage.us-phoenix-1.oraclecloud.com
 x-amz-date: 20210329T100512Z
 Connection: Keep-Alive
 User-Agent: Cyberduck/7.8.5.34448 (Mac OS X/11.2.3) (x86_64)

 HTTP/1.1 200 OK
 x-amz-request-id:
 phx-1:aIQpg92tXVP2HSUQpjfzzNhnj3wMCBNuY77knzVlS2wGFEie9FY8gUT7mpFvIX0Q
 x-amz-bucket-region: us-phoenix-1
 Content-Type: application/xml; charset=utf-8
 Content-Length: 1186
 date: Mon, 29 Mar 2021 10:05:12 GMT
 opc-request-id:
 phx-1:aIQpg92tXVP2HSUQpjfzzNhnj3wMCBNuY77knzVlS2wGFEie9FY8gUT7mpFvIX0Q
 x-api-id: s3-compatible

 <?xml version="1.0" encoding="UTF-8"?><ListVersionsResult
 xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Name>cyberducktest</Name><Prefix/><MaxKeys>1000</MaxKeys><Delimiter>%2F</Delimiter><IsTruncated>false</IsTruncated><Version><Key>easterEvent.jpg</Key><VersionId>null</VersionId><IsLatest>true</IsLatest><LastModified>2021-03-27T21:39:50.000Z</LastModified><ETag>"ee6ea575bcfa3fde42da00c44eb8b5aa"</ETag><Size>57678</Size><StorageClass>STANDARD</StorageClass><Owner><ID>ocid1.user.oc1..aaaaaaaaudffs5mcesbevkcelc2b3ifybzwqiwv7u5he3gwi6t7c7yc2g6sq</ID><DisplayName>ocid1.user.oc1..aaaaaaaaudffs5mcesbevkcelc2b3ifybzwqiwv7u5he3gwi6t7c7yc2g6sq</DisplayName></Owner></Version><Version><Key>easterEvent.png</Key><VersionId>null</VersionId><IsLatest>true</IsLatest><LastModified>2021-03-27T21:38:51.000Z</LastModified><ETag>"5758ac788ec8132e1f04da412bf19304"</ETag><Size>449261</Size><StorageClass>STANDARD</StorageClass><Owner><ID>ocid1.user.oc1..aaaaaaaaudffs5mcesbevkcelc2b3ifybzwqiwv7u5he3gwi6t7c7yc2g6sq</ID><DisplayName>ocid1.user.oc1..aaaaaa
 aaudffs5mcesbevkcelc2b3ifybzwqiwv7u5he3gwi6t7c7yc2g6sq</DisplayName></Owner></Version><EncodingType>url</EncodingType></ListVersionsResult>

 }}}


  * Below the `PUT` request to copy a file

 {{{
 PUT /cyberducktest/easterEvent%20%2829.03.21%2C%2012%3A08%29.jpg HTTP/1.1
 Date: Mon, 29 Mar 2021 10:08:09 GMT
 x-amz-copy-source: /cyberducktest/easterEvent.jpg?versionId=null
 x-amz-metadata-directive: COPY
 x-amz-content-sha256:
 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
 Host: yzhk5oemdvbe.compat.objectstorage.us-phoenix-1.oraclecloud.com
 x-amz-date: 20210329T100809Z
 Content-Length: 0
 Connection: Keep-Alive
 User-Agent: Cyberduck/7.8.5.34448 (Mac OS X/11.2.3) (x86_64)

 HTTP/1.1 404 Not Found
 x-amz-request-id: phx-1:DMNWeFMIdjH6A61WhZVFo2uedNeVgk-
 K8HyjO5rOkKxbAXx3r563dWxXzgmcdJUZ
 Content-Type: application/xml; charset=utf-8
 Content-Length: 181
 date: Mon, 29 Mar 2021 10:08:09 GMT
 opc-request-id: phx-1:DMNWeFMIdjH6A61WhZVFo2uedNeVgk-
 K8HyjO5rOkKxbAXx3r563dWxXzgmcdJUZ
 x-api-id: s3-compatible

 <?xml version="1.0" encoding="UTF-8"?><Error><Message>The object
 'easterEvent.jpg?versionId=null' was not found in the bucket
 'cyberducktest'</Message><Code>NoSuchKey</Code></Error>

 }}}

 Note that the objects have an actual value of `null` for the version id.
 If the version id is *not* present for the objects the request header
 would not be included in the copy request.

--
Ticket URL: <https://trac.cyberduck.io/ticket/11609#comment:4>
Cyberduck <https://cyberduck.io>
Libre FTP, SFTP, WebDAV, S3 & OpenStack Swift browser for Mac and Windows


More information about the Cyberduck-trac mailing list