MongoDB: mongoimport perd la connexion lors de l'importation de gros fichiers

J'ai quelques difficultés pour l'importation d'un fichier JSON à un local MongoDB instance. Le JSON a été généré à l'aide de mongoexport et ressemble à ceci. Pas de tableaux, pas de hardcore de nidification:

{"_created":{"$date":"2015-10-20T12:46:25.000Z"},"_etag":"7fab35685eea8d8097656092961d3a9cfe46ffbc","_id":{"$oid":"562637a14e0c9836e0821a5e"},"_updated":{"$date":"2015-10-20T12:46:25.000Z"},"body":"base64 encoded string","sender":"[email protected]","type":"answer"}
{"_created":{"$date":"2015-10-20T12:46:25.000Z"},"_etag":"7fab35685eea8d8097656092961d3a9cfe46ffbc","_id":{"$oid":"562637a14e0c9836e0821a5e"},"_updated":{"$date":"2015-10-20T12:46:25.000Z"},"body":"base64 encoded string","sender":"[email protected]","type":"answer"}

Si je importer un 9MB fichier ~300 lignes, il n'y a pas de problème:

[stekhn latest]$ mongoimport -d mietscraping -c mails mails-small.json 
2015-11-02T10:03:11.353+0100    connected to: localhost
2015-11-02T10:03:11.372+0100    imported 240 documents

Mais si vous essayez d'importer un 32 MO de fichiers avec ~1300 lignes, l'importation échoue:

[stekhn latest]$ mongoimport -d mietscraping -c mails mails.json 
2015-11-02T10:05:25.228+0100    connected to: localhost
2015-11-02T10:05:25.735+0100    error inserting documents: lost connection to server
2015-11-02T10:05:25.735+0100    Failed: lost connection to server
2015-11-02T10:05:25.735+0100    imported 0 documents

Voici le log:

2015-11-02T11:53:04.146+0100 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:45237 #21 (6 connections now open)
2015-11-02T11:53:04.532+0100 I -        [conn21] Assertion: 10334:BSONObj size: 23592351 (0x167FD9F) is invalid. Size must be between 0 and 16793600(16MB) First element: insert: "mails"
2015-11-02T11:53:04.536+0100 I NETWORK  [conn21] AssertionException handling request, closing client connection: 10334 BSONObj size: 23592351 (0x167FD9F) is invalid. Size must be between 0 and 16793600(16MB) First element: insert: "mails"

J'ai entendu parler de la 16 MO de limite pour BFILS documents avant, mais depuis pas de ligne dans mon fichier JSON est plus grand que 16 MO, ce ne devrait pas être un problème, non? Quand je fais exactement le même (32 MO) importer mon ordinateur en local, tout fonctionne bien.

Les idées de ce que pourrait provoquer ce comportement bizarre?

  • Probablement la peine de poster les logs à partir de l'instance de partout dans le timestamp où la connexion a été perdue (il pouvait vraiment être n'importe quoi, sur la base des conclusions ci-dessus).
  • à essayer si il fait la différence: mongoimport -d mietscraping -c mails < mails.json
  • utilisez-vous mongoexport pour exporter vos e-mails.json ?
  • Oui, j'utilise mongoexport et non, malheureusement mails < mails.json renvoie la même erreur.
InformationsquelleAutor stekhn | 2015-11-02