summaryrefslogtreecommitdiff
path: root/jstests/noPassthrough/verify_session_cache_updates.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/noPassthrough/verify_session_cache_updates.js')
-rw-r--r--jstests/noPassthrough/verify_session_cache_updates.js112
1 files changed, 56 insertions, 56 deletions
diff --git a/jstests/noPassthrough/verify_session_cache_updates.js b/jstests/noPassthrough/verify_session_cache_updates.js
index 48622ba7b95..47d6068d5cf 100644
--- a/jstests/noPassthrough/verify_session_cache_updates.js
+++ b/jstests/noPassthrough/verify_session_cache_updates.js
@@ -1,76 +1,76 @@
// @tags: [requires_sharding]
(function() {
- 'use strict';
+'use strict';
- // This test makes assertions about the number of sessions, which are not compatible with
- // implicit sessions.
- TestData.disableImplicitSessions = true;
+// This test makes assertions about the number of sessions, which are not compatible with
+// implicit sessions.
+TestData.disableImplicitSessions = true;
- function runTest(conn) {
- for (var i = 0; i < 10; ++i) {
- conn.getDB("test").test.save({a: i});
- }
+function runTest(conn) {
+ for (var i = 0; i < 10; ++i) {
+ conn.getDB("test").test.save({a: i});
+ }
- function verify(conn, nRecords) {
- conn.getDB("admin").runCommand({refreshLogicalSessionCacheNow: 1});
- assert.eq(nRecords, conn.getDB("config").system.sessions.find({}).count());
- }
+ function verify(conn, nRecords) {
+ conn.getDB("admin").runCommand({refreshLogicalSessionCacheNow: 1});
+ assert.eq(nRecords, conn.getDB("config").system.sessions.find({}).count());
+ }
- function getLastUse(conn) {
- conn.getDB("admin").runCommand({refreshLogicalSessionCacheNow: 1});
- return conn.getDB("config").system.sessions.findOne({}).lastUse;
- }
+ function getLastUse(conn) {
+ conn.getDB("admin").runCommand({refreshLogicalSessionCacheNow: 1});
+ return conn.getDB("config").system.sessions.findOne({}).lastUse;
+ }
- // initially we have no sessions
- verify(conn, 0);
+ // initially we have no sessions
+ verify(conn, 0);
- // Calling startSession in the shell doesn't initiate the session
- var session = conn.startSession();
- verify(conn, 0);
+ // Calling startSession in the shell doesn't initiate the session
+ var session = conn.startSession();
+ verify(conn, 0);
- // running a command that doesn't require auth does touch
- session.getDatabase("admin").runCommand("isMaster");
- verify(conn, 1);
+ // running a command that doesn't require auth does touch
+ session.getDatabase("admin").runCommand("isMaster");
+ verify(conn, 1);
- // running a session updating command does touch
+ // running a session updating command does touch
+ session.getDatabase("admin").runCommand({serverStatus: 1});
+ verify(conn, 1);
+
+ // running a session updating command updates last use
+ {
+ var lastUse = getLastUse(conn);
+ sleep(200);
session.getDatabase("admin").runCommand({serverStatus: 1});
verify(conn, 1);
-
- // running a session updating command updates last use
- {
- var lastUse = getLastUse(conn);
- sleep(200);
- session.getDatabase("admin").runCommand({serverStatus: 1});
- verify(conn, 1);
- assert.gt(getLastUse(conn), lastUse);
- }
-
- // verify that reading from a cursor updates last use
- {
- var cursor = session.getDatabase("test").test.find({}).batchSize(1);
- cursor.next();
- var lastUse = getLastUse(conn);
- sleep(200);
- verify(conn, 1);
- cursor.next();
- assert.gt(getLastUse(conn), lastUse);
- }
-
- session.endSession();
+ assert.gt(getLastUse(conn), lastUse);
}
+ // verify that reading from a cursor updates last use
{
- var mongod = MongoRunner.runMongod({nojournal: ""});
- runTest(mongod);
- MongoRunner.stopMongod(mongod);
+ var cursor = session.getDatabase("test").test.find({}).batchSize(1);
+ cursor.next();
+ var lastUse = getLastUse(conn);
+ sleep(200);
+ verify(conn, 1);
+ cursor.next();
+ assert.gt(getLastUse(conn), lastUse);
}
- {
- var st = new ShardingTest({shards: 1, mongos: 1, config: 1});
- st.rs0.getPrimary().getDB("admin").runCommand({refreshLogicalSessionCacheNow: 1});
+ session.endSession();
+}
- runTest(st.s0);
- st.stop();
- }
+{
+ var mongod = MongoRunner.runMongod({nojournal: ""});
+ runTest(mongod);
+ MongoRunner.stopMongod(mongod);
+}
+
+{
+ var st = new ShardingTest({shards: 1, mongos: 1, config: 1});
+ st.rs0.getPrimary().getDB("admin").runCommand({refreshLogicalSessionCacheNow: 1});
+
+ runTest(st.s0);
+ st.stop();
+}
})();