我有一个3服务器replset,今天我在mongodb.log中发现了一些以前从未出现的奇怪消息:
2月20日星期五10:17:12 [rsSync]断言:10334:无效的BSONObj大小: -286331154(0xEEEEEEEE)第一个元素:_id:ObjectId(' 54d96ab42d46d5c91edf6651')0x588cb2 0x5077a1 0x8ba7f8 0x94572e 0x949e45 0x94c395 0x830411 0x82100b 0x821d85 0x8231d8 0x82439a 0x824820 0xaa4560 0x3ecf40683d 0x3ececd4f8d
/ opt / mongo / bin / mongod(_ZN5mongo11msgassertedEiPKc + 0x112)[0x588cb2] 的/ opt /蒙戈/ bin中/ mongod的(_ZNK5mongo7BSONObj14_assertInvalidEv + 0x471) [0x5077a1] / opt / mongo / bin / mongod(_ZNK5mongo7DiskLoc3objEv + 0xa8) [0x8ba7f8] / opt / mongo / bin / mongod [0x94572e] 的/ opt /蒙戈/ bin中/ mongod的(_ZN5mongo14_updateObjectsEbPKcRKNS_7BSONObjES2_bbbRNS_7OpDebugEPNS_11RemoveSaverE + 0x2b85) [0x949e45] 的/ opt /蒙戈/ bin中/ mongod的(_ZN5mongo13updateObjectsEPKcRKNS_7BSONObjES2_bbbRNS_7OpDebugE + 0x125) [0x94c395] 的/ opt /蒙戈/ bin中/ mongod的(_ZN5mongo21applyOperation_inlockERKNS_7BSONObjEb + 0xb81) [0x830411] 的/ opt /蒙戈/ bin中/ mongod的(_ZN5mongo11ReplSetImpl9syncApplyERKNS_7BSONObjE + 0x1fb) [0x82100b] 的/ opt /蒙戈/ bin中/ mongod的(_ZN5mongo11ReplSetImpl8syncTailEv + 0xce5) [0x821d85] 的/ opt /蒙戈/ bin中/ mongod的(_ZN5mongo11ReplSetImpl11_syncThreadEv + 0xc8) [0x8231d8] 的/ opt /蒙戈/ bin中/ mongod的(_ZN5mongo11ReplSetImpl10syncThreadEv + 0x4a) [0x82439a] / opt / mongo / bin / mongod(_ZN5mongo15startSyncThreadEv + 0xa0) [0x824820] / opt / mongo / bin / mongod(thread_proxy + 0x80)[0xaa4560] /lib64/libpthread.so.0 [0x3ecf40683d] /lib64/libc.so.6(clone+0x6d) [0x3ececd4f8d] 2月20日星期五10:17:12 [rsSync] replSet syncTail:10334 无效的BSONObj大小:-286331154(0xEEEEEEEE)第一个元素:_id: ObjectId(' 54d96ab42d46d5c91edf6651'),同步:{ts:时间戳 1424343003000 | 76,h:-3506864587493877515,v:2,op:" u",ns: " gingko.docindex",o2:{_ id:ObjectId(' 54c220444a9d689b8ca0bb59')}, o:{$ set:{l:0}}}
当我发现这些时,mongo版本是1.4.9,然后我更新到2.6.7,并重新启动replset。之后,错误不断发生,mongod进程退出。
表" gingko.docindex"拥有1.2亿条记录,阅读重,写得不那么沉重。顺便说一下,同步时另一个奴隶就可以了,整个复制品都是在3年前建成的。2015-02-20T11:05:11.962 + 0800 [repl writer worker 1]断言: 10334:BSONObj大小:-286331154(0xEEEEEEEE)无效。大小必须是 介于0和16793600之间(16MB)第一个元素:_id: ObjectId(' 54d96ab42d46d5c91edf6651')2015-02-20T11:05:11.972 + 0800 [repl writer worker 1] gingko.docindex 0x11fd1b1 0x119efa9 0x1183b56 0x11840ac 0x77402b 0xf02038 0xd34f4d 0xc4d1e9 0xc58f46 0xc47be7 0xe5684b 0xeba03e 0xeba950 0x119284e 0x1241b49 0x3ecf40683d 0x3ececd4f8d mongod(_ZN5mongo15printStackTraceERSo + 0x21)[0x11fd1b1] mongod(_ZN5mongo10logContextEPKc + 0x159)[0x119efa9] mongod(_ZN5mongo11msgassertedEiPKc + 0xe6)[0x1183b56] mongod [0x11840ac] mongod(_ZNK5mongo7BSONObj14_assertInvalidEv + 0x41b) [0x77402b] mongod(_ZNK5mongo7DiskLoc3objEv + 0x68)[0xf02038] 的mongod(_ZN5mongo12IDHackRunner7getNextEPNS_7BSONObjEPNS_7DiskLocE + 0x33d) [0xd34f4d] 的mongod(_ZN5mongo6updateERKNS_13UpdateRequestEPNS_7OpDebugEPNS_12UpdateDriverEPNS_14CanonicalQueryE + 0x9a9) [0xc4d1e9] mongod(_ZN5mongo14UpdateExecutor7executeEv + 0x66) [0xc58f46] 的mongod(_ZN5mongo6updateERKNS_13UpdateRequestEPNS_7OpDebugE + 0×27) [0xc47be7] 的mongod(_ZN5mongo21applyOperation_inlockERKNS_7BSONObjEbb + 0x199b) [0xe5684b] 的mongod(_ZN5mongo7replset8SyncTail9syncApplyERKNS_7BSONObjEb + 0x4fe) [0xeba03e] 的mongod(_ZN5mongo7replset14multiSyncApplyERKSt6vectorINS_7BSONObjESaIS2_EEPNS0_8SyncTailE +为0x50) [0xeba950] mongod(_ZN5mongo10threadpool6Worker4loopEv + 0x19e) [0x119284e] mongod [0x1241b49] /lib64/libpthread.so.0 [0x3ecf40683d] /lib64/libc.so.6(clone+0x6d)[0x3ececd4f8d] 2015-02-20T11:05:11.972 + 0800 [repl writer worker 1]错误:作家 worker发现异常:::由:: 10334引起的BSONObj大小: -286331154(0xEEEEEEEE)无效。大小必须介于0和16793600之间(16MB)第一个元素:_id: ObjectId(' 54d96ab42d46d5c91edf6651')on:{ts:Timestamp 1424343003000 | 76,h:-3506864587493877515,v:2,op:" u",ns: " gingko.docindex",o2:{_ id:ObjectId(' 54c220444a9d689b8ca0bb59')}, o:{$ set:{l:0}}} 2015-02-20T11:05:11.972 + 0800 [repl writer worker 1] Fatal Assertion 16360 2015-02-20T11:05:11.972 + 0800 [repl 作家工人1] ***在fassert()失败后中止
我为此搜索了很多,但没有得到任何类似的问题,任何人都可以给出任何建议吗?非常感谢!
lvzheng