diff --git a/edb/server/connpool/pool2.py b/edb/server/connpool/pool2.py index e78aea7c0637..b07b03b39346 100644 --- a/edb/server/connpool/pool2.py +++ b/edb/server/connpool/pool2.py @@ -107,15 +107,7 @@ def __init__(self, *, connect: Connector[C], self._successful_disconnects = 0 if stats_collector: - stats_collector(Snapshot( - timestamp=0, - capacity=10, - blocks=[], - log=[], - failed_connects=0, - failed_disconnects=0, - successful_connects=0, - successful_disconnects=0)) + stats_collector(self._build_snapshot(now=0)) pass def __del__(self) -> None: @@ -214,7 +206,11 @@ async def prune_inactive_connections(self, dbname: str) -> None: del self._prunes[id] async def prune_all_connections(self) -> None: - pass + # Brutally close all connections. This is used by HA failover. + coros = [] + for conn in self._conns.values(): + coros.append(self._disconnect(conn)) + await asyncio.gather(*coros, return_exceptions=True) def get_pending_conns(self) -> int: return 0