Project

General

Profile

Bug #45030

Empty NextVersionIdMarker when it must be "null"

Added by Dmitry Plyakin 3 months ago. Updated 2 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Target version:
% Done:

0%

Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature:

Description

There is an issue in GET object versions method. If result is truncated and last item has "null" version, NextVersionIdMarker is empty, while it must be "null".
For example we have bucket with 3 object versions:

<ListVersionsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
   ...
   <Version>
      <Key>address_pools.py</Key>
      <VersionId>AEjTSz4ikORFVw6chz18vI3IZDrNqSP</VersionId>
      ...
   </Version>
   <Version>
      <Key>addresses.py</Key>
      <VersionId>null</VersionId>
      ...
   </Version>
   <Version>
      <Key>addresses.py</Key>
      <VersionId>e025cBpQGtYmhjW96h.2yvZDfbQXjZA</VersionId>
      ...
   </Version>
</ListVersionsResult>

Query RGW with max-keys=2:
GET https://rgw_host/mybucket/?versions&max-keys=2&delimiter=/

<ListVersionsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
   ...
   <NextKeyMarker>addresses.py</NextKeyMarker>
   <NextVersionIdMarker></NextVersionIdMarker>
   <MaxKeys>2</MaxKeys>
   <IsTruncated>true</IsTruncated>
   ...
   <Version>
      <Key>address_pools.py</Key>
      <VersionId>AEjTSz4ikORFVw6chz18vI3IZDrNqSP</VersionId>
      ...
   </Version>
   <Version>
      <Key>addresses.py</Key>
      <VersionId>null</VersionId>
      ...
   </Version>
</ListVersionsResult>

Query AWS with max-keys=2:
GET https://s3.amazonaws.com/mybucket/?versions&max-keys=2&delimiter=/

<ListVersionsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
   ...
   <NextKeyMarker>addresses.py</NextKeyMarker>
   <NextVersionIdMarker>null</NextVersionIdMarker>
   <MaxKeys>2</MaxKeys>
   <IsTruncated>true</IsTruncated>
   ...
   <Version>
      <Key>address_pools.py</Key>
      <VersionId>o054ULNTUZWIoyfz83cLKd2qKr0Swlu0</VersionId>
      ...
   </Version>
   <Version>
      <Key>addresses.py</Key>
      <VersionId>null</VersionId>
      ...
   </Version>
</ListVersionsResult>

History

#1 Updated by Or Friedmann 3 months ago

  • Assignee set to Or Friedmann

#2 Updated by Or Friedmann 2 months ago

solved by:

https://github.com/ceph/ceph/pull/28102

I recommend you to update to Nautilus release (14.2.x) as it has been fixed in Nautilus and Luminous is in End-of-life phase.

#3 Updated by Or Friedmann 2 months ago

  • Status changed from New to Closed

Also available in: Atom PDF