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

Make dvv_enabled a bucket property #891

Merged
merged 4 commits into from
Apr 4, 2014
Merged

Commits on Jan 24, 2014

  1. Optimize riak_object:merge_contents

    First, remove unnecessary dict -> list -> dict conversion. This conversion
    was previously added to address a bug arising from equivalent dicts having
    different structure (and thus not comparing equal as terms). Rather than
    performing the conversion, this commit uses a custom comparison function
    to achieve the same effect. The new comparison approach exits early in the
    common case. Even in the uncommon case, the comparison function only does
    a dict -> list conversion, avoiding the final list -> dict from before.
    
    Second, change fold_contents/3 to not use an ordset for tracking kept
    siblings (which has O(N^2) complexity), but instead construct a simple
    list (with possible duplicates) that is then sorted/filtered at the end.
    
    In micro-benchmarking, this commit improved non-DVV merging by 10x, and
    DVV merging by 2x.
    jtuple committed Jan 24, 2014
    Configuration menu
    Copy the full SHA
    93a3989 View commit details
    Browse the repository at this point in the history

Commits on Apr 4, 2014

  1. Merge remote-tracking branch 'origin/jdb-optimize-merge' into rdb/jdb…

    …-opt-merge
    
    Conflicts:
    	src/riak_object.erl
    russelldb committed Apr 4, 2014
    Configuration menu
    Copy the full SHA
    770ed1c View commit details
    Browse the repository at this point in the history
  2. Comment up optimisations

    russelldb committed Apr 4, 2014
    Configuration menu
    Copy the full SHA
    de9ef0c View commit details
    Browse the repository at this point in the history
  3. Make dvv_enabled a bucket property

    Set it's default to `false` on legacy/default buckets
    Set it's default to `true` on typed buckets
    
    Update all the tests and associated places this change touches
    russelldb committed Apr 4, 2014
    Configuration menu
    Copy the full SHA
    62b75b4 View commit details
    Browse the repository at this point in the history