sql >> Base de Datos >  >> NoSQL >> MongoDB

Error fatal en la lista negra de MongoDB

Desde las versiones 1.4 del controlador MongoDB para PHP, incluiremos servidores en la "lista negra" durante un minuto si no se puede contactar con ellos. Esto es para que no golpeemos el servidor con conexiones, lo que podría agotar el tiempo de espera. Esto se hace principalmente para asegurarse de que en un entorno de conjunto de réplicas podamos seguir utilizando simplemente otro de los hosts, pero, por supuesto, si solo tiene una máquina, esto es un poco más complicado.

Si usa MongoLog, puede detectar muy fácilmente lo que sucede debajo del capó:

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

Esto mostrará todo lo que el controlador está tratando de hacer. Sería interesante ver el primero volcado de cuando algo sale mal, y también por una vez está "atascado" en la lista negra.

La advertencia anterior desaparecerá después de 60 segundos, o al reiniciar el software de su servidor web (o PHP-FPM si lo usa). Si cree que esta explicación no es correcta, presente una solicitud de error/función en http://jira. mongodb.org/browse/PHP