1

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 的块

笔记:

  • 蒙戈版本:3.1.9
  • 转储是使用 mongodump 工具生成的
  • 所有其他集合都已成功恢复
4

1 回答 1

1

据我了解,在最新版本的 mongodb 中有此错误。开发人员建议使用以前版本的 mongorestore。在 3.0.8 的版本中,3.2.0-rc1 的 bug 被淘汰了。

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

于 2015-10-22T03:19:55.703 回答