Eu atualizei o módulo mongo pecl de 1.4.5 para 1.5.8. Este problema está resolvido.
Eu executo um Apache 2.2.22-13 com o módulo pecl "mongo 1.4.4". Ele se conecta a um cluster fragmentado do MongoDB 2.4.6.
Quando ocorre um stepDown, o módulo mongo parece permanecer no nó mongod que era o primário e diz: "PHP Erro fatal: exceção não capturada 'MongoCursorException' com mensagem 'node1.mongodb.cluster: 27017: servidor remoto fechou a conexão '...
Para estabelecer a conexão, eu tentei as duas maneiras a seguir:
$m = new MongoClient('mongodb://mongod0.mongodb.cluster, mongod1.mongodb.cluster, mongod2.mongodb.cluster, mongod3.mongodb.cluster', array("replicaSet" => "myrs"));
e
$m = new MongoClient('mongodb://mongos.mongodb.cluster', array("replicaSet" => "myrs"));
Depois de um stepDown, as duas formas apresentam a mesma mensagem de erro.
Com a primeira string de conexão, reiniciar o Apache é o suficiente para colocar as coisas de volta nos trilhos. Com o último, a reinicialização não: não recebo mais nenhuma mensagem de erro, mas os dados que devem vir do MongoDB ainda estão faltando.
Agradecemos antecipadamente
Greg.
Eu atualizei o módulo mongo pecl de 1.4.5 para 1.5.8. Este problema está resolvido.