Выбор ответа Senior Офлайн и хранение обновлено

Конфликт офлайн-изменений

Вопрос

Задачу изменили на двух устройствах офлайн, потом оба синхронизировались. Чем опасна стратегия «last write wins» по времени устройства?

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

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

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

Коротко

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

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

  1. Часы устройств расходятся, а изменения проигравшей стороны тихо теряютсяправильный ответ
  2. Она всегда приводит к ошибке 409 и требует ручного разрешения конфликта
  3. Она требует внедрить CRDT на клиенте и сервере, иначе не работает
  4. Опасности нет: это лучшая стратегия, данные никогда не теряются

Разбор

LWW проста, но молча выбрасывает одно из изменений, а время клиента ненадёжно: неправильные часы могут «выиграть» у более позднего изменения. Надёжнее версии записей или время сервера, слияние по полям, а для совместного редактирования CRDT. Ошибку 409 даёт как раз стратегия с версиями, а CRDT это отдельный подход.

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

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