【问题标题】:Error: No chunks found for a file with Mongo gridFS错误:没有找到带有 Mongo gridFS 的文件的块
【发布时间】:2015-03-29 22:26:14
【问题描述】:

一个错误使我的应用程序服务器崩溃,我似乎无法弄清楚是什么导致了这个问题。我的应用程序是用 Meteor 构建的,并托管在 modules.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.

【问题讨论】:

    标签: mongodb meteor gridfs modulus modulus.io


    【解决方案1】:

    很可能这是mongo bug with gridfs(已修复)

    同时从不同的节点写入两个或多个不同的文件 使用 GridStore.writeFile 命令的进程会生成一些文件 未正确写入(最终出现许多损坏的文件 在网格存储中)。即使所有文件都以损坏的文件告终 writeFile 调用成功并且没有错误指示。 writeFile 偶尔会因错误“块乱序”而失败,但 这种情况很少发生(例如 1 个失败的 writeFile for 100 损坏的文件或更多)。

    根据讨论中的 cmets,如果您更新 mongo,问题将得到解决(应删除 gridfs 文件,因为它们已损坏)。

    【讨论】:

      【解决方案2】:
      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 读取流中查找的文件实际上已被删除 - 所以在我的情况下,它并没有损坏,而是消失了!以上是那件事发生时的日志。

      【讨论】:

      • 好吧,你可以很容易地把它包装在一个“存在”检查中。
      猜你喜欢
      • 1970-01-01
      • 2011-06-21
      • 2014-04-21
      • 2023-01-10
      • 1970-01-01
      • 2012-01-24
      • 1970-01-01
      • 1970-01-01
      • 2020-07-28
      相关资源
      最近更新 更多