From 673de92ec29f403134256027499ec2c5aec5ae04 Mon Sep 17 00:00:00 2001 From: Shane Harvey Date: Tue, 27 Mar 2018 16:35:10 -0700 Subject: [PATCH] Transactions inherit writeConcern from client --- pymongo/client_session.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pymongo/client_session.py b/pymongo/client_session.py index 59d555ed7..debccc06b 100644 --- a/pymongo/client_session.py +++ b/pymongo/client_session.py @@ -256,6 +256,10 @@ class ClientSession(object): self._server_session._transaction_id += 1 return + write_concern = self._current_transaction_opts.write_concern + if write_concern is None: + write_concern = self.client.write_concern + # TODO: retryable. And it's weird to pass parse_write_concern_error # from outside database.py. self._client.admin.command( @@ -263,7 +267,7 @@ class ClientSession(object): txnNumber=self._server_session.transaction_id, stmtId=self._server_session.statement_id, session=self, - write_concern=self._current_transaction_opts.write_concern, + write_concern=write_concern, read_preference=self._current_txn_read_pref, parse_write_concern_error=True) finally: