Skip to content

ListObjectVersions() separates delete markers from versions making it impossible to restore order in which they happened #1649

@crusader-mike

Description

@crusader-mike

Confirm by changing [ ] to [x] below to ensure that it's a bug:

Describe the bug
ListObjectVersionsResult stores delete markers in a separate array. Because last-modified timestamp has limited resolution (1 second) -- it is impossible to figure out original order of versions and delete markers. If you select all versions and markers with the same key and (stable-)sort them by that timestamp -- if some entries have same timestamp, you will end up with uncertainty.

Expected behavior
ListObjectVersionsResult should store markers and versions in the same array (e.g. std::vector<std::variant<ObjectVersion, DeleteMarkerEntry>>) in correct order (as returned by server).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions