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>
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