DynamoDB: условная запись против теоремы CAP
Используя DynamoDB, два независимых клиента пытаются записать в один и тот же элемент одновременно, используя условные записи и пытаются изменить значение, на которое ссылается условие. Очевидно, что одна из этих записей обречена на неудачу с проверкой состояния; тот'хорошо
Предположим, что во время операции записи происходит что-то плохое, и некоторые из различных узлов DynamoDB выходят из строя или теряют связь друг с другом. Что происходит с моими операциями записи?
Будут ли они оба блокировать или потерпеть неудачу (жертва "А" в теореме CAP)? Удастся ли им обоим добиться успеха, и только позже выясняется, что один из них фактически был проигнорирован (жертва «С»)? Или они так или иначе будут работать правильно из-за некоторого волшебства (последовательного хеширования?), Происходящего в системе DynamoDB?
Это кажется очень сложной проблемой, но я могуне найти ничего, что обсуждало бы возможность проблем доступности с условными записями (в отличие, например, от согласованных операций чтения, где возможность снижения доступности является явной).