Actions
Bug #45030
closedEmpty NextVersionIdMarker when it must be "null"
% 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