I am fairly confident that a switchover hasn't happened in quite some time (I will have to work through this massive log to get a definitive answer).
We do a daily snapshot of a secondary that has us doing a balancer pause, then a fsynclock on the node, followed by the backup. It appears that the problem occured at the end of that backup when we issued the fsyncunlock request. (it was locked for less than 3 hours).
From the problem member:
ROLLBACK> rs.status()
{
"set" : "rs_shard1",
"date" : ISODate("2013-04-28T19:41:33Z"),
"myState" : 9,
"syncingTo" : "proddb1c.remainder_of_address:27017",
"members" : [
{
"_id" : 0,
"name" : "proddb1a.remainder_of_address:27017",
"health" : 1,
"state" : 9,
"stateStr" : "ROLLBACK",
"optime" : {
"t" : 1367150501000,
"i" : 31
},
"optimeDate" : ISODate("2013-04-28T12:01:41Z"),
"self" : true
},
{
"_id" : 1,
"name" : "proddb1b.remainder_of_address:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 1946196,
"optime" : {
"t" : 1367178092000,
"i" : 61
},
"optimeDate" : ISODate("2013-04-28T19:41:32Z"),
"lastHeartbeat" : ISODate("2013-04-28T19:41:33Z"),
"pingMs" : 1
},
{
"_id" : 2,
"name" : "proddb1c.remainder_of_address:27017",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 1946196,
"optime" : {
"t" : 1367178092000,
"i" : 30
},
"optimeDate" : ISODate("2013-04-28T19:41:32Z"),
"lastHeartbeat" : ISODate("2013-04-28T19:41:32Z"),
"pingMs" : 0
}
],
"ok" : 1
}
From the current primary:
PRIMARY> rs.status()
{
"set" : "rs_shard1",
"date" : ISODate("2013-04-28T19:42:49Z"),
"myState" : 1,
"syncingTo" : "proddb1c.remainder_of_address:27017",
"members" : [
{
"_id" : 0,
"name" : "proddb1a.remainder_of_address:27017",
"health" : 1,
"state" : 9,
"stateStr" : "ROLLBACK",
"uptime" : 1946284,
"optime" : {
"t" : 1367150501000,
"i" : 31
},
"optimeDate" : ISODate("2013-04-28T12:01:41Z"),
"lastHeartbeat" : ISODate("2013-04-28T19:42:47Z"),
"pingMs" : 3,
"errmsg" : "rollback 2 FindCommonPoint"
},
{
"_id" : 1,
"name" : "proddb1b.remainder_of_address:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"optime" : {
"t" : 1367178169000,
"i" : 8
},
"optimeDate" : ISODate("2013-04-28T19:42:49Z"),
"self" : true
},
{
"_id" : 2,
"name" : "proddb1c.remainder_of_address:27017",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 1949313,
"optime" : {
"t" : 1367178167000,
"i" : 17
},
"optimeDate" : ISODate("2013-04-28T19:42:47Z"),
"lastHeartbeat" : ISODate("2013-04-28T19:42:47Z"),
"pingMs" : 0
}
],
"ok" : 1
}