MongoDB 2.4.8同步線程報(bào)錯(cuò):BSONObj size invalid

有次突然觀察到線上很多獲取圖片出現(xiàn)響應(yīng)碼500的錯(cuò)誤。由于歷史遺留原因,以前的圖片文件保存在MongoDB的GridFS里面。這次突然出現(xiàn)獲取圖片500的錯(cuò)誤,很有可能MongoDB出問(wèn)題了。

用mongo命令連接到PRIMARY節(jié)點(diǎn)上去查看副本集的狀態(tài),如下:

ptcupload:PRIMARY> db.version()
2.4.8
ptcupload:PRIMARY> rs.status()
{
    "set" : "ptcupload",
    "date" : ISODate("2016-04-11T15:56:08Z"),
    "myState" : 1,
    "members" : [
        {
            "_id" : 0,
            "name" : "ptcupload-mongodb-001:27018",
            "health" : 1,
            "state" : 1,
            "stateStr" : "PRIMARY",
            "uptime" : 6355878,
            "optime" : Timestamp(1460390155, 1),
            "optimeDate" : ISODate("2016-04-11T15:55:55Z"),
            "self" : true
        },
        {
            "_id" : 1,
            "name" : "ptcupload-mongodb-002:27018",
            "health" : 1,
            "state" : 2,
            "stateStr" : "SECONDARY",
            "uptime" : 45351,
            "optime" : Timestamp(1459863715, 2),
            "optimeDate" : ISODate("2016-04-05T13:41:55Z"),
            "lastHeartbeat" : ISODate("2016-04-11T15:56:08Z"),
            "lastHeartbeatRecv" : ISODate("2016-04-11T15:56:08Z"),
            "pingMs" : 0,
            "lastHeartbeatMessage" : "syncThread: 10334 BSONObj size: 1853163520 (0x0008756E) is invalid. Size must be between 0 and 16793600(16MB) First element: que: ?type=105",
            "syncingTo" : "ptcupload-mongodb-001:27018"
        },
        {
            "_id" : 2,
            "name" : "ptcupload-mongodb-003:37018",
            "health" : 1,
            "state" : 7,
            "stateStr" : "ARBITER",
            "uptime" : 5992973,
            "lastHeartbeat" : ISODate("2016-04-11T15:56:07Z"),
            "lastHeartbeatRecv" : ISODate("2016-04-11T15:56:07Z"),
            "pingMs" : 0
        }
    ],
    "ok" : 1
}

整個(gè)副本集由一個(gè)PRIMARY、一個(gè)SECONDARY和一個(gè)ARBITER節(jié)點(diǎn)組成。從上面輸出的副本集狀態(tài)可以看到SECONDARY節(jié)點(diǎn)同步出現(xiàn)了問(wèn)題:

"lastHeartbeatMessage" : "syncThread: 10334 BSONObj size: 1853163520 (0x0008756E) is invalid. Size must be between 0 and 16793600(16MB) First element: que: ?type=105"

還觀察到SECONDARY節(jié)點(diǎn)的uptime為45351秒(12.59小時(shí)),遠(yuǎn)小于PRIMARY節(jié)點(diǎn)的uptime. 由此,懷疑12.59小時(shí)前SECONDARY節(jié)點(diǎn)宕機(jī)自動(dòng)重啟過(guò)。

我司MongoDB數(shù)據(jù)庫(kù)有專門(mén)的數(shù)據(jù)庫(kù)管理員管理,我們業(yè)務(wù)使用方?jīng)]有查看服務(wù)器相關(guān)日志的權(quán)限,因此不方便調(diào)查故障原因。不過(guò),對(duì)于這種情況,有一種修復(fù)辦法,即將有問(wèn)題的SECONDARY節(jié)點(diǎn)撤掉,重新加一個(gè)新的SECONDARY節(jié)點(diǎn)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Replica Set功能 1, Replica Set是指一組服務(wù)器的集群,其中有一個(gè)主服務(wù)器,用于處理用戶的請(qǐng)...
    持續(xù)進(jìn)步者閱讀 4,007評(píng)論 2 10
  • 背景: 閱讀新聞 12C CDB模式下RMAN備份與恢復(fù) [日期:2016-11-29] 來(lái)源:Linux社區(qū) 作...
    陽(yáng)屯okyepd閱讀 3,846評(píng)論 0 7
  • 剛接觸MongoDB,就要用到它的集群,只能硬著頭皮短時(shí)間去看文檔和嘗試自行搭建。遷移歷史數(shù)據(jù)更是讓人惱火,近10...
    davidpp閱讀 51,910評(píng)論 9 78
  • 老夫子的思路永遠(yuǎn)在禮的道路上一去不復(fù)返,在他看來(lái),學(xué)會(huì)文化知識(shí),如果沒(méi)有禮儀的約束,人仍然還是有原始性的;只有約束...
    海水藍(lán)閱讀 234評(píng)論 0 0
  • 01 從夢(mèng)境中醒來(lái)的時(shí)候,混沌中透過(guò)窗簾看見(jiàn)窗外熹微的光。 聽(tīng)到耳旁均勻的呼吸聲,顧晚微微偏頭看向身側(cè),借著微弱的...
    時(shí)挽閱讀 934評(píng)論 2 7

友情鏈接更多精彩內(nèi)容