2013-09-25 129 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

相關問題