|
|
|
|
|
by marknadal
4131 days ago
|
|
This person (in the comments below, please upvote him), and my reply, best addresses the most important questions:
https://news.ycombinator.com/item?id=9077969 But to address your other comments: Why can't a transaction log be commutative? You just have to make sure to be explicit about the ordering of events (like by using linked lists or progressively incremented hashes). This is the realm for CRDTs and stuff though, which GUN core doesn't touch. Yes the HAM deals with merging any two logs/streams/history, any two snapshot/states, but also merging any log/stream/history with any snapshot/state. This is important, because it allows you to merge more than just two, you just have to do it serially (in any order). That merge algorithm guarantees the deterministic resolution (see the comment link I posted above). |
|
I fail to see how your merge algorithm is deterministic in case of failures.