summaryrefslogtreecommitdiff
path: root/src/mongo/shell/bulk_api.js
diff options
context:
space:
mode:
authorMax Hirschhorn <max.hirschhorn@mongodb.com>2017-08-30 11:15:13 -0400
committerMax Hirschhorn <max.hirschhorn@mongodb.com>2017-08-30 11:15:13 -0400
commit45d4ddb4aaaf5b0bbe36442659c76be494a92af0 (patch)
tree0e780ee7770318bbe09fb7eaeaefb48ae4eda476 /src/mongo/shell/bulk_api.js
parente9f25df1ee004319caa493fe4d4b5c34948df9f3 (diff)
downloadmongo-45d4ddb4aaaf5b0bbe36442659c76be494a92af0.tar.gz
SERVER-30686 Add support for retryWrites=true in the mongo shell.
Diffstat (limited to 'src/mongo/shell/bulk_api.js')
-rw-r--r--src/mongo/shell/bulk_api.js13
1 files changed, 13 insertions, 0 deletions
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;
};