File tree Expand file tree Collapse file tree 1 file changed +11
-0
lines changed Expand file tree Collapse file tree 1 file changed +11
-0
lines changed Original file line number Diff line number Diff line change @@ -149,8 +149,19 @@ def _merge_command(
149
149
150
150
def _raise_bulk_write_error (full_result : _DocumentOut ) -> NoReturn :
151
151
"""Raise a BulkWriteError from the full bulk api result."""
152
+ # retryWrites on MMAPv1 should raise an actionable error.
152
153
if full_result ["writeErrors" ]:
153
154
full_result ["writeErrors" ].sort (key = lambda error : error ["index" ])
155
+ err = full_result ["writeErrors" ][0 ]
156
+ code = err ["code" ]
157
+ msg = err ["errmsg" ]
158
+ if code == 20 and msg .startswith ("Transaction numbers" ):
159
+ errmsg = (
160
+ "This MongoDB deployment does not support "
161
+ "retryable writes. Please add retryWrites=false "
162
+ "to your connection string."
163
+ )
164
+ raise OperationFailure (errmsg , code , full_result )
154
165
raise BulkWriteError (full_result )
155
166
156
167
You can’t perform that action at this time.
0 commit comments