два web сервиса (две копии одного и того же сервиса), которые общаются с MongoDB: writeConcern: 1, readConcern: local, read preference: primary.
Клиент (браузер) шлет два последовательных запроса (второй ждет окончание первого). Первый запрос на запись, второй на чтение.
Может ли быть ситуация (не рассматриваем кейсы выбора нового лидера), когда второй запрос не получит изменения первого запроса? К примеру, как отработает в кейсе, когда первый запрос прилетит на первый web сервис, а второй - на второй?
Если ждет ответа, то такого не случится
а зачем 2 запроса? 1 не может вернуть что записал?
Можно, это следующий путь решения вопроса (более правильный). Скорее более академический вопрос у меня.
А клиенты не используют какую-то версию базы, которую используют при каждом запросе? Насколько я понимаю, там используется MVCC
Какая разница если у вас запросы не одновременные
Не может быть ситуации когда второй клиент ещё не обновил локальный номер версии, с которой он работает, к нему прилетел запрос на чтение и он прочитал информацию с использованием более старой версии? Не смог найти на официальных доках, как используется версия в операциях чтения
Mvcc работает на уровне базы а не клиента, ваш вопрос лишен смысла. И в лучшем случае вы сами менеджерите стейт в приложении, а значит знаете его поведение и должны суметь ответить на свой вопрос
А как-то клиентские сессии используют этот номер версии?
Вы путаете клиентскии сессии в приложении и сессии при работе с базой
https://www.mongodb.com/docs/manual/reference/read-concern/#real-time-order
Именно real time order читать? У меня другие параметры read / write concern
Обсуждают сегодня