MongoDB主副本集成员同步到辅助副本集

MongoDB主副本集成员同步到辅助副本集,mongodb,replication,Mongodb,Replication,我有一个副本集,有三个成员,其中host0:27100为主要成员。最近我更改了配置,并将host2:27102作为主要成员。跟踪文档 更改配置后,rs.status()输出表明host1:27101是“syncingTo”:“host2:27102”,这是预期的 但是新的主host2:27102的输出显示它是的“syncingTo”:“host0:27100”,它是以前的主成员,并已更改为次成员 我不明白为什么它会同步到次要成员。这是正常的行为吗 s0:SECONDARY> rs.stat

我有一个副本集,有三个成员,其中
host0:27100
为主要成员。最近我更改了配置,并将
host2:27102
作为主要成员。跟踪文档

更改配置后,
rs.status()
输出表明
host1:27101
“syncingTo”:“host2:27102”
,这是预期的

但是新的主
host2:27102
的输出显示它是
的“syncingTo”:“host0:27100”
,它是以前的主成员,并已更改为次成员

我不明白为什么它会同步到次要成员。这是正常的行为吗

s0:SECONDARY> rs.status()
{
        "set" : "s0",
        "date" : ISODate("2013-09-25T12:31:42Z"),
        "myState" : 2,
        "syncingTo" : "host2:27102",
        "members" : [
                {
                        "_id" : 0,
                        "name" : "host0:27100",
                        "health" : 1,
                        "state" : 2,
                        "stateStr" : "SECONDARY",
                        "uptime" : 428068,
                        "optime" : Timestamp(1380112272, 1),
                        "optimeDate" : ISODate("2013-09-25T12:31:12Z"),
                        "self" : true
                },
                {
                        "_id" : 1,
                        "name" : "host1:27101",
                        "health" : 1,
                        "state" : 2,
                        "stateStr" : "SECONDARY",
                        "uptime" : 397,
                        "optime" : Timestamp(1380112272, 1),
                        "optimeDate" : ISODate("2013-09-25T12:31:12Z"),
                        "lastHeartbeat" : ISODate("2013-09-25T12:31:42Z"),
                        "lastHeartbeatRecv" : ISODate("2013-09-25T12:31:41Z"),
                        "pingMs" : 10,
                        "syncingTo" : "host2:27102"
                },
                {
                        "_id" : 2,
                        "name" : "host2:27102",
                        "health" : 1,
                        "state" : 1,
                        "stateStr" : "PRIMARY",
                        "uptime" : 397,
                        "optime" : Timestamp(1380112272, 1),
                        "optimeDate" : ISODate("2013-09-25T12:31:12Z"),
                        "lastHeartbeat" : ISODate("2013-09-25T12:31:42Z"),
                        "lastHeartbeatRecv" : ISODate("2013-09-25T12:31:41Z"),
                        "pingMs" : 2,
                        "syncingTo" : "host0:27100"
                }
        ],
        "ok" : 1
}

这是一个众所周知的问题。如果当前主服务器在过去是次服务器(),则在从次服务器运行时,有一个关于rs.status()的开放票证显示主服务器为syncingTo。Fix verion is 2.5.1这是一个已知问题。如果当前主服务器在过去是次服务器(),则在从次服务器运行时,有一个关于rs.status()的开放票证显示主服务器为syncingTo。修正版本是2.5.1