diff --git a/lib/private/Files/ObjectStore/S3ConfigTrait.php b/lib/private/Files/ObjectStore/S3ConfigTrait.php index 5b086db8f7794..661d95c4f822d 100644 --- a/lib/private/Files/ObjectStore/S3ConfigTrait.php +++ b/lib/private/Files/ObjectStore/S3ConfigTrait.php @@ -38,4 +38,6 @@ trait S3ConfigTrait { private int|float $copySizeLimit; private bool $useMultipartCopy = true; + + protected int $retriesMaxAttempts; } diff --git a/lib/private/Files/ObjectStore/S3ConnectionTrait.php b/lib/private/Files/ObjectStore/S3ConnectionTrait.php index bfc1ca33618d6..3ed9d4e67a5ad 100644 --- a/lib/private/Files/ObjectStore/S3ConnectionTrait.php +++ b/lib/private/Files/ObjectStore/S3ConnectionTrait.php @@ -46,6 +46,7 @@ protected function parseParams($params) { $this->putSizeLimit = $params['putSizeLimit'] ?? 104857600; $this->copySizeLimit = $params['copySizeLimit'] ?? 5242880000; $this->useMultipartCopy = (bool)($params['useMultipartCopy'] ?? true); + $this->retriesMaxAttempts = $params['retriesMaxAttempts'] ?? 5; $params['region'] = empty($params['region']) ? 'eu-west-1' : $params['region']; $params['hostname'] = empty($params['hostname']) ? 's3.' . $params['region'] . '.amazonaws.com' : $params['hostname']; $params['s3-accelerate'] = $params['hostname'] === 's3-accelerate.amazonaws.com' || $params['hostname'] === 's3-accelerate.dualstack.amazonaws.com'; @@ -108,7 +109,7 @@ public function getConnection() { 'use_aws_shared_config_files' => false, 'retries' => [ 'mode' => 'standard', - 'max_attempts' => 5, + 'max_attempts' => $this->retriesMaxAttempts, ], ];