File tree Expand file tree Collapse file tree
diracx-core/src/diracx/core Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -268,14 +268,25 @@ class SandboxStoreSettings(ServiceSettingsBase):
268268 This name is used within DIRAC to refer to this sandbox storage
269269 endpoint in job descriptions and file catalogs.
270270 """
271+
272+ s3_max_pool_connections : int = 50
273+ """Maximum number of connections in the S3 client connection pool.
274+
275+ Higher values allow more parallel S3 requests (e.g. during bulk sandbox
276+ deletion). Default: 50.
277+ """
278+
271279 _client : S3Client = PrivateAttr ()
272280
273281 @contextlib .asynccontextmanager
274282 async def lifetime_function (self ) -> AsyncIterator [None ]:
275283 async with get_session ().create_client (
276284 "s3" ,
277285 ** self .s3_client_kwargs ,
278- config = Config (signature_version = "v4" , max_pool_connections = 50 ),
286+ config = Config (
287+ signature_version = "v4" ,
288+ max_pool_connections = self .s3_max_pool_connections ,
289+ ),
279290 ) as self ._client : # type: ignore
280291 if not await s3_bucket_exists (self ._client , self .bucket_name ):
281292 if not self .auto_create_bucket :
Original file line number Diff line number Diff line change @@ -148,6 +148,15 @@ Logical name of the Storage Element for the sandbox store.
148148This name is used within DIRAC to refer to this sandbox storage
149149endpoint in job descriptions and file catalogs.
150150
151+ ### ` DIRACX_SANDBOX_STORE_S3_MAX_POOL_CONNECTIONS `
152+
153+ * Optional* , default value: ` 50 `
154+
155+ Maximum number of connections in the S3 client connection pool.
156+
157+ Higher values allow more parallel S3 requests (e.g. during bulk sandbox
158+ deletion). Default: 50.
159+
151160## OTELSettings
152161
153162Settings for the Open Telemetry Configuration.
You can’t perform that action at this time.
0 commit comments