我开始看到这在我的MongoDB生产数据库日志MongoDB的断言错误
ns:my_app_production.artists query:{ $query: {}, $orderby: { semester: 1, name: 1 } }
Wed Jul 25 19:20:59 [conn199] Assertion: 10334:Invalid BSONObj spec size: -286331154 (EEEEEEEE) first element:_id: "agelio-batle"
Wed Jul 25 19:20:59 [conn199] assertion 10334 Invalid BSONObj spec size: -286331154 (EEEEEEEE) first element:_id: "agelio-batle"
开始我尝试运行修复
mongo --repair
...
Wed Jul 25 22:20:39 [initandlisten] Assertion: 10334:Invalid BSONObj spec size: -286331154 (EEEEEEEE) first element:_id: "agelio-batle"
0x467eaa 0x4183ca 0x62dd82 0x643478 0x532b22 0x64d196 0x6578b7 0x65ac31 0x65cd75 0x65d6d9 0x51a419 0x6195f5 0x61b0c5 0x61bd3d 0x4914c8 0x47ad9a 0x5e2e7c 0x5e60b9 0x5e78ad 0x6346a2
[0x467eaa]
# several more what i assume memory addresses omitted
[0x6346a2]
Wed Jul 25 22:20:39 [initandlisten] assertion 10334 Invalid BSONObj spec size: -286331154 (EEEEEEEE) first element:_id: "agelio-batle" ns:my_app_production.artists query:{}
Wed Jul 25 22:20:39 [initandlisten] exception in initAndListen std::exception: nextSafe(): { $err: "Invalid BSONObj spec size: -286331154 (EEEEEEEE) first element:_id: "a...", code: 10334 }, terminating
Wed Jul 25 22:20:39 dbexit:
...
我也尝试从相同的结果蒙戈shell中运行db.repairDatabase();
。
我从来没有见过这个。通常用mongodb修复可以修复大多数问题,所以我不知道如何继续或解决这个问题。有任何想法吗?
每当文档被删除时,大小将被设置为0xEEEEEEEE。查询使用的索引可能无法正确更新,并且指向此已删除的记录。修复应该已经解决了这个问题,但是你可以尝试重建索引吗?如果这仍然没有帮助,你会介意创建服务器票证(https://jira.mongodb.org/secure/CreateIssue!default.jspa)吗?如果您可以提供相关的数据文件,它也将非常有帮助。 – Ren 2012-07-26 15:19:19
所以在转储/恢复和几次修复尝试后,我仍然有同样的问题。我对提交票据感到相当恐惧,所以我把它留下来,但我上传了涉及该问题所需的所有文件(我希望)https://jira.mongodb.org/browse/SERVER-6617 – brewster 2012-07-27 04:54:15