diff options
-rw-r--r-- | jstests/concurrency/fsm_workloads/auth_privilege_cache_miss.js | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/jstests/concurrency/fsm_workloads/auth_privilege_cache_miss.js b/jstests/concurrency/fsm_workloads/auth_privilege_cache_miss.js index 54f9bd23697..5441a21ed49 100644 --- a/jstests/concurrency/fsm_workloads/auth_privilege_cache_miss.js +++ b/jstests/concurrency/fsm_workloads/auth_privilege_cache_miss.js @@ -17,10 +17,31 @@ var $config = extendWorkload($config, function($config, $super) { const kResolveRolesDelayMS = 100; const originalSetup = $config.setup; + const originalTeardown = $config.teardown; + $config.setup = function(db, collName, cluster) { originalSetup(db, collName, cluster); const cacheBypass = {configureFailPoint: 'authUserCacheBypass', mode: 'alwaysOn'}; + const getUser = { + configureFailPoint: 'authLocalGetUser', + mode: 'alwaysOn', + data: {resolveRolesDelayMS: NumberInt(kResolveRolesDelayMS)} + }; + + cluster.executeOnMongosNodes(function(nodeAdminDB) { + assert.commandWorked(nodeAdminDB.runCommand(cacheBypass)); + }); + + cluster.executeOnMongodNodes(function(nodeAdminDB) { + assert.commandWorked(nodeAdminDB.runCommand(cacheBypass)); + assert.commandWorked(nodeAdminDB.runCommand(getUser)); + }); + }; + + $config.teardown = function(db, collName, cluster) { + const cacheBypass = {configureFailPoint: 'authUserCacheBypass', mode: 'off'}; + const getUser = {configureFailPoint: 'authLocalGetUser', mode: 'off'}; cluster.executeOnMongosNodes(function(nodeAdminDB) { assert.commandWorked(nodeAdminDB.runCommand(cacheBypass)); @@ -28,12 +49,10 @@ var $config = extendWorkload($config, function($config, $super) { cluster.executeOnMongodNodes(function(nodeAdminDB) { assert.commandWorked(nodeAdminDB.runCommand(cacheBypass)); - assert.commandWorked(nodeAdminDB.runCommand({ - configureFailPoint: 'authLocalGetUser', - mode: 'alwaysOn', - data: {resolveRolesDelayMS: NumberInt(kResolveRolesDelayMS)} - })); + assert.commandWorked(nodeAdminDB.runCommand(getUser)); }); + + originalTeardown(db, collName, cluster); }; return $config; |