MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Schwerwiegender Fehler von MongoDB auf der schwarzen Liste

Seit den Versionen 1.4 des MongoDB-Treibers für PHP setzen wir Server für bis zu einer Minute auf die schwarze Liste, wenn sie nicht erreichbar sind. Dies geschieht, damit wir den Server nicht mit Verbindungen belasten, die möglicherweise eine Zeitüberschreitung verursachen. Dies geschieht in erster Linie, um sicherzustellen, dass wir in einer Replikat-Set-Umgebung immer noch fortfahren können, indem wir einfach einen anderen der Hosts verwenden, aber wenn Sie nur eine Maschine haben, ist dies natürlich etwas kniffliger.

Wenn Sie MongoLog verwenden, können Sie sehr leicht erkennen, was unter der Haube passiert:

MongoLog::setModule(MongoLog::ALL);
MongoLog::setLevel(MongoLog::ALL);
MongoLog::setCallback('print_mongo_log');
function print_mongo_log($a, $b, $c) { echo $c, "\n"; }

Dies zeigt alles an, was der Treiber zu tun versucht. Es wäre interessant, den ersten zu sehen Dump, wenn etwas schief geht, und es bleibt auch einmal auf der schwarzen Liste hängen.

Die obige Warnung verschwindet nach 60 Sekunden oder nach dem Neustart Ihrer Webserver-Software (oder PHP-FPM, wenn Sie das verwenden). Wenn Sie der Meinung sind, dass diese Erklärung nicht korrekt ist, senden Sie bitte eine Fehler-/Funktionsanfrage unter http://jira. mongodb.org/browse/PHP