Upgrade auf PyMongo 3.0, was zu ServerSelectionTimeoutError führt

9

Ich habe kürzlich eine Bottle + uWSGI + Nginx-Anwendung auf MongoDB 3.0.2 aktualisiert. Es funktionierte gut mit PyMongo 2.8, aber heute habe ich auf PyMongo 3.0 aktualisiert, indem ich folgenden Befehl ausgeführt habe:

%Vor%

Ich habe keine weiteren Änderungen am Code vorgenommen, aber jetzt erhalte ich den folgenden Fehler.

%Vor%

Die Funktion, die ich zur Verbindung mit der Datenbank verwende, ist die folgende:

%Vor%

Ich habe alle Server neu gestartet. Die statischen Seiten funktionieren gut, aber jede Seite, die versucht, die Datenbank zu erreichen, hängt und wirft den obigen Fehler auf. Wenn ich jedoch zu einer mongo -Shell oder einer Python-Shell gehe und den MongoDB-Server abfrage, funktioniert es einwandfrei.

%Vor%

Es scheint, als ob nur meine Anwendung den MongoDB-Server finden kann. Beachten Sie, dass ich eine virtuelle Umgebung verwende, falls dies die Situation in irgendeiner Weise beeinflusst. Außerdem, wenn ich zurück zu PyMongo 2.8 heruntergrade, funktioniert alles gut.

    
Juan Carlos Farah 16.04.2015, 01:41
quelle

5 Antworten

0

Es scheint das gleiche Problem zu sein wie in diese Frage , und dieser Fehler . Ich habe jedoch versucht, connect = False in der MongoClient () - Erstellung zu setzen, wie es dort vergeblich vorgeschlagen wurde. Derzeit scheint die einzige Lösung, die auf breiter Front zu funktionieren scheint, ein Downgrade auf 2.8 ( pip install pymongo==2.8 )

zu sein     
tdc 15.10.2015 15:55
quelle
0

Ich denke, das ist ein Duplikat dieser Frage .

>

Die Problemumgehung, um das Auslösen des Fehlers zu vermeiden, funktioniert gut (pass connect = False beim Erstellen von Instanzen von MongoClient). In pymongo Version 3.0.4 wird es eine deutlichere Warnung geben. und hoffentlich eine Lösung in den nächsten Versionen.

    
Florian 22.10.2015 14:00
quelle
-1

Könnte das mit diesem kritischen PyMomongo 3.0-Fehler bei der Verwendung von Mongos zusammenhängen? Wenn ja, haben sie eine Lösung für den Master-Zweig gefunden (siehe dieses Commit .)

    
Nicola Iarocci 16.04.2015 13:41
quelle
-1

EDITED:

Haben Sie Ihre mongodb-Protokolldatei überprüft? Ich denke, ich hatte das gleiche Problem wie du.

Ich habe das folgende Problem in / var / log / mongodb gefunden:

%Vor%

Im folgenden Post ist die Lösung für diesen Fehler: Warum wird Fehler mongod tot, aber subsys gesperrt und nicht genügend Speicherplatz für Journaldateien unter Linux?

Nun scheint mein Problem gelöst zu sein. Vielleicht haben Sie den gleichen Fehler und Sie müssen kleine Dateien verwenden, um zu arbeiten.

Beste Grüße.

    
wirerest8 18.04.2015 21:52
quelle
-1

Die Lösung für mich war überraschend; Ich habe dies an der Bash-Eingabeaufforderung eingegeben :

%Vor%

Dankeschön an diese Antwort . Es stellte sich heraus, dass es sich um ein Problem mit Apache-Berechtigungen handelte.

Hinweis: Ich verwende PyMongo 3.0, Python 2.6 und Mongo 2.4 auf CentOS 6.6. Ich habe einen geringfügig anderen Fehler, aber es war in der gleichen Zeile von PyMongo. Dies war das Ende meiner Stapelverfolgung:

%Vor%     
Josh 22.04.2015 17:34
quelle

Tags und Links