3Phase commit protocol - Распределенная система
Мне задали этот вопрос в одном из моих интервью. Мне интересно узнать ответ на этот вопрос:
Что произойдет, если в 3-фазном протоколе фиксации после отправки сообщения предварительной фиксации координатор получит положительный ответ от всех менеджеров ресурсов, а когда координатор отправит команду фиксации, один из менеджеров ресурсов не сможет зафиксировать?
Любые мысли по этому поводу будут оценены.
Благодарю.
1 ответ
Хороший вопрос. В описанной вами ситуации она прошла точку невозврата: транзакция считается совершенной.
Если проблема заключалась в том, что "сбойный" менеджер ресурсов был на самом деле просто отделен от координатора, то он прервет работу и завершит транзакцию.
Если проблема заключалась в том, что менеджер ресурсов умер, то при восстановлении он совершит переход. Если менеджер ресурсов умер навсегда, то не имеет значения, что с ним произошло.
Источники: