Skip to content
Commits on May 14, 2014
  1. @kellymclaughlin

    Update repair count type specs in riak_kv_entropy_info

    Change the repaired field of the exchange_info record in the
    riak_kv_entropy_info module from a type of pos_integer() to
    non_neg_integer(). Also change the Repaired parameter type for
    riak_kv_entropy_info:exchange_complete/4 and
    riak_kv_entropy_info:exchange_complete/5 to be non_neg_integer().
    kellymclaughlin committed May 14, 2014
Commits on May 13, 2014
  1. @kellymclaughlin

    Comment out get_put_monitor_eqc property

    The get_put_monitor_eqc property exhibits nondeterministic failure on
    certain machines and is preventing unrelated work from being
    merged. Comment out the test temporarily until the failure can be
    resolved or the test can be replaced.
    kellymclaughlin committed May 13, 2014
Commits on Feb 25, 2014
  1. @kellymclaughlin
  2. @kellymclaughlin

    Fix timeout handling for key and bucket listing via HTTP

    Commit 32060f0 changed error handling
    in riak_kv_keys_fsm and riak_kv_buckets_fsm to return error tuples
    instead of just the error reason term. This broke the error message
    expectations for timeout messages in riak_kv_wm_keylist and
    riak_kv_wm_buckets. This change updates the error handling in those
    modules to be consistent with the current form sent by the fsm
    modules.
    kellymclaughlin committed Feb 24, 2014
Commits on Feb 20, 2014
  1. @kellymclaughlin
Commits on Feb 14, 2014
  1. @kellymclaughlin

    Revert "Merge branch 'feature/riak-object-btype-hash-metadata' into d…

    …evelop"
    
    This reverts commit 48e0a74, reversing
    changes made to 014c674.
    kellymclaughlin committed Feb 13, 2014
Commits on Feb 13, 2014
  1. @kellymclaughlin
  2. @kellymclaughlin

    Move list of bucket type properties to hash for riak_object metadata …

    …into riak_object module and update the function calls to property_hash appropriately.
    kellymclaughlin committed Feb 3, 2014
  3. @kellymclaughlin
  4. @kellymclaughlin

    Update riak_object eqc test

    * Add testing with typed buckets to riak_object_eqc
    * Add some typed bucket generators to fsm_eqc_util
    kellymclaughlin committed Jan 31, 2014
  5. @kellymclaughlin
  6. @kellymclaughlin
  7. @kellymclaughlin

    Store bucket type hash for new riak_objects in typed buckets

    Calculate and store a bucket type hash for all new riak_objects
    created for typed buckets. This primary consumer of this information
    is Riak's replication system, but it may have general use and is
    benign when not used.
    kellymclaughlin committed Jan 28, 2014
Commits on Nov 15, 2012
  1. @kellymclaughlin
Commits on Nov 14, 2012
  1. @kellymclaughlin
  2. @kellymclaughlin
  3. @kellymclaughlin
  4. @kellymclaughlin
  5. @kellymclaughlin
  6. @kellymclaughlin
  7. @kellymclaughlin

    Remove legacy_keylisting references and deprecated key listing functi…

    …ons from riak_kv_app and riak_client.
    kellymclaughlin committed Sep 27, 2012
Commits on Nov 1, 2012
  1. @kellymclaughlin
Commits on Oct 17, 2012
  1. @kellymclaughlin

    Merge branch '1.2'

    Conflicts:
    	rebar.config
    kellymclaughlin committed Oct 17, 2012
  2. @kellymclaughlin
  3. @kellymclaughlin

    Add backpressure to secondary index requests.

    Fixes: #399
    
    Use the same mechanism used for key listing to provide
    backpressure for secondary index requests.
    kellymclaughlin committed Sep 27, 2012
Commits on Sep 6, 2012
  1. @kellymclaughlin

    Allow vnode worker pool size to be configured.

    Fixes KV389
    
    Add a worker_pool_size configuration parameter to allow the vnode worker
    pool size to be changed from the default of 10.
    kellymclaughlin committed Sep 6, 2012
Commits on Aug 2, 2012
  1. @kellymclaughlin
  2. @kellymclaughlin

    Remove the async_folds option passed into the backend at startup.

    The original design for async folding support had the backend make
    the decision to use async folding at start time, but we changed to
    having the decision be made per fold call. This change removes some
    leftover cruft from that original path that is now obsolete.
    kellymclaughlin committed Aug 2, 2012
Commits on Nov 3, 2011
  1. @kellymclaughlin

    Properly sort results for comparison in bitcask startup_dir_test.

    Fixes: az922
    
    For the test to behave properly the results from the call to
    file:list_dir must be sorted and reverse.
    kellymclaughlin committed Nov 3, 2011
Commits on Nov 2, 2011
  1. @kellymclaughlin

    Merge branch '1.0'

    Conflicts:
    	src/riak_kv_bitcask_backend.erl
    	src/riak_kv_eleveldb_backend.erl
    kellymclaughlin committed Nov 2, 2011
  2. @kellymclaughlin
  3. @kellymclaughlin

    Fix handling of bitcask data directories to avoid a race during handoff.

    Fixes: az892 bz1263
    
    * Change the bitcask data directory naming scheme so that timestamp
      are no longer appended.
    * Check for existing timestamp-appended data directories and if any
      exist make a determination of the most recent data directory and
      make it the current data directory. Any others are moved to a
      manual_cleanup directory for safe keeping in case the automatic
      determination was incorrect or later manual deletion. If there is
      inconsistency between the most recently modified data directory and
      the directory with the most recent timestamp, the most recently
      modified directory is chosen and a log message is issued.
    * The drop function now moves the current data directory to an
      auto_cleanup directory and a process is spawned that will cleanup
      any files in the directory and delete it. This should make sure to
      avoid the race condition where a data directory created by a new
      instance of the vnode starting a bitcask process is deleted by the
      reaper process.
    * try/after blocks have been added around asynchronous fold functions.
    * The call to ensure_dir has been fixed so that it creates the
      intended directory and not just the parent directory.
    * Add eunit test to verify the behavior on startup with respect to
      handling multiple data directories.
    * Add eunit test for drop function.
    * Add eunit tests for supporting functions get_data_dir and existing_data_dirs.
    * Refactor backend_eqc to use different partitions for each generated
      command set. This is a step towards making the test more similar to
      the actual way the backends are used by Riak.
    kellymclaughlin committed Oct 31, 2011
Commits on Oct 12, 2011
  1. @kellymclaughlin

    Merge branch '1.0'

    kellymclaughlin committed Oct 12, 2011
  2. @kellymclaughlin
  3. @kellymclaughlin

    Do not call riak_client:get in ensure_doc if key is undefined.

    Fixes: az852 bz1244
    
    When posting an object without a key, the
    value of the key starts as the atom `undefined` and
    `riak_kv_wm_object:ensure_doc` calls `riak:client:get` and uses `undefined` as the
    value for the key. Atoms are not acceptable as key input to `riak_client:get`.
    The problem mainly manifests when using the Innostore backend. Innostore
    assumes that the key is a binary and calls `erlang:size/1` on the key value. When
    the key is `undefined` this results in an exception being thrown by Innostore.
    The POST to create the object will succeed, but not until after the call to
    riak_client:get times out and this can be a significant delay.
    
    This change adds another function clause to riak_kv_wm_object:ensure_doc
    to set the doc member of the context record to `{error, notfound}` in the case
    where the key is `undefined`.
    kellymclaughlin committed Oct 12, 2011
Something went wrong with that request. Please try again.