2013-12-23 17:38:57 -05:00
|
|
|
// Test that the "appendOplogNote" command works properly
|
|
|
|
|
|
2024-08-20 17:54:15 -04:00
|
|
|
import {ReplSetTest} from "jstests/libs/replsettest.js";
|
|
|
|
|
|
2013-12-23 17:38:57 -05:00
|
|
|
const rs = new ReplSetTest({name: "oplogNoteTest", nodes: 1});
|
|
|
|
|
rs.startSet();
|
|
|
|
|
rs.initiate();
|
|
|
|
|
|
2025-08-28 15:11:44 -04:00
|
|
|
let primary = rs.getPrimary();
|
2025-08-21 10:17:44 -07:00
|
|
|
var db = primary.getDB("admin");
|
2016-03-09 12:17:50 -05:00
|
|
|
db.foo.insert({a: 1});
|
2013-12-23 17:38:57 -05:00
|
|
|
|
|
|
|
|
// Make sure "optime" field gets updated
|
2025-08-28 15:11:44 -04:00
|
|
|
let statusBefore = db.runCommand({replSetGetStatus: 1});
|
2013-12-23 17:38:57 -05:00
|
|
|
assert.commandWorked(db.runCommand({appendOplogNote: 1, data: {a: 1}}));
|
2025-08-28 15:11:44 -04:00
|
|
|
let statusAfter = db.runCommand({replSetGetStatus: 1});
|
2018-03-13 15:38:09 -04:00
|
|
|
assert.lt(statusBefore.members[0].optime.ts, statusAfter.members[0].optime.ts);
|
2013-12-23 17:38:57 -05:00
|
|
|
|
|
|
|
|
// Make sure note written successfully
|
2025-08-28 15:11:44 -04:00
|
|
|
let op = db.getSiblingDB("local").oplog.rs.find().sort({$natural: -1}).limit(1).next();
|
2013-12-23 17:38:57 -05:00
|
|
|
assert.eq(1, op.o.a);
|
|
|
|
|
|
2015-05-13 11:44:27 -04:00
|
|
|
rs.stopSet();
|