If I send the same request to two different S3 repositories, AWS S3 and NetApp S3, I get different results with the same set of objets within them:
Set of objects (keys)
- tmp01
- tmp03
- tmp05
- tmp06
Look what happens when I send this request http://10.0.0.20/bucketdemo?list-type=2&start-after=tmp00 to a NetApp S3 bucket:
HTTP/1.1 200 OK
Server: NetApp CSS/9.8P6
Date: Wed, 19 Oct 2022 12:52:31 GMT
x-amz-request-id: 4070680767
Content-Length: 710
Accept-Ranges: bytes
<?xml version="1.0" encoding="UTF-8"?>
<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Name>bucketdemo</Name>
<StartAfter>tmp00</StartAfter>
<Marker></Marker>
<MaxKeys>1000</MaxKeys>
<IsTruncated>false</IsTruncated>
<Contents>
<Key>tmp03</Key>
<LastModified>2022-10-19T12:52:22.22979000Z</LastModified>
<ETag>d41d8cd98f00b204e9800998ecf8427e</ETag>
<Size>0</Size>
</Contents>
<Contents>
<Key>tmp05</Key>
<LastModified>2022-10-19T12:52:22.38984000Z</LastModified>
<ETag>d41d8cd98f00b204e9800998ecf8427e</ETag>
<Size>0</Size>
</Contents>
<Contents>
<Key>tmp06</Key>
<LastModified>2022-10-19T12:52:22.50966000Z</LastModified>
<ETag>d41d8cd98f00b204e9800998ecf8427e</ETag>
<Size>0</Size>
</Contents>
As you can see, the start-after is set to "tmp00" which is lexicographically previous to the first object key "tmp01". However, I get as the first element in the result list the second element, not the first one.
Is this intended in NetApp Ontap implementation or it is a bad configuration problem?
(Obviously, if I execute this same experiment in a AWS bucket, the result is as expeceted, i.e. starting with "tmp01")