From d481b5442dfb5c2502e84eb0c04080b061aeeab4 Mon Sep 17 00:00:00 2001 From: Aliaksei Tuzik Date: Sun, 17 Jan 2021 10:55:45 +0300 Subject: [PATCH] fix(cursor): don't use other operation's session for cloned cursor operation NODE-3008 --- lib/core/cursor.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/core/cursor.js b/lib/core/cursor.js index 8cb3357db49..48b60d1a95b 100644 --- a/lib/core/cursor.js +++ b/lib/core/cursor.js @@ -11,6 +11,7 @@ const executeOperation = require('../operations/execute_operation'); const Readable = require('stream').Readable; const SUPPORTS = require('../utils').SUPPORTS; const MongoDBNamespace = require('../utils').MongoDBNamespace; +const mergeOptions = require('../utils').mergeOptions; const OperationBase = require('../operations/operation').OperationBase; const BSON = retrieveBSON(); @@ -207,7 +208,9 @@ class CoreCursor extends Readable { * @return {Cursor} */ clone() { - return this.topology.cursor(this.ns, this.cmd, this.options); + const clonedOptions = mergeOptions({}, this.options); + delete clonedOptions.session; + return this.topology.cursor(this.ns, this.cmd, clonedOptions); } /**