From 6afadb1ad468f0bca162336bb31753806bce92a5 Mon Sep 17 00:00:00 2001 From: Wayne Witzel III Date: Thu, 1 Nov 2018 08:29:31 -0400 Subject: [PATCH] AWS: Ensure that the order returned by ListObjects is consistent Signed-off-by: Wayne Witzel III --- pkg/cloudprovider/aws/object_store.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkg/cloudprovider/aws/object_store.go b/pkg/cloudprovider/aws/object_store.go index ba8ee5b55..dfb34ea0e 100644 --- a/pkg/cloudprovider/aws/object_store.go +++ b/pkg/cloudprovider/aws/object_store.go @@ -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 }