Выбор ответа Senior Консистентность и CAP обновлено

Last write wins

Вопрос

Два узла приняли конкурирующие изменения одной записи и разрешают конфликт по правилу last write wins по локальным часам. Какой риск?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Одно изменение молча пропадёт, даже более позднее. LWW оставляет версию с большей меткой времени и выбрасывает другую без уведомления.

Варианты ответа

  1. Запись станет недоступна до ручного разрешения
  2. Будут сохранены обе версии как сиблинги записи
  3. Конфликт вызовет ошибку у клиента при чтении
  4. Одно изменение молча пропадёт, даже более позднееправильный ответ

Разбор

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

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.