Skip to content

Commit 7b47c49

Browse files
committed
#651 (@borisroman) CLOUDSTACK-8703: Fixed issue when listing direct..
* pr/651: CLOUDSTACK-8703: Fixed issue when listing directory on S3, it would only return objectSummaries when the anwser from the S3 System was truncated. Signed-off-by: Remi Bergsma <github@remi.nl>
2 parents ab4d9fc + 5f87e9c commit 7b47c49

1 file changed

Lines changed: 8 additions & 3 deletions

File tree

utils/src/com/cloud/utils/S3Utils.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -354,10 +354,15 @@ private static List<S3ObjectSummary> listDirectory(final String bucketName, fina
354354
ListObjectsRequest listObjectsRequest = new ListObjectsRequest().withBucketName(bucketName).withPrefix(directory + SEPARATOR);
355355

356356
ObjectListing ol = client.listObjects(listObjectsRequest);
357-
while (ol != null && ol.isTruncated()) {
357+
if(ol.isTruncated()) {
358+
do {
359+
objects.addAll(ol.getObjectSummaries());
360+
listObjectsRequest.setMarker(ol.getNextMarker());
361+
ol = client.listObjects(listObjectsRequest);
362+
} while (ol.isTruncated());
363+
}
364+
else {
358365
objects.addAll(ol.getObjectSummaries());
359-
listObjectsRequest.setMarker(ol.getNextMarker());
360-
ol = client.listObjects(listObjectsRequest);
361366
}
362367

363368
if (objects.isEmpty()) {

0 commit comments

Comments
 (0)