AI-powered
podcast player
Listen to all your favourite podcasts with AI-powered features
The Importance of a Deterministic Method of Resolving Conflicts
CRDTs attempt to avoid conflicts, right? Every object is always mergeable. So we don't really consider any objects in conflict with each other. We say as soon as the same set of updates have been delivered to all of the nodes, they'll independently arrive at the exact same value. This is really a required and necessary property to have because otherwise, if I have three replicas and I deliver the events in different order and my functions non deterministic, I could end up with replica A having a different value than replica B. And now that's a real big problem, right? Because now I have now I have no way about reasoning, which of those changes are correct.