-
Notifications
You must be signed in to change notification settings - Fork 722
Description
Describe the feature
Delete Markers and Object Versions should receive an additional "sort order" field in ListObjectVersions to preserve their chronological order from the API.
The correct ordering is currently an empirical observation (though hinted at in the API documentation). LastModified has a resolution of one second, which in certain high-frequency scenarios is insufficient to maintain the correct chronological sequence and strong consistency.
Use Case
Systems built on S3 that utilize Delete Markers and Object Versions in performance-critical applications may encounter this ordering issue, making it beneficial to avoid relying on workarounds.
Proposed Solution
A SortOrder member is set while deserializing ListObjectVersionsOutput with the number of the current deserialized ObjectVersion or DeleteMarker, which should be a backwards-compatible change. Here, you can find my current implementation, which uses Traits to adapt the RestXML Deserialization (not yet tested): cb24659.
Before I create a pull request, I want to bring this suggestion to be discussed and evaluated on a design basis.
Other Information
Relates to:
aws/aws-sdk-java-v2#1620
aws/aws-sdk-cpp#1649
The acknowledgement that I may implement the feature requests is currently restricted to the Go SDK
Acknowledgements
- I may be able to implement this feature request
- This feature might incur a breaking change
AWS Go SDK V2 Module Versions Used
v1.37.2
Go version used
go1.23.6