(function() { 'use strict'; TestData.disableImplicitSessions = true; var conn = MongoRunner.runMongod({setParameter: {maxSessions: 2}}); var testDB = conn.getDB("test"); assert.commandWorked(testDB.foo.insert({data: 1})); assert.commandWorked(testDB.foo.insert({data: 2})); for (var i = 0; i < 2; i++) { var session = conn.startSession(); var db = session.getDatabase("test"); var res = assert.commandWorked(db.runCommand({find: "foo", batchSize: 1}), "unable to run find when the cache is not full"); var cursorId = res.cursor.id; assert.commandWorked(db.runCommand({getMore: cursorId, collection: "foo"}), "unable to run getMore when the cache is not full"); } var session3 = conn.startSession(); var db = session3.getDatabase("test"); assert.commandFailed(db.runCommand({find: "foo", batchSize: 1}), "able to run find when the cache is full"); MongoRunner.stopMongod(conn); })();