Skip to content

Commit 2210f74

Browse files
authored
PYTHON-4473 Optimize find/aggregate/command by avoiding duplicate calls to _get_topology (#1652)
1 parent ac66c9d commit 2210f74

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

pymongo/mongo_client.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1344,8 +1344,9 @@ def _conn_from_server(
13441344
# always send primaryPreferred when directly connected to a repl set
13451345
# member.
13461346
# Thread safe: if the type is single it cannot change.
1347-
topology = self._get_topology()
1348-
single = topology.description.topology_type == TOPOLOGY_TYPE.Single
1347+
# NOTE: We already opened the Topology when selecting a server so there's no need
1348+
# to call _get_topology() again.
1349+
single = self._topology.description.topology_type == TOPOLOGY_TYPE.Single
13491350

13501351
with self._checkout(server, session) as conn:
13511352
if single:
@@ -1365,7 +1366,6 @@ def _conn_for_reads(
13651366
operation: str,
13661367
) -> ContextManager[tuple[Connection, _ServerMode]]:
13671368
assert read_preference is not None, "read_preference must not be None"
1368-
_ = self._get_topology()
13691369
server = self._select_server(read_preference, session, operation)
13701370
return self._conn_from_server(read_preference, server, session)
13711371

0 commit comments

Comments
 (0)