diff options
Diffstat (limited to 'jstests/sharding/mongos_validate_backoff.js')
-rw-r--r-- | jstests/sharding/mongos_validate_backoff.js | 86 |
1 files changed, 43 insertions, 43 deletions
diff --git a/jstests/sharding/mongos_validate_backoff.js b/jstests/sharding/mongos_validate_backoff.js index ef057c04ef2..f78dae0677e 100644 --- a/jstests/sharding/mongos_validate_backoff.js +++ b/jstests/sharding/mongos_validate_backoff.js @@ -1,60 +1,60 @@ -// Ensures that single mongos shard-key errors are fast, but slow down when many are triggered +// Ensures that single mongos shard-key errors are fast, but slow down when many are triggered (function() { -'use strict'; + 'use strict'; -var st = new ShardingTest({ shards : 1, mongos : 1 }); + var st = new ShardingTest({shards: 1, mongos: 1}); -var mongos = st.s0; -var admin = mongos.getDB("admin"); -var coll = mongos.getCollection("foo.bar"); + var mongos = st.s0; + var admin = mongos.getDB("admin"); + var coll = mongos.getCollection("foo.bar"); -assert.commandWorked(admin.runCommand({ enableSharding : coll.getDB() + "" })); + assert.commandWorked(admin.runCommand({enableSharding: coll.getDB() + ""})); -coll.ensureIndex({ shardKey : 1 }); -assert.commandWorked(admin.runCommand({ shardCollection : coll + "", key : { shardKey : 1 } })); + coll.ensureIndex({shardKey: 1}); + assert.commandWorked(admin.runCommand({shardCollection: coll + "", key: {shardKey: 1}})); -var timeBadInsert = function() { - var start = new Date().getTime(); + var timeBadInsert = function() { + var start = new Date().getTime(); - // Bad insert, no shard key - assert.writeError(coll.insert({ hello : "world" })); + // Bad insert, no shard key + assert.writeError(coll.insert({hello: "world"})); - var end = new Date().getTime(); + var end = new Date().getTime(); - return end - start; -}; + return end - start; + }; -// We need to work at least twice in order to check resetting the counter -var successNeeded = 2; -var success = 0; + // We need to work at least twice in order to check resetting the counter + var successNeeded = 2; + var success = 0; -// Loop over this test a few times, to ensure that the error counters get reset if we don't have -// bad inserts over a long enough time. -for (var test = 0; test < 5; test++) { - var firstWait = timeBadInsert(); - var lastWait = 0; + // Loop over this test a few times, to ensure that the error counters get reset if we don't have + // bad inserts over a long enough time. + for (var test = 0; test < 5; test++) { + var firstWait = timeBadInsert(); + var lastWait = 0; - for(var i = 0; i < 20; i++) { - printjson(lastWait = timeBadInsert()); - } - - // As a heuristic test, we want to make sure that the error wait after sleeping is much less - // than the error wait after a lot of errors. - if (lastWait > firstWait * 2 * 2) { - success++; - } - - if (success >= successNeeded) { - break; - } + for (var i = 0; i < 20; i++) { + printjson(lastWait = timeBadInsert()); + } - // Abort if we've failed too many times - assert.lt(test, 4); + // As a heuristic test, we want to make sure that the error wait after sleeping is much less + // than the error wait after a lot of errors. + if (lastWait > firstWait * 2 * 2) { + success++; + } - // Sleeping for long enough to reset our exponential counter - sleep(3000); -} + if (success >= successNeeded) { + break; + } + + // Abort if we've failed too many times + assert.lt(test, 4); + + // Sleeping for long enough to reset our exponential counter + sleep(3000); + } -st.stop(); + st.stop(); })(); |