72 похожих чатов

Скажите, про 2pc. Допускает ли протокол ,что транзакция может

быть отменена даже после того , как все на prepare ответили положительно. Т.е например. Все ответили yes на prepare. Координатор посылает commit всем, но один из participiant не может сделать conmit. Что тогда будет? Может ли координатор сказать ,что теперь делаем abort ?

13 ответов

18 просмотров

Насколько я помню — нет, не допускает. Т.е. этот participiant больше не может participate после такого (и так может быть, конечно). А так — ведь где-то было подробное описание протокола, т.е. действий в каждом состоянии (если действительно интересно, можете его найти).

2pc - двух фазный комит?

Ilya Zviagin
Зачем бы тогда он нужен то был...

Я думал — затем, чтобы обеспечить durability. Может, я и путаю, но тогда после этого получится "заклиненный" кластер.

Nikolay- Автор вопроса
Nikolay- Автор вопроса
Ilya Zviagin
Зачем бы тогда он нужен то был...

а что значит зачем бы он тогда был нужен?

Nikolay
а что значит зачем бы он тогда был нужен?

Ну я имел в виду, что я бы думал, что надо иметь возможность откатывать транзакцию. Надо найти материалы и прочитать.

Nikolay- Автор вопроса
Ilya Zviagin
Ну я имел в виду, что я бы думал, что надо иметь в...

там так получается, что если такое допустить, то participiant тогда будет вынужден уметь откатывать закомиченную транзакцию. например есть 2 participiant - "A" ,"B". Координатор спрашивает их - Prepare. Каждый из них говорит, что готов. Координатор их получает и шлет теперь всем commit. Скажем "A" закомител и сказал ack. второй же, который - "B" не смог по какой-то причине. Если вот тут допустить, что координатор может сказать и "A" откатить транзакцию (Т.к "B" не смог сделать commit), то этот participiant "A" должен откатить уже закомиченную транзакцию. Это может быть сложным. Например кто-то уже смог залочить данные и в целом не понятно как откатывать уже закомиченые транзакции.

Nikolay
там так получается, что если такое допустить, то ...

> что координатор может сказать и "A" откатить транзакцию Нет, этого он сказать не может. > то этот participiant "A" должен откатить уже закомиченную транзакцию Именно по этой причине, да.

Yaroslav Schekin
> что координатор может сказать и "A" откатить тра...

Я посмотрел в Википедии, вроде координатор может откатить только до начала второй фазы.

Похожие вопросы

Обсуждают сегодня

Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
А в каком формате фреймы? Сам формат сейчас придумываешь, или что-то готовое нужно распарсить?
Okhsunrog
5
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Карта сайта