2017-07-16 2 views
0

J'ai récemment migré vers un serveur Mongo qui s'exécute sur une machine CentOS Google Cloud que j'ai configurée moi-même (le service Mongo a démarré avec systemct). Auparavant, je courais ma base de données mongo soit localement, ou via un serveur hébergé par mlab.Le serveur MongoDB permet de temporiser

Tout fonctionne correctement, sauf que mon client continue d'obtenir des erreurs d'exception StopIterator pour toute requête non triviale. Je ne les ai jamais rencontrés auparavant, que ce soit en local ou avec le serveur mlab. Y at-il un paramètre de délai d'attente sur le serveur que je devrais configurer? (les paramètres du délai d'expiration du client ne semblent pas affecter le problème)

+0

Avez-vous la même connexion via la coque Mongo? Avez-vous essayé de regarder votre journal de Mongo pour voir s'il indique des problèmes? – Kdawg

+0

Je ne peux pas repro en utilisant le CLI. Bit il y a un problème évident quand je jette toutes les requêtes comme ceci (à peu près au point dans la requête où l'erreur de timeout se produit dans mon code python). Donc, je suppose que le délai d'attente est en train de se produire, mais il se rétablit automatiquement? – griffin2000

+0

Rien d'évident dans les journaux: "2017-07-16T21: 22: 04.905 + 0000 I RÉSEAU [conn3] connexion de fin 98.210.207.17:64084 (2 connexions maintenant ouvertes)", "2017-07-16T21: 22: 04.965 + 0000 I RÉSEAU [conn4] connexion de fin 98.210.207.17:64086 (1 connexion maintenant ouverte) ", " 2017-07-16T21: 22: 10.037 + 0000 I RÉSEAU [initandlisten] connexion acceptée à partir de 98.210.207.17:49167 # 6 (2 connexions maintenant ouvertes) ", " 2017-07-16T21: 22: 11.457 + 0000 I RÉSEAU [initandlisten] connexion acceptée de 98.210.207.17:49170 # 7 (3 connexions maintenant ouvertes) " – griffin2000

Répondre

0

J'ai donc (en quelque sorte) répondu à ma question. La raison pour laquelle mon application cliente était en train de mourir était que j'utilisais le débogueur Visual Studio. Cela attirait le StopIterator et l'affirmait, même si (je pense) l'exception StopIterator était gérée par la bibliothèque pymongo qui réessaie et continue avec succès. Si je désactive cette exception StopIterator dans la section "Exceptions Python" du panneau "Paramètres d'exception" de VisualStudio, mon code client continuera et se terminera correctement. Cela dit, je suis sûr que cela ne se produisait pas avant d'installer mon propre serveur Mongo (ainsi que l'assertion dans VS il y a un problème notable quand cette exception se produit, à la fois dans mon code python et dans la commande mongo client de ligne). Donc, je crois toujours qu'il y a quelque chose que je fais de mal avec la façon dont j'ai configuré mon serveur Mongo, donc toutes les suggestions seraient les bienvenues!