Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge CRDTs inside riak_object merge #758

Merged
merged 1 commit into from
Dec 13, 2013

Commits on Dec 12, 2013

  1. Merge CRDTs inside riak_object merge

    Why? Well it means no CRDT siblings on disk. Previously CRDTs
    were merged only when a CRDT Operation was performed from the CRDT
    API endpoints. This means read repair, AAE, and repl, could all cause
    siblings on disk.
    
    With the addition of DVV style causality, we need to make a choice
    about CRDTs. We don't have DVVSets and the anonymous list. So CRDTs
    either have to merge Dots into a mini-version-vector, or not have dots.
    
    If CRDTs don't have dots, so their values always survive a merge,
    then they are subject to repl induced sibling-explosion (possibly)
    
    Merging in riak_object:merge solves that issue.
    As an added benefit it also means that Yokozuna indexing of CRDTs
    will just work.
    
    I'd really appreciate a performance comparision between this and
    the plain DVV branch, and the pre-DVV stuff for 2.0.
    russelldb committed Dec 12, 2013
    Configuration menu
    Copy the full SHA
    18fae05 View commit details
    Browse the repository at this point in the history