Skip to content

Commit af572bd

Browse files
committed
Remove debugging
1 parent 8026e7a commit af572bd

File tree

12 files changed

+38
-52
lines changed

12 files changed

+38
-52
lines changed

pymongo/asynchronous/change_stream.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,7 @@ async def _run_aggregation_cmd(
258258

259259
async def _create_cursor(self) -> AsyncCommandCursor: # type: ignore[type-arg]
260260
async with self._client._tmp_session(self._session) as s:
261+
s.leave_alive = True
261262
return await self._run_aggregation_cmd(session=s)
262263

263264
async def _resume(self) -> None:

pymongo/asynchronous/client_bulk.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -537,6 +537,7 @@ async def _execute_command(
537537
session._start_retryable_write()
538538
self.started_retryable_write = True
539539
session._apply_to(cmd, retryable, ReadPreference.PRIMARY, conn)
540+
session.leave_alive = True
540541
conn.send_cluster_time(cmd, session, self.client)
541542
conn.add_server_api(cmd)
542543
# CSOT: apply timeout before encoding the command.

pymongo/asynchronous/client_session.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -538,14 +538,11 @@ async def _end_session(self, lock: bool) -> None:
538538
def _end_implicit_session(self) -> None:
539539
# Implicit sessions can't be part of transactions or pinned connections
540540
if not self._leave_alive and self._server_session is not None:
541-
# print(f"Ending session {self}, implicit: {self._implicit}, attached: {self._attached_to_cursor}")
542541
self._client._return_server_session(self._server_session)
543542
self._server_session = None
544543

545544
def _check_ended(self) -> None:
546545
if self._server_session is None:
547-
# print(f"Session {self} is already ended")
548-
# print(f"Session {self} is already ended, implicit: {self._implicit}, attached: {self._attached_to_cursor}: {''.join(traceback.format_stack())}")
549546
raise InvalidOperation("Cannot use ended session")
550547

551548
async def __aenter__(self) -> AsyncClientSession:

pymongo/asynchronous/command_cursor.py

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ def __init__(
6565
max_await_time_ms: Optional[int] = None,
6666
session: Optional[AsyncClientSession] = None,
6767
comment: Any = None,
68-
leave_session_alive: bool = False,
6968
) -> None:
7069
"""Create a new command cursor."""
7170
self._sock_mgr: Any = None
@@ -84,7 +83,6 @@ def __init__(
8483
self._session.attached_to_cursor = True
8584
self._killed = self._id == 0
8685
self._comment = comment
87-
self._leave_session_alive = leave_session_alive
8886
if self._killed:
8987
self._end_session()
9088

@@ -222,9 +220,9 @@ def _die_no_lock(self) -> None:
222220
self._collection.database.client._cleanup_cursor_no_lock(
223221
cursor_id, address, self._sock_mgr, self._session
224222
)
225-
if self._session:
226-
if self._session.implicit:
227-
self._session = None
223+
if self._session and self._session.implicit:
224+
self._session.attached_to_cursor = False
225+
self._session = None
228226
self._sock_mgr = None
229227

230228
async def _die_lock(self) -> None:
@@ -236,18 +234,16 @@ async def _die_lock(self) -> None:
236234
self._sock_mgr,
237235
self._session,
238236
)
239-
if self._session:
240-
if self._session.implicit:
241-
self._session = None
237+
if self._session and self._session.implicit:
238+
self._session.attached_to_cursor = False
239+
self._session = None
242240
self._sock_mgr = None
243241

244242
def _end_session(self) -> None:
245-
if self._session and self._session.implicit:
243+
if self._session and self._session.implicit and not self._session.leave_alive:
246244
self._session.attached_to_cursor = False
247-
if not self._leave_session_alive:
248-
# print(f"Ending session {self}, session: {self._session}")
249-
self._session._end_implicit_session()
250-
self._session = None
245+
self._session._end_implicit_session()
246+
self._session = None
251247

252248
async def close(self) -> None:
253249
"""Explicitly close / kill this cursor."""

pymongo/asynchronous/cursor.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1035,9 +1035,9 @@ def _die_no_lock(self) -> None:
10351035
self._collection.database.client._cleanup_cursor_no_lock(
10361036
cursor_id, address, self._sock_mgr, self._session
10371037
)
1038-
if self._session:
1039-
if self._session.implicit:
1040-
self._session = None
1038+
if self._session and self._session.implicit:
1039+
self._session.attached_to_cursor = False
1040+
self._session = None
10411041
self._sock_mgr = None
10421042

10431043
async def _die_lock(self) -> None:
@@ -1055,9 +1055,9 @@ async def _die_lock(self) -> None:
10551055
self._sock_mgr,
10561056
self._session,
10571057
)
1058-
if self._session:
1059-
if self._session.implicit:
1060-
self._session = None
1058+
if self._session and self._session.implicit:
1059+
self._session.attached_to_cursor = False
1060+
self._session = None
10611061
self._sock_mgr = None
10621062

10631063
async def close(self) -> None:

pymongo/asynchronous/mongo_client.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2084,7 +2084,6 @@ async def _retryable_write(
20842084
:param bulk: bulk abstraction to execute operations in bulk, defaults to None
20852085
"""
20862086
async with self._tmp_session(session) as s:
2087-
# print(f"Called retryable write with session = {session!r} and got {s}: {s._server_session!r}")
20882087
return await self._retry_with_session(retryable, func, s, bulk, operation, operation_id)
20892088

20902089
def _cleanup_cursor_no_lock(
@@ -2107,7 +2106,7 @@ def _cleanup_cursor_no_lock(
21072106
# The cursor will be closed later in a different session.
21082107
if cursor_id or conn_mgr:
21092108
self._close_cursor_soon(cursor_id, address, conn_mgr)
2110-
if session and session.implicit:
2109+
if session and session.implicit and not session.leave_alive:
21112110
session._end_implicit_session()
21122111

21132112
async def _cleanup_cursor_lock(
@@ -2139,7 +2138,7 @@ async def _cleanup_cursor_lock(
21392138
await self._close_cursor_now(cursor_id, address, session=session, conn_mgr=conn_mgr)
21402139
if conn_mgr:
21412140
await conn_mgr.close()
2142-
if session and session.implicit:
2141+
if session and session.implicit and not session.leave_alive:
21432142
session._end_implicit_session()
21442143

21452144
async def _close_cursor_now(
@@ -2291,7 +2290,6 @@ async def _tmp_session(
22912290
finally:
22922291
# Call end_session when we exit this scope.
22932292
if not s.attached_to_cursor:
2294-
# print(f"Ending session {s}: {''.join(traceback.format_stack(limit=10))}")
22952293
await s.end_session()
22962294
else:
22972295
yield None

pymongo/synchronous/change_stream.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,7 @@ def _run_aggregation_cmd(self, session: Optional[ClientSession]) -> CommandCurso
256256

257257
def _create_cursor(self) -> CommandCursor: # type: ignore[type-arg]
258258
with self._client._tmp_session(self._session) as s:
259+
s.leave_alive = True
259260
return self._run_aggregation_cmd(session=s)
260261

261262
def _resume(self) -> None:

pymongo/synchronous/client_bulk.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -535,6 +535,7 @@ def _execute_command(
535535
session._start_retryable_write()
536536
self.started_retryable_write = True
537537
session._apply_to(cmd, retryable, ReadPreference.PRIMARY, conn)
538+
session.leave_alive = True
538539
conn.send_cluster_time(cmd, session, self.client)
539540
conn.add_server_api(cmd)
540541
# CSOT: apply timeout before encoding the command.

pymongo/synchronous/client_session.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -537,14 +537,11 @@ def _end_session(self, lock: bool) -> None:
537537
def _end_implicit_session(self) -> None:
538538
# Implicit sessions can't be part of transactions or pinned connections
539539
if not self._leave_alive and self._server_session is not None:
540-
# print(f"Ending session {self}, implicit: {self._implicit}, attached: {self._attached_to_cursor}")
541540
self._client._return_server_session(self._server_session)
542541
self._server_session = None
543542

544543
def _check_ended(self) -> None:
545544
if self._server_session is None:
546-
# print(f"Session {self} is already ended")
547-
# print(f"Session {self} is already ended, implicit: {self._implicit}, attached: {self._attached_to_cursor}: {''.join(traceback.format_stack())}")
548545
raise InvalidOperation("Cannot use ended session")
549546

550547
def __enter__(self) -> ClientSession:

pymongo/synchronous/command_cursor.py

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ def __init__(
6565
max_await_time_ms: Optional[int] = None,
6666
session: Optional[ClientSession] = None,
6767
comment: Any = None,
68-
leave_session_alive: bool = False,
6968
) -> None:
7069
"""Create a new command cursor."""
7170
self._sock_mgr: Any = None
@@ -84,7 +83,6 @@ def __init__(
8483
self._session.attached_to_cursor = True
8584
self._killed = self._id == 0
8685
self._comment = comment
87-
self._leave_session_alive = leave_session_alive
8886
if self._killed:
8987
self._end_session()
9088

@@ -222,9 +220,9 @@ def _die_no_lock(self) -> None:
222220
self._collection.database.client._cleanup_cursor_no_lock(
223221
cursor_id, address, self._sock_mgr, self._session
224222
)
225-
if self._session:
226-
if self._session.implicit:
227-
self._session = None
223+
if self._session and self._session.implicit:
224+
self._session.attached_to_cursor = False
225+
self._session = None
228226
self._sock_mgr = None
229227

230228
def _die_lock(self) -> None:
@@ -236,18 +234,16 @@ def _die_lock(self) -> None:
236234
self._sock_mgr,
237235
self._session,
238236
)
239-
if self._session:
240-
if self._session.implicit:
241-
self._session = None
237+
if self._session and self._session.implicit:
238+
self._session.attached_to_cursor = False
239+
self._session = None
242240
self._sock_mgr = None
243241

244242
def _end_session(self) -> None:
245-
if self._session and self._session.implicit:
243+
if self._session and self._session.implicit and not self._session.leave_alive:
246244
self._session.attached_to_cursor = False
247-
if not self._leave_session_alive:
248-
# print(f"Ending session {self}, session: {self._session}")
249-
self._session._end_implicit_session()
250-
self._session = None
245+
self._session._end_implicit_session()
246+
self._session = None
251247

252248
def close(self) -> None:
253249
"""Explicitly close / kill this cursor."""

0 commit comments

Comments
 (0)