[SERVER-15478] Multiple db.fsyncLock() causes unlockable state Created: 01/Oct/14  Updated: 01/Oct/14  Resolved: 01/Oct/14

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: 2.2.1
Fix Version/s: None

Type: Bug Priority: Minor - P4
Reporter: Marius Cotofana Assignee: Unassigned
Resolution: Cannot Reproduce Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Operating System: ALL
Steps To Reproduce:

1. connect to replicaset member console
2. run db.fsyncLock()
3. run db.fyncLock() again

Participants:

 Description   

Double run db.fsyncLock() on a member in replica set causes permanent lock. You can't use db.fyncUnlock() to revert.

Also, it wold be useful to have a db.fsyncCheck() command.



 Comments   
Comment by Scott Hernandez (Inactive) [ 01/Oct/14 ]

I cannot reproduce this on newer versions. MongoDB 2.2.1 is very old and no longer updated (or really supported) so we would need to be able to reproduce this on a current stable release in order to address it.

db.fsyncLock()
{
	"info" : "now locked against writes, use db.fsyncUnlock() to unlock",
	"seeAlso" : "http://dochub.mongodb.org/core/fsynccommand",
	"ok" : 1
}
db.fsyncLock()
{
	"info" : "now locked against writes, use db.fsyncUnlock() to unlock",
	"seeAlso" : "http://dochub.mongodb.org/core/fsynccommand",
	"ok" : 1
}
db.currentOp()
{
	"inprog" : [ ],
	"fsyncLock" : true,
	"info" : "use db.fsyncUnlock() to terminate the fsync write/snapshot lock"
}
db.a.findOne()
{ "_id" : "ts", "_class" : "foo", "ts" : Timestamp(1411565260, 1) }
db.fsyncUnlock()
{ "ok" : 1, "info" : "unlock completed" }
db.fsyncUnlock()
{ "ok" : 1, "info" : "unlock completed" }
db.fsyncUnlock()
{ "ok" : 0, "errmsg" : "not locked" }

NOTE: currentOp has a flag indicating if the server is currently fsyncLocked.

Generated at Thu Feb 08 03:38:08 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.