diff options
author | Max Hirschhorn <max.hirschhorn@mongodb.com> | 2017-08-30 11:15:13 -0400 |
---|---|---|
committer | Max Hirschhorn <max.hirschhorn@mongodb.com> | 2017-08-30 11:15:13 -0400 |
commit | 45d4ddb4aaaf5b0bbe36442659c76be494a92af0 (patch) | |
tree | 0e780ee7770318bbe09fb7eaeaefb48ae4eda476 /src/mongo/shell/bulk_api.js | |
parent | e9f25df1ee004319caa493fe4d4b5c34948df9f3 (diff) | |
download | mongo-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.js | 13 |
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; }; |