(function() {
|
|
function getOplogLastApplied(node) {
|
return node.getDB("local").oplog.rs.find().sort(\{$natural: -1})[0]["ts"];
|
}
|
|
let rst = ReplSetTest(\{name: "funWithWrites", nodes: 2});
|
rst.startSet();
|
rst.initiate();
|
|
rst.awaitNodesAgreeOnPrimary();
|
let primary = rst.getPrimary();
|
let secondary = rst.getSecondary();
|
|
let primaryBefore = getOplogLastApplied(primary);
|
let secondaryBefore = getOplogLastApplied(secondary);
|
|
assert.eq(primaryBefore, secondaryBefore);
|
|
assert.writeOK(primary.getDB("test").w2write.insert(\{"a": 1}, \{w: 2}));
|
|
let primaryAfter = getOplogLastApplied(primary);
|
let secondaryAfter = getOplogLastApplied(secondary);
|
|
print("ts before write: " + primaryBefore);
|
print("ts after write: " + primaryAfter);
|
|
// Can fail
|
assert.eq(primaryAfter, secondaryAfter);
|
|
})();
|