错误导致我的应用程序服务器崩溃,我似乎无法弄清楚导致问题的原因。我的应用程序是使用Meteor构建的,并托管在modulus.io上。这是我的应用程序日志:
Error: no chunks found for file, possibly corrupt
at /mnt/data/2/node_modules/mongodb/lib/mongodb/gridfs/gridstore.js:817:20
at /mnt/data/2/node_modules/mongodb/lib/mongodb/gridfs/gridstore.js:594:7
at /mnt/data/2/node_modules/mongodb/lib/mongodb/cursor.js:758:35
at Cursor.close (/mnt/data/2/node_modules/mongodb/lib/mongodb/cursor.js:989:5)
at Cursor.nextObject (/mnt/data/2/node_modules/mongodb/lib/mongodb/cursor.js:758:17)
at commandHandler (/mnt/data/2/node_modules/mongodb/lib/mongodb/cursor.js:727:14)
at /mnt/data/2/node_modules/mongodb/lib/mongodb/db.js:1916:9
at Server.Base._callHandler (/mnt/data/2/node_modules/mongodb/lib/mongodb/connection/base.js:448:41)
at /mnt/data/2/node_modules/mongodb/lib/mongodb/connection/server.js:481:18
at [object Object].MongoReply.parseBody (/mnt/data/2/node_modules/mongodb/lib/mongodb/responses/mongo_reply.js:68:5)
[2015-03-29T22:05:57.573Z] Application CRASH detected. Exit code 8.
答案 0 :(得分:0)
最有可能是mongo bug with gridfs(已修复)
从不同节点同时写入两个或多个不同的文件 使用GridStore.writeFile命令的进程会生成一些文件 没有正确写入(最终有许多损坏的文件 在gridstore中)。即使全部都使用损坏的文件结束 writeFile调用是成功的,没有错误的指示。 writeFile偶尔失败,错误“块乱序”,但是 这种情况很少发生(例如1个写入失败的writeFile为100 损坏的文件或更多)。
根据讨论中的评论,如果您要更新mongo(将删除gridfs文件,因为它们已损坏),问题将得到解决。
答案 1 :(得分:0)
Error: no chunks found for file, possibly corrupt
at /home/developer/rundir/node_modules/mongoose/node_modules/mongodb/lib/mongodb/gridfs/gridstore.js:808:20
at /home/developer/rundir/node_modules/mongoose/node_modules/mongodb/lib/mongodb/gridfs/gridstore.js:586:5
at /home/developer/rundir/node_modules/mongoose/node_modules/mongodb/lib/mongodb/collection/query.js:164:5
at /home/developer/rundir/node_modules/mongoose/node_modules/mongodb/lib/mongodb/cursor.js:778:35
我有类似的情况,但它最终在GFS读取流中寻找的文件实际上已被删除 - 所以在我的情况下,它没有被破坏,但已经消失了!以上是发生这种情况的日志。