diff --git a/ingestor/connection/pool.py b/ingestor/connection/pool.py index 8e93542..73002f5 100644 --- a/ingestor/connection/pool.py +++ b/ingestor/connection/pool.py @@ -107,7 +107,9 @@ class OpcConnectionPool(SientiaMonitoring): async def close_all(self): """Disconnect every pooled client (e.g. on shutdown).""" - for server_id in list(self._connections): + # list() snapshots the keys: _evict() pops from self._connections, + # so iterating the dict directly would raise "changed size during iteration". + for server_id in list(self._connections): # NOSONAR await self._evict(server_id) async def _evict(self, server_id: str):