2010-01-02 11:31:38 -05:00
|
|
|
// test the lock/unlock snapshotting feature a bit
|
|
|
|
|
|
2011-03-17 18:22:03 -04:00
|
|
|
x=db.runCommand({fsync:1,lock:1}); // not on admin db
|
2010-01-02 11:31:38 -05:00
|
|
|
assert(!x.ok,"D");
|
|
|
|
|
|
2011-03-17 18:22:03 -04:00
|
|
|
x=db.fsyncLock(); // uses admin automatically
|
2010-01-02 11:31:38 -05:00
|
|
|
|
|
|
|
|
assert(x.ok,"C");
|
|
|
|
|
|
2011-03-17 18:22:03 -04:00
|
|
|
y = db.currentOp();
|
2010-01-02 11:31:38 -05:00
|
|
|
assert(y.fsyncLock,"B");
|
|
|
|
|
|
2011-03-17 18:22:03 -04:00
|
|
|
z = db.fsyncUnlock();
|
2011-03-17 21:08:36 -04:00
|
|
|
assert( db.currentOp().fsyncLock == null, "A2" );
|
2010-01-02 11:31:38 -05:00
|
|
|
|
2011-03-17 21:08:36 -04:00
|
|
|
// make sure the db is unlocked
|
2010-01-05 10:48:26 -08:00
|
|
|
db.jstests_fsync.insert({x:1});
|
2011-03-17 21:08:36 -04:00
|
|
|
db.getLastError();
|
2010-01-02 11:31:38 -05:00
|
|
|
|
2011-03-17 18:22:03 -04:00
|
|
|
assert( db.currentOp().fsyncLock == null, "A" );
|
2010-01-02 11:31:38 -05:00
|
|
|
|