Флаг на карте имеет семантику «добавить победы» или «настоящие победы». Эта семантика достигается с помощью метода причинности, называемого «Observed Remove», который заимствован из набора Observed-Remove CRDT. Во многих отношениях флаг - это всего лишь набор одного нулевого элемента, который находится либо в наборе (флаг является истинным), либо нет в наборе (флаг является ложным).
Нижнее значение флага - False. Если на карте нет ключа для флага, флаг будет ложным. Вот почему вы не можете добавить флаг с False значением. Добавление ключа совпадает с установкой флажка в значение True.
Добавление флага заставляет ключ получить точку или причинный тег. Если флаг добавляется дважды одновременно, он будет иметь два таких причинных тега. Когда флаг установлен в False, контекст или причинные теги, которые удаляются, должен быть передан Riak, это гарантирует, что некоторые параллельные установки в True (с tag3) не будут установлены false, когда теги и тег2 будут удалены. Вот как прибавляет выигрыш! Части Observed-Remove облегчаются контекстом: контекст говорит о том, какие каузальные метки вы наблюдаете, и, следовательно, какие из них вы можете удалить.