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(
149149
150150def _raise_bulk_write_error (full_result : _DocumentOut ) -> NoReturn :
151151 """Raise a BulkWriteError from the full bulk api result."""
152+ # retryWrites on MMAPv1 should raise an actionable error.
152153 if full_result ["writeErrors" ]:
153154 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 )
154165 raise BulkWriteError (full_result )
155166
156167
You can’t perform that action at this time.
0 commit comments