The OpenStack Swift REST API does not require the list of objects returned by a GET on a container to be sorted. The DiskDir object performs such a sort on the entire list of files in the directory, after they have been read, but before any filtering is applied. This is not necessary and for containers that contain lots and lots of objects this is a potential performance issue.
CHANGE: http://review.gluster.org/4312 (object-storage: don't sort object list, not req'd) merged in master by Vijay Bellur (firstname.lastname@example.org)
Junaid, if you don't mind, I'll take this one. I have been doing some research on this. Even though the REST API for container listing of objects does not say it returns a sorted list of objects, the operation of marker parameter implies it.
So this change is really introducing a bug.
I have a set of changes that I am working on for the DiskDir module that will hopefully mitigate this by restoring the sort.
Peter, can we move this bug to on_qa or are there any other patches that are in pipeline for this bug?
There is more work to be done, not in the pipeline, though, to address this issue. I have started some of it, but put in on hold due to other issues that have come up.
CHANGE: http://review.gluster.org/4360 (object-storage: Use the wrapper functions provided by fs_utils.py to make system calls.) merged in master by Anand Avati (email@example.com)
CHANGE: http://review.gluster.org/4394 (object-storage: Fixing the errors and warnings in unittest.) merged in master by Vijay Bellur (firstname.lastname@example.org)