Уточнение транзакций MongoDB - PullRequest
0 голосов
/ 28 мая 2020

Итак, начиная с версии 4.0 MongoDB поддерживает многодокументные транзакции, и я не могу найти ответа на следующее. Если у меня есть набор реплик, состоящий из ПЕРВИЧНОГО и ВТОРИЧНОГО экземпляров на ЖЕСТКОМ сервере, что произойдет, если произойдет неожиданное завершение работы на сервере или на экземплярах MongoDB, пока выполняется транзакция (например, сервер выключается посередине сделки)? Что произойдет с данными после завершения работы и после того, как я снова запущу экземпляры MongoDB? Я попытался воспроизвести это там, где в середине транзакции мой код выполняет сценарий терминала, чтобы остановить обе службы mongodb, но я чувствую, что есть лучший способ воспроизвести этот сценарий. Результаты этого теста неубедительны. Заранее спасибо !!!

1 Ответ

1 голос
/ 28 мая 2020

Если серверный процесс умирает во время выполнения транзакций, при повторном запуске процесса он должен go выполнить эти транзакции и прервать их. Любые данные, записанные в рамках этих транзакций, будут отброшены.

...