Ошибка: не найдены фрагменты для файла с Mongo gridFS
Ошибка сервера моего приложения, и я не могу понять, что может быть причиной проблемы. Мое приложение построено с помощью 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.
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, был фактически удален - так что в моем случае он не был поврежден, но исчез! Выше находится журнал, когда это произошло.
Скорее всего это ошибка Монго с gridfs (была исправлена)
Запись двух или более разных файлов одновременно из разных процессов узлов с помощью команды GridStore.writeFile приводит к тому, что некоторые файлы записываются неправильно (в результате получается несколько поврежденных файлов в сеточном хранилище). Завершение работы с поврежденными файлами даже при успешном завершении всех вызовов writeFile и отсутствии признаков ошибки. Время от времени writeFile завершается ошибкой с ошибкой "чанки вышли из строя", но это происходит очень редко (что-то вроде 1 сбой writeFile для 100 поврежденных файлов или более).
На основании комментариев в обсуждении проблема будет исправлена, если вы обновите mongo (файлы gridfs должны быть удалены, так как они повреждены).