My rs.status() output:
PRIMARY> rs.status()
{
"set" : "test",
"date" : ISODate("2012-09-25T11:20:42Z"),
"myState" : 1,
"members" : [
{
"_id" : 0,
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 64575,
"optime" : {
"t" : 1348572042000,
"i" : 8
},
"optimeDate" : ISODate("2012-09-25T11:20:42Z"),
"lastHeartbeat" : ISODate("2012-09-25T11:20:42Z"),
"pingMs" : 0
},
{
"_id" : 2,
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"optime" : {
"t" : 1348572042000,
"i" : 8
},
"optimeDate" : ISODate("2012-09-25T11:20:42Z"),
"self" : true
},
{
"_id" : 4,
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 64575,
"optime" : {
"t" : 1348557640000,
"i" : 7
},
"optimeDate" : ISODate("2012-09-25T07:20:40Z"),
"lastHeartbeat" : ISODate("2012-09-25T11:20:40Z"),
"pingMs" : 0
}
],
"ok" : 1
}
What I forgot to mention in my initial post is that the write does succeed immediately if I use
PRIMART> db.runCommand({getLastError: 1, w: 2})
It also completes if i change my getLastErrorMode to {"twoimportant": {"important": 1}} and use getLastError with w: "twoimportant".
Regards
Sebastian