尝试使用mongorestore恢复fs.chunks集合(GridFS)时出现AssertionException

时间:2015-10-15 17:33:33

标签: mongodb gridfs mongorestore

mongorestore 无法恢复包含名为“fs.chunks”的集合的转储(由GridFS使用)。

看起来这个集合中的块太大了(~32MB)。

$ mongorestore <exportDataDestination>
...
Failed: my_db.fs.chunks: error restoring from my_dump/my_db/fs.chunks.bson:  insertion error: EOF

日志:

015-10-15T17:05:28.766+0000 I -        [conn36] Assertion: 10334:BSONObj size: 33545165 (0x1FFDBCD) is invalid. Size must be between 0 and 16793600(16MB) First element: insert: "fs.chunks"
2015-10-15T17:05:28.772+0000 I CONTROL  [conn36] 0x127b4a2 0x121c0e4 0x1208cd8 0x1208d8c 0x9754db 0xb6cde8 0x9c88bd 0xc63aa5 0xc662c0 0x9528ad 0x1228755 0x7f95c49d4182 0x7f95c470147d
----- BEGIN BACKTRACE -----
...
-----  END BACKTRACE  -----
2015-10-15T17:05:28.773+0000 I NETWORK  [conn36] AssertionException handling request, closing client connection: 10334 BSONObj size: 33545165 (0x1FFDBCD) is invalid. Size must be between 0 and 16793600(16MB) First element: insert: "fs.chunks"

你对如何告诉mongo有任何想法:

  • 选项1 :调整块大小
  • 选项2 :接受大于16MB的块

注意:

  • Mongo版本:3.1.9
  • 使用mongodump工具生成转储
  • 已成功恢复所有其他馆藏

1 个答案:

答案 0 :(得分:1)

据我所知,最新版mongodb有这个错误。开发人员建议使用以前版本的mongorestore。在3.0.8的版本中,3.2.0-rc1错误将被淘汰。

https://jira.mongodb.org/browse/TOOLS-939