AWS: Ensure that the order returned by ListObjects is consistent

Signed-off-by: Wayne Witzel III <wayne@riotousliving.com>
This commit is contained in:
Wayne Witzel III
2018-11-01 08:29:31 -04:00
parent 6febabf334
commit 6afadb1ad4

View File

@@ -18,6 +18,7 @@ package aws
import (
"io"
"sort"
"strconv"
"time"
@@ -181,6 +182,11 @@ func (o *objectStore) ListObjects(bucket, prefix string) ([]string, error) {
return nil, errors.WithStack(err)
}
// ensure that returned objects are in a consistent order so that the deletion logic deletes the objects before
// the pseudo-folder prefix object for s3 providers (such as Quobyte) that return the pseudo-folder as an object.
// See https://github.com/heptio/ark/pull/999
sort.Sort(sort.Reverse(sort.StringSlice(ret)))
return ret, nil
}