В 2PC, что происходит в случае неудачной фиксации? - PullRequest
0 голосов
/ 26 апреля 2018

В 2PC, что произойдет, если координатор попросит 3 участников принять решение, а второй не выполнит свою работу, не получив ответа от координатора.

Клиент приходит и запрашивает значение у второго узла, второй узел только что подошел, но ему не удалось зафиксировать, поэтому он возвращает старое значение ... Это ошибка 2PC?

1 Ответ

0 голосов
/ 26 апреля 2018

Если координатор просит их принять, то это означает, что все участники уже ответили, что они подготовлены для принятия. Подготовлено означает, что участник гарантированно сможет совершить коммит. Там нет отказа. Если узел исчез в результате удара метеора, то этот узел восстанавливается из данных HA / DR, и восстановленный режим возобновляет транзакцию и выполняет фиксацию.

Участники 2PC - это постоянные постоянные координаторы, способные выполнять резервное копирование и восстановление. Теоретически в случае, когда один из участников не может быть восстановлен, каждый участник и координаторы восстанавливаются во времени до последней согласованной транзакции. На практике все координаторы поддерживают принудительное выполнение случаев, когда участник потерян и транзакция будет принудительно переведена в одно или другое состояние, см. Разрешение транзакций вручную или Разрешение неоднозначных транзакций вручную .

...