diff options
author | Daniel Calviño Sánchez <danxuliu@gmail.com> | 2025-06-17 05:30:37 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-06-17 05:30:37 +0200 |
commit | b69f04177bb7a3f71044200777b1bf2bce43df4c (patch) | |
tree | 937deeeb21a91bbf1f82fcd8315d201a0d84df8f | |
parent | 044a816788d12a9daee3855a502f65217b5c0ba4 (diff) | |
parent | d7ae952dc83cbd2cfc0138a9117de5ac7982a180 (diff) | |
download | nextcloud-server-b69f04177bb7a3f71044200777b1bf2bce43df4c.tar.gz nextcloud-server-b69f04177bb7a3f71044200777b1bf2bce43df4c.zip |
Merge pull request #53498 from nextcloud/fix/noid/make-s3-connect-timeout-option-configurable
fix(ObjectStore): Make S3 "connect_timeout" option configurable
-rw-r--r-- | lib/private/Files/ObjectStore/S3ConfigTrait.php | 4 | ||||
-rw-r--r-- | lib/private/Files/ObjectStore/S3ConnectionTrait.php | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/lib/private/Files/ObjectStore/S3ConfigTrait.php b/lib/private/Files/ObjectStore/S3ConfigTrait.php index 63f14ac2d00..5b086db8f77 100644 --- a/lib/private/Files/ObjectStore/S3ConfigTrait.php +++ b/lib/private/Files/ObjectStore/S3ConfigTrait.php @@ -18,6 +18,10 @@ trait S3ConfigTrait { /** Maximum number of concurrent multipart uploads */ protected int $concurrency; + /** Timeout, in seconds, for the connection to S3 server, not for the + * request. */ + protected float $connectTimeout; + protected int $timeout; protected string|false $proxy; diff --git a/lib/private/Files/ObjectStore/S3ConnectionTrait.php b/lib/private/Files/ObjectStore/S3ConnectionTrait.php index b7017583dc2..062d2e4bde4 100644 --- a/lib/private/Files/ObjectStore/S3ConnectionTrait.php +++ b/lib/private/Files/ObjectStore/S3ConnectionTrait.php @@ -39,6 +39,7 @@ trait S3ConnectionTrait { // Default to 5 like the S3 SDK does $this->concurrency = $params['concurrency'] ?? 5; $this->proxy = $params['proxy'] ?? false; + $this->connectTimeout = $params['connect_timeout'] ?? 5; $this->timeout = $params['timeout'] ?? 15; $this->storageClass = !empty($params['storageClass']) ? $params['storageClass'] : 'STANDARD'; $this->uploadPartSize = $params['uploadPartSize'] ?? 524288000; @@ -102,8 +103,7 @@ trait S3ConnectionTrait { 'use_arn_region' => false, 'http' => [ 'verify' => $this->getCertificateBundlePath(), - // Timeout for the connection to S3 server, not for the request. - 'connect_timeout' => 5 + 'connect_timeout' => $this->connectTimeout, ], 'use_aws_shared_config_files' => false, 'retries' => [ |