Зачем разрешать грязное чтение, когда случается сетевой раздел в VoltDB? - PullRequest
1 голос
/ 06 марта 2019

Я аспирант в Сеульском национальном университете. Меня зовут Seokwon Choi. Я впечатлен исследовательской работы (Анализ на неисправность сетевого раздела). Я надеюсь представить эту статью моему сотруднику во время лабораторного семинара.

Однако я читаю вашу исследовательскую работу и слайд с вашей презентацией. У меня есть один вопрос.

Почему операция чтения считывает значение Y в VoltDB? На самом деле репликация не удалась, поэтому запись не удалась Зачем обновлять значение Y в локальном хранилище?

и операция чтения прочитала значение Y, которое обновилось локально?

Я думаю, что операция чтения должна читать значение коммита (записано успешно: в этом случае -> значение X).

Я пытаюсь найти Документ VoltDB. Это может позволить грязное чтение в VoltDB. Зачем разрешать грязное чтение, когда происходит сетевой раздел в VoltDB?

Есть ли причина для такой работы?

Я прикрепил картинку грязного чтения, когда сетевой раздел

Спасибо

С наилучшими пожеланиями

Из Seokwon Choi введите описание изображения здесь

1 Ответ

3 голосов
/ 08 марта 2019

VoltDB не допускает грязного чтения. На вашем рисунке показан кластер из 3 узлов, в котором один узел разделен от двух других, а один узел является мастером раздела.

Event1: сетевой раздел Event2: запись в меньшинство (и вы показываете, что запись не удалась, что правильно) Событие 3: чтение из меньшинства (и вы показываете грязное чтение, что неверно).

Событие 3 невозможно. Один узел, который отделен от двух других, отключит свой клиентский интерфейс, а затем потерпит крах, никогда не допустив события 3.

Мы запустили тесты Jepsen несколько лет назад и исправили дефект в V6.4, который при некоторых обстоятельствах позволял бы это грязное чтение из события № 3. См. https://aphyr.com/posts/331-jepsen-voltdb-6-3 и https://www.voltdb.com/blog/2016/07/12/voltdb-6-4-passes-official-jepsen-testing/ для получения полной информации о гарантиях от VoltDB, тестировании Jepsen, которое мы провели, и дефектах, которые были исправлены, чтобы пройти тест.

Раскрытие информации: я работаю на VoltDB.

...