From fae0f97102247fdcc0b579c3a10902e33d121249 Mon Sep 17 00:00:00 2001 From: imSp4rky Date: Thu, 15 Oct 2026 16:16:05 -0600 Subject: [PATCH] fix(vaults): size the HTTP vault connection pool for parallel lookups --- unshackle/vaults/API.py | 5 +++++ unshackle/vaults/HTTP.py | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/unshackle/vaults/API.py b/unshackle/vaults/API.py index 51c061c7..a3b5f3c5 100644 --- a/unshackle/vaults/API.py +++ b/unshackle/vaults/API.py @@ -2,8 +2,10 @@ from typing import Iterator, Optional, Union from uuid import UUID from requests import Response, Session +from requests.adapters import HTTPAdapter from unshackle.core import __version__ +from unshackle.core.session import POOL_MAX_SIZE from unshackle.core.vault import Vault @@ -23,6 +25,9 @@ class API(Vault): self.uri = uri.rstrip("/") self.timeout = timeout self.session = Session() + adapter = HTTPAdapter(pool_connections=POOL_MAX_SIZE, pool_maxsize=POOL_MAX_SIZE) + self.session.mount("https://", adapter) + self.session.mount("http://", adapter) self.session.headers.update({"User-Agent": f"unshackle v{__version__}"}) self.session.headers.update({"Authorization": f"Bearer {token}"}) diff --git a/unshackle/vaults/HTTP.py b/unshackle/vaults/HTTP.py index 1b882c1c..cf7d1eb6 100644 --- a/unshackle/vaults/HTTP.py +++ b/unshackle/vaults/HTTP.py @@ -4,8 +4,10 @@ from typing import Iterator, Optional, Union from uuid import UUID from requests import Session +from requests.adapters import HTTPAdapter from unshackle.core import __version__ +from unshackle.core.session import POOL_MAX_SIZE from unshackle.core.vault import Vault @@ -60,6 +62,9 @@ class HTTP(Vault): self.batch_insert = True self.current_title = None self.session = Session() + adapter = HTTPAdapter(pool_connections=POOL_MAX_SIZE, pool_maxsize=POOL_MAX_SIZE) + self.session.mount("https://", adapter) + self.session.mount("http://", adapter) self.session.headers.update({"User-Agent": f"unshackle v{__version__}"}) self.api_session_id = None