Project

General

Profile

Actions

Bug #45030

closed

Empty NextVersionIdMarker when it must be "null"

Added by Dmitry Plyakin about 4 years ago. Updated almost 4 years 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 (v1):
Crash signature (v2):

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>

Actions #1

Updated by Or Friedmann about 4 years ago

  • Assignee set to Or Friedmann
Actions #2

Updated by Or Friedmann almost 4 years 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.

Actions #3

Updated by Or Friedmann almost 4 years ago

  • Status changed from New to Closed
Actions

Also available in: Atom PDF