sql >> Databáze >  >> NoSQL >> MongoDB

Závažná chyba MongoDB na černé listině

Od verze 1.4 ovladače MongoDB pro PHP zařadíme servery na „černou listinu“ až na minutu, pokud je nelze kontaktovat. Je to proto, abychom nezablokovali server připojeními, která by mohla vypršet. To se primárně provádí proto, abychom se ujistili, že v prostředí sady replik můžeme stále pokračovat pouze použitím jiného hostitele, ale samozřejmě, pokud máte pouze jeden počítač, je to trochu složitější.

Pokud používáte MongoLog, můžete velmi snadno zjistit, co se děje pod kapotou:

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

Tím se zobrazí vše, o co se řidič pokouší. Bylo by zajímavé vidět to první výpis, když se něco pokazí, a také jednou "uvízne" na černé listině.

Výše uvedené varování zmizí po 60 sekundách nebo po restartu softwaru vašeho webového serveru (nebo PHP-FPM, který používáte). Pokud si myslíte, že toto vysvětlení není správné, odešlete požadavek na chybu/funkci na http://jira. mongodb.org/browse/PHP



  1. Transakce 1 byla provedena v MongoDB

  2. mongodb:extrahujte časové razítko z ObjectID v dotazu json

  3. Odeberte pouze jeden dokument v MongoDB

  4. Ukládání System.Type pomocí MongoDb