fix: accept upload-id-marker together with key-marker in ListMultipartUploads
The posix and azure backends dropped every upload with a key equal to the key-marker before handing the list to the lister, which then looked for the upload-id-marker under the next key. An upload-id-marker that belongs to the key-marker could never be found, so the request failed with "Invalid uploadId marker", including when a client paged with the NextKeyMarker and NextUploadIdMarker the gateway returned. Keep the uploads of the key-marker itself when an upload-id-marker is set, so the listing continues right after the given upload, as S3 does. Enable the REST test that covers it. Fixes #2149
This commit is contained in:
1 parent
f81c6a5acb
commit
cbe870a618
6 files changed
+55
-11
No files matched your search
@@ -546,6 +546,7 @@ func TestListMultipartUploads(ts *TestState) {
|
||||
ts.Run(ListMultipartUploads_ignore_upload_id_marker)
|
||||
ts.Run(ListMultipartUploads_invalid_uploadId_marker)
|
||||
ts.Run(ListMultipartUploads_keyMarker_not_from_list)
|
||||
ts.Run(ListMultipartUploads_upload_id_marker_with_key_marker)
|
||||
ts.Run(ListMultipartUploads_delimiter_truncated)
|
||||
ts.Run(ListMultipartUploads_prefix)
|
||||
ts.Run(ListMultipartUploads_both_delimiter_and_prefix)
|
||||
@@ -3254,6 +3255,7 @@ func GetIntTests() IntTests {
|
||||
"ListMultipartUploads_ignore_upload_id_marker": ListMultipartUploads_ignore_upload_id_marker,
|
||||
"ListMultipartUploads_invalid_uploadId_marker": ListMultipartUploads_invalid_uploadId_marker,
|
||||
"ListMultipartUploads_keyMarker_not_from_list": ListMultipartUploads_keyMarker_not_from_list,
|
||||
"ListMultipartUploads_upload_id_marker_with_key_marker": ListMultipartUploads_upload_id_marker_with_key_marker,
|
||||
"ListMultipartUploads_delimiter_truncated": ListMultipartUploads_delimiter_truncated,
|
||||
"ListMultipartUploads_prefix": ListMultipartUploads_prefix,
|
||||
"ListMultipartUploads_both_delimiter_and_prefix": ListMultipartUploads_both_delimiter_and_prefix,
|
||||
|
||||
Reference in new issue
Block a user