diff --git a/pymongo/asynchronous/topology.py b/pymongo/asynchronous/topology.py index 183c459f2..4e55db498 100644 --- a/pymongo/asynchronous/topology.py +++ b/pymongo/asynchronous/topology.py @@ -645,6 +645,7 @@ class Topology: :exc:`~.errors.InvalidOperation`. """ async with self._lock: + old_td = self._description for server in self._servers.values(): await server.close() @@ -664,7 +665,6 @@ class Topology: # Publish only after releasing the lock. if self._publish_tp: assert self._events is not None - old_td = self._description self._description = TopologyDescription( TOPOLOGY_TYPE.Unknown, {}, diff --git a/pymongo/synchronous/topology.py b/pymongo/synchronous/topology.py index eda5f01d3..8542f67bb 100644 --- a/pymongo/synchronous/topology.py +++ b/pymongo/synchronous/topology.py @@ -643,6 +643,7 @@ class Topology: :exc:`~.errors.InvalidOperation`. """ with self._lock: + old_td = self._description for server in self._servers.values(): server.close() @@ -662,7 +663,6 @@ class Topology: # Publish only after releasing the lock. if self._publish_tp: assert self._events is not None - old_td = self._description self._description = TopologyDescription( TOPOLOGY_TYPE.Unknown, {},