summaryrefslogtreecommitdiff
path: root/jstests/sharding/group_slaveok.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/sharding/group_slaveok.js')
-rw-r--r--jstests/sharding/group_slaveok.js95
1 files changed, 50 insertions, 45 deletions
diff --git a/jstests/sharding/group_slaveok.js b/jstests/sharding/group_slaveok.js
index 0c7175f8fed..0d9221ed896 100644
--- a/jstests/sharding/group_slaveok.js
+++ b/jstests/sharding/group_slaveok.js
@@ -1,63 +1,68 @@
// Tests group using slaveOk
(function() {
-'use strict';
+ 'use strict';
-var st = new ShardingTest({ name: "groupSlaveOk",
- shards: 1,
- mongos: 1,
- other: { rs: true,
- rs0: { nodes: 2 } } });
+ var st = new ShardingTest(
+ {name: "groupSlaveOk", shards: 1, mongos: 1, other: {rs: true, rs0: {nodes: 2}}});
-var rst = st._rs[0].test;
+ var rst = st._rs[0].test;
-// Insert data into replica set
-var conn = new Mongo(st.s.host);
-conn.setLogLevel(3);
+ // Insert data into replica set
+ var conn = new Mongo(st.s.host);
+ conn.setLogLevel(3);
-var coll = conn.getCollection("test.groupSlaveOk");
-coll.drop();
+ var coll = conn.getCollection("test.groupSlaveOk");
+ coll.drop();
-var bulk = coll.initializeUnorderedBulkOp();
-for(var i = 0; i < 300; i++) {
- bulk.insert({ i: i % 10 });
-}
-assert.writeOK(bulk.execute());
+ var bulk = coll.initializeUnorderedBulkOp();
+ for (var i = 0; i < 300; i++) {
+ bulk.insert({i: i % 10});
+ }
+ assert.writeOK(bulk.execute());
-// Wait for client to update itself and replication to finish
-rst.awaitReplication();
+ // Wait for client to update itself and replication to finish
+ rst.awaitReplication();
-var primary = rst.getPrimary();
-var sec = rst.getSecondary();
+ var primary = rst.getPrimary();
+ var sec = rst.getSecondary();
-// Data now inserted... stop the master, since only two in set, other will still be secondary
-rst.stop(rst.getPrimary());
-printjson(rst.status());
+ // Data now inserted... stop the master, since only two in set, other will still be secondary
+ rst.stop(rst.getPrimary());
+ printjson(rst.status());
-// Wait for the mongos to recognize the slave
-ReplSetTest.awaitRSClientHosts(conn, sec, { ok: true, secondary: true });
+ // Wait for the mongos to recognize the slave
+ ReplSetTest.awaitRSClientHosts(conn, sec, {ok: true, secondary: true});
-// Need to check slaveOk=true first, since slaveOk=false will destroy conn in pool when
-// master is down
-conn.setSlaveOk();
+ // Need to check slaveOk=true first, since slaveOk=false will destroy conn in pool when
+ // master is down
+ conn.setSlaveOk();
-// Should not throw exception, since slaveOk'd
-assert.eq(10, coll.group({ key: { i: true } ,
- reduce: function(obj, ctx) { ctx.count += 1; },
- initial: { count: 0 } }).length);
+ // Should not throw exception, since slaveOk'd
+ assert.eq(10,
+ coll.group({
+ key: {i: true},
+ reduce: function(obj, ctx) {
+ ctx.count += 1;
+ },
+ initial: {count: 0}
+ }).length);
-try {
- conn.setSlaveOk(false);
- var res = coll.group({ key: { i: true },
- reduce: function(obj, ctx) { ctx.count += 1; },
- initial: { count: 0 } });
+ try {
+ conn.setSlaveOk(false);
+ var res = coll.group({
+ key: {i: true},
+ reduce: function(obj, ctx) {
+ ctx.count += 1;
+ },
+ initial: {count: 0}
+ });
- print("Should not reach here! Group result: " + tojson(res));
- assert(false);
-}
-catch(e){
- print("Non-slaveOk'd connection failed." + tojson(e));
-}
+ print("Should not reach here! Group result: " + tojson(res));
+ assert(false);
+ } catch (e) {
+ print("Non-slaveOk'd connection failed." + tojson(e));
+ }
-st.stop();
+ st.stop();
})();