From 45d4ddb4aaaf5b0bbe36442659c76be494a92af0 Mon Sep 17 00:00:00 2001 From: Max Hirschhorn Date: Wed, 30 Aug 2017 11:15:13 -0400 Subject: SERVER-30686 Add support for retryWrites=true in the mongo shell. --- src/mongo/shell/bulk_api.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/mongo/shell/bulk_api.js') diff --git a/src/mongo/shell/bulk_api.js b/src/mongo/shell/bulk_api.js index e741411516f..ef284e1500d 100644 --- a/src/mongo/shell/bulk_api.js +++ b/src/mongo/shell/bulk_api.js @@ -892,6 +892,19 @@ var _bulk_api_module = (function() { cmd.writeConcern = writeConcern; } + { + const kWireVersionSupportingRetryableWrites = 6; + const serverSupportsRetryableWrites = + coll.getMongo().getMinWireVersion() <= kWireVersionSupportingRetryableWrites && + kWireVersionSupportingRetryableWrites <= coll.getMongo().getMaxWireVersion(); + + const session = collection.getDB().getSession(); + if (serverSupportsRetryableWrites && session.getOptions().shouldRetryWrites() && + session._serverSession.canRetryWrites(cmd)) { + cmd = session._serverSession.assignTransactionNumber(cmd); + } + } + return cmd; }; -- cgit v1.2.1