2013-09-25 55 views
1

我有一个副本集有三个成员,host0:27100作为主要成员。最近我改变了配置,并将host2:27102作为主要成员。跟随these文档。MongoDB主副本集成员同步到辅助节点

更改配置后,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 
} 

回答

1

这是一个已知问题。有一张关于rs.status()的公开票证,如果当前小学是过去的辅助小组(SERVER-9989),则从主要小组运行时显示主小组为syncingTo。修复版是2.5.1

相关问题