Skip to content

Commit a81a568

Browse files
committed
removed prints and improved changelog
1 parent 8feba86 commit a81a568

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

docs/changelog.rst

+4
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ Development
88
===========
99
- (Fill this out as you fix issues and develop your features).
1010
- Add support for transaction through run_in_transaction (kudos to juannyG for this) #2569
11+
Some considerations:
12+
- make sure to read https://www.mongodb.com/docs/manual/core/transactions-in-applications/#callback-api-vs-core-api
13+
- run_in_transaction context manager relies on Pymongo coreAPI, it will retry automatically in case of `UnknownTransactionCommitResult` but not `TransientTransactionError` exceptions
14+
- Using .count() in a transaction will always use Collection.count_document (as estimated_document_count is not supported in transactions)
1115

1216
Changes in 0.29.0
1317
=================

mongoengine/context_managers.py

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import contextlib
2+
import logging
23
import threading
34
from contextlib import contextmanager
45

@@ -327,15 +328,16 @@ def _commit_with_retry(session):
327328
try:
328329
# Commit uses write concern set at transaction start.
329330
session.commit_transaction()
330-
print("Transaction committed.")
331331
break
332332
except (ConnectionFailure, OperationFailure) as exc:
333333
# Can retry commit
334334
if exc.has_error_label("UnknownTransactionCommitResult"):
335-
print("UnknownTransactionCommitResult, retrying commit operation ...")
335+
logging.warning(
336+
"UnknownTransactionCommitResult, retrying commit operation ..."
337+
)
336338
continue
337339
else:
338-
print("Error during commit ...")
340+
# Error during commit
339341
raise
340342

341343

0 commit comments

Comments
 (0)