У нас есть два сервера для серверов MongoDB, один является основным, другой настроен как реплика.
Мы используем PHP для массовой записи списка обновлений MongoDB.Из журналов сервера мы делаем небольшое количество исключений «ожидания истечения времени ожидания репликации» в журналах нашего сервера.
- В чем может быть причина исключения?Сеть между двумя серверами стабильна.
- Когда мы получаем исключение «ожидание истекло время ожидания репликации», мы можем предположить, что операция «Массовая запись» успешно обновила целевые документы на первичном сервере?
Основная часть записи PHP-кодов:
try {
$manager = new MongoDB\Driver\Manager("mongodb://" . DB_HOST);
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 10000);
$result = $manager->executeBulkWrite($DBName . '.' . $collection, $bulk, $writeConcern);
return $result;
} catch (Exception $ee) {
AppendToLogFile(ERROR_Internal_Error, 'Script:' . __FILE__ . ', LINE:' . __LINE__ . ',$ee:' . $ee->getMessage());
continue;
}
Спасибо!