summaryrefslogtreecommitdiff
path: root/jstests/replsets/replset2.js
diff options
context:
space:
mode:
authorRandolph Tan <randolph@10gen.com>2014-03-03 11:27:18 -0500
committerRandolph Tan <randolph@10gen.com>2014-03-14 12:05:05 -0400
commiteb41492c6f1228077b92239524e4a607b70cd8e3 (patch)
treec90485d43753aa756063d0a6e8f67b8843931bba /jstests/replsets/replset2.js
parente44682821c37fdf3d4fd8cb58dcf5c34181ddbde (diff)
downloadmongo-eb41492c6f1228077b92239524e4a607b70cd8e3.tar.gz
SERVER-13190 migrate replset jstest suite to use write commands api
Diffstat (limited to 'jstests/replsets/replset2.js')
-rw-r--r--jstests/replsets/replset2.js84
1 files changed, 32 insertions, 52 deletions
diff --git a/jstests/replsets/replset2.js b/jstests/replsets/replset2.js
index 9588567ea50..b0302d1058f 100644
--- a/jstests/replsets/replset2.js
+++ b/jstests/replsets/replset2.js
@@ -2,10 +2,7 @@ load("jstests/replsets/rslib.js");
doTest = function (signal) {
- // FAILING TEST
- // See below:
-
- // Test replication with getLastError
+ // Test replication with write concern.
// Replica set testing API
// Create a new replica set test. Specify set name and the number of nodes you want.
@@ -34,37 +31,21 @@ doTest = function (signal) {
var slaves = replTest.liveNodes.slaves;
slaves.forEach(function (slave) { slave.setSlaveOk(); });
- var failed = false;
- var callGetLastError = function (w, timeout, db) {
- try {
- var result = master.getDB(db).getLastErrorObj(w, timeout);
- print("replset2.js getLastError result: " + tojson(result));
- if (result['ok'] != 1) {
- print("replset2.js FAILURE getlasterror not ok");
- failed = true;
- }
- }
- catch (e) {
- print("\nreplset2.js exception in getLastError: " + e + '\n');
- throw e;
- }
- }
-
- // Test getlasterror with multiple inserts
- // TEST FAILS HEREg
+ // Test write concern with multiple inserts.
print("\n\nreplset2.js **** Try inserting a multiple records -- first insert ****")
printjson(master.getDB("admin").runCommand("replSetGetStatus"));
- master.getDB(testDB).foo.insert({ n: 1 });
- master.getDB(testDB).foo.insert({ n: 2 });
- master.getDB(testDB).foo.insert({ n: 3 });
+ var bulk = master.getDB(testDB).foo.initializeUnorderedBulkOp();
+ bulk.insert({ n: 1 });
+ bulk.insert({ n: 2 });
+ bulk.insert({ n: 3 });
print("\nreplset2.js **** TEMP 1 ****")
printjson(master.getDB("admin").runCommand("replSetGetStatus"));
- callGetLastError(3, 25000, testDB);
+ assert.writeOK(bulk.execute({ w: 3, wtimeout: 25000 }));
print("replset2.js **** TEMP 1a ****")
@@ -80,11 +61,11 @@ doTest = function (signal) {
var s1 = slaves[1].getDB(testDB).foo.findOne({ n: 1 });
assert(s1['n'] == 1, "replset2.js Failed to replicate to slave 1 on multiple inserts");
- // Test getlasterror with a simple insert
+ // Test write concern with a simple insert
print("replset2.js **** Try inserting a single record ****")
master.getDB(testDB).dropDatabase();
- master.getDB(testDB).foo.insert({ n: 1 });
- callGetLastError(3, 10000, testDB);
+ var options = { writeConcern: { w: 3, wtimeout: 10000 }};
+ assert.writeOK(master.getDB(testDB).foo.insert({ n: 1 }, options));
m1 = master.getDB(testDB).foo.findOne({ n: 1 });
printjson(m1);
@@ -99,28 +80,27 @@ doTest = function (signal) {
// Test getlasterror with large insert
print("replset2.js **** Try inserting many records ****")
try {
- bigData = new Array(2000).toString()
- for (var n = 0; n < 1000; n++) {
- master.getDB(testDB).baz.insert({ n: n, data: bigData });
- }
- callGetLastError(3, 60000, testDB);
-
- print("replset2.js **** V1 ")
-
- var verifyReplication = function (nodeName, collection) {
- data = collection.findOne({ n: 1 });
- assert(data['n'] == 1, "replset2.js Failed to save to " + nodeName);
- data = collection.findOne({ n: 999 });
- assert(data['n'] == 999, "replset2.js Failed to save to " + nodeName);
- }
-
- print("replset2.js **** V2 ")
-
- verifyReplication("master", master.getDB(testDB).baz);
- verifyReplication("slave 0", slaves[0].getDB(testDB).baz);
- verifyReplication("slave 1", slaves[1].getDB(testDB).baz);
-
- assert(failed == false, "replset2.js Replication with getLastError failed. See errors.");
+ var bigData = new Array(2000).toString();
+ bulk = master.getDB(testDB).baz.initializeUnorderedBulkOp();
+ for (var n = 0; n < 1000; n++) {
+ bulk.insert({ n: n, data: bigData });
+ }
+ assert.writeOK(bulk.execute({ w: 3, wtimeout: 60000 }));
+
+ print("replset2.js **** V1 ")
+
+ var verifyReplication = function (nodeName, collection) {
+ data = collection.findOne({ n: 1 });
+ assert(data['n'] == 1, "replset2.js Failed to save to " + nodeName);
+ data = collection.findOne({ n: 999 });
+ assert(data['n'] == 999, "replset2.js Failed to save to " + nodeName);
+ };
+
+ print("replset2.js **** V2 ");
+
+ verifyReplication("master", master.getDB(testDB).baz);
+ verifyReplication("slave 0", slaves[0].getDB(testDB).baz);
+ verifyReplication("slave 1", slaves[1].getDB(testDB).baz);
}
catch(e) {
print("ERROR: " + e);
@@ -130,9 +110,9 @@ doTest = function (signal) {
printjson(slaves[0].getDB("local").oplog.rs.find().sort({"$natural": -1}).limit(1).next());
print("Slave 1 oplog findOne:");
printjson(slaves[1].getDB("local").oplog.rs.find().sort({"$natural": -1}).limit(1).next());
+ // TODO: SERVER-13203
}
-
replTest.stopSet(signal);
}