Merge pull request #37534 from Rsplwe/master

Adjust the value of the "max-parts" parameter of the object storage 'ListPart' interface to 1000
This commit is contained in:
Simon L 2023-04-18 00:16:38 +02:00 committed by GitHub
commit 45a0fe490c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -69,13 +69,24 @@ class S3 implements IObjectStore, IObjectStoreMultiPartUpload {
}
public function getMultipartUploads(string $urn, string $uploadId): array {
$parts = $this->getConnection()->listParts([
'Bucket' => $this->bucket,
'Key' => $urn,
'UploadId' => $uploadId,
'MaxParts' => 10000
]);
return $parts->get('Parts') ?? [];
$parts = [];
$isTruncated = true;
$partNumberMarker = 0;
while ($isTruncated) {
$result = $this->getConnection()->listParts([
'Bucket' => $this->bucket,
'Key' => $urn,
'UploadId' => $uploadId,
'MaxParts' => 1000,
'PartNumberMarker' => $partNumberMarker
]);
$parts = array_merge($parts, $result->get('Parts') ?? []);
$isTruncated = $result->get('IsTruncated');
$partNumberMarker = $result->get('NextPartNumberMarker');
}
return $parts;
}
public function completeMultipartUpload(string $urn, string $uploadId, array $result): int {