Skip to content

Commit 5f87e9c

Browse files
author
Boris Schrijver
committed
CLOUDSTACK-8703: Fixed issue when listing directory on S3, it would only return objectSummaries when the anwser from the S3 System was truncated.
1 parent c5ebb68 commit 5f87e9c

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
@@ -352,10 +352,15 @@ private static List<S3ObjectSummary> listDirectory(final String bucketName, fina
352352
ListObjectsRequest listObjectsRequest = new ListObjectsRequest().withBucketName(bucketName).withPrefix(directory + SEPARATOR);
353353

354354
ObjectListing ol = client.listObjects(listObjectsRequest);
355-
while (ol != null && ol.isTruncated()) {
355+
if(ol.isTruncated()) {
356+
do {
357+
objects.addAll(ol.getObjectSummaries());
358+
listObjectsRequest.setMarker(ol.getNextMarker());
359+
ol = client.listObjects(listObjectsRequest);
360+
} while (ol.isTruncated());
361+
}
362+
else {
356363
objects.addAll(ol.getObjectSummaries());
357-
listObjectsRequest.setMarker(ol.getNextMarker());
358-
ol = client.listObjects(listObjectsRequest);
359364
}
360365

361366
if (objects.isEmpty()) {

0 commit comments

Comments
 (0)