Permalink
Switch branches/tags
Commits on Feb 24, 2012
  1. Add riak_kv_yessir_backend.erl

    Scott Lystig Fritchie committed Feb 24, 2012
Commits on May 31, 2011
  1. Treat empty vclocks as undefined ones

    Vagabond committed May 31, 2011
    This works around a bug in the python protobuff library that deserilizes
    optional fields that are not supplied as an empty string.
  2. Fix reduceMin and reduceMax.

    seancribbs committed with Kelly McLaughlin Jan 17, 2011
    Javascript's sort() function sorts lexically and thus will not sort
    numbers correctly without a comparator function. Reduce/fold is the
    proper way to find a minimum or maximum.
Commits on May 27, 2011
  1. Catch exit with reason exhausted_preflist on the

    Kelly McLaughlin committed May 26, 2011
    call to schedule_input after a nodedown message
    is received.
    
    Fixes: az449 bz1113 bz1114
    
    The schedule_input function in riak_kv_map_phase calls itself
    in the case that it catches a nodedown exit while trying to
    start mapper processes. If all the primary preference list
    entries have been checked or their nodes are down this inner
    call to schedule_input will result in an exit with reason
    exhausted_preflist. Instead of just having the map phase
    process exit, this change catches the exit and returns an
    error to the caller of schedule_input so that notfound results
    can be returned in the case of bz1113 or a more descriptive
    error message can be return in the case of bz1114.
    
    Do not expect an empty list for the ClaimList
    parameter in the termination clause of
    riak_kv_mapred_planner:claim_keys.
    
    Add extra function clause for riak_kv_mapred_planner:claim_keys.
Commits on May 26, 2011
  1. Erase the reference to a map executor in the case of a notfound

    Kelly McLaughlin committed May 26, 2011
    instead of decrementing the input counter.
    
    Fixes: az445 bz1112
    
    When a notfound error occurs during a map phase the phase creates a new map plan and retries using a difference preference list entry. A lingering reference to the original map phase executor used to track input counts was the source of the error. The solution is to remove the reference to the original map phase executor in the case of a notfound error instead of simply decrementing the associated counter.
Commits on May 24, 2011
  1. Fix problem of erroneous data being returned while running concurrent

    Kelly McLaughlin committed May 23, 2011
    MapReduce jobs.
    
    Fixes: az432 bz1104
    
    The riak_kv_js_vm module used a finite set of 25 integers appended to
    to a variable name as a means to identify anonymous javascript functions
    in order to reuse functions and make MapReduce processing more efficient.
    The limit was set to 25 presumably to prevent too much resource consumption
    by the JS VM.
    
    The bug described by bz1104 is due reuse of this small set of ids and
    results in unexpected code being executed and MapReduce results being
    contaminated. The solution is to move the assembly of anonymous
    javascript functions from erlang_js into the riak_kv_js_vm module.
    This is does not decrease the efficiency of MapReduce execution because
    each javascript function is compiled before each execution and
    destroyed after execution. The only remnant of a previously executed
    anonymous function was a local variable that could be reused. By moving
    the function that assembles the anonymous functions to riak_kv_js_vm and
    eliminating lookups for any previously defined functions the code is
    simplified, there is no concern about id reuse, and there is no chance
    of memory accumlation on the JS VM due to large numbers of anonymous
    javascript functions being used.
    
    Remove the state argument from the define_anon_js function in riak_kv_js_vm.
    
    Remove unused anon_funs field from state record in riak_kv_js_vm module.
Commits on May 20, 2011
  1. Avoid never output'ing if the mapper_batch_size app env changes @ run…

    slfritchie committed with Kelly McLaughlin Mar 4, 2011
    …time
  2. Bug 939: Re-apply changeset 1e9a127 from branch

    slfritchie committed with Kelly McLaughlin Mar 4, 2011
    bz939-phase-backpressure.
  3. Bug 939: Re-apply changeset 1e9a127 from branch

    slfritchie committed with Kelly McLaughlin Mar 4, 2011
    bz939-phase-backpressure.
Commits on May 19, 2011
  1. Merge branch 'riak_kv-0.14' of github.com:basho/riak_kv into riak_kv-…

    Kelly McLaughlin committed May 19, 2011
    …0.14
  2. Resolve last-write determinstically, fixing bz://1095.

    jtuple committed with jonmeredith May 17, 2011
    When two contents have the same timestamp, resolve as follows:
    1. If one is marked as deleted, chose the non-deleted content.
    2. Otherwise, resolve by opaque comparison of content data.
  3. Add Reply parameter to handle_not_found_reply so that the notfound er…

    Kelly McLaughlin committed Apr 22, 2011
    …rors
    
    are present if requested by the client.
    
    tags: az327
    
    The fix to address bz1006 causes notfound error information to be excluded
    from the results of a MapReduce even if the inclusion is requested by
    the client. This changes corrects that by adding a Reply parameter to
    the handle_not_found_reply function and ensuring that after the
    final preference list entry has been checked that Reply is appended
    to the phase state's pending value.
    
    Add test cases for riak_kv_mapreduce:map_object_value to show that
    the include_notfound and filter_notfound actions work as expected.
  4. Improve error handling and process interaction in the MapReduce code …

    Kelly McLaughlin committed May 3, 2011
    …to prevent
    
    the termination of all active MapReduce jobs if a single MapReduce job times
    out or terminates unexpectedly.
    
    Fixes: AZ340
    
    Handle the case of an error tuple being returned from the calls to
    riak_kv_mapper_sup:new_mapper in riak_kv_map_master so that a timeout
    does not cause riak_kv_map_master to terminate and take all active
    MapReduce jobs with it.
    
    Change riak_kv_map_master so that it does not monitor mapper processes
    and instead trap exits and rely on the link to the mapper proesses
    to detect when the mapper process terminates.
  5. Refactor try/catch in riak_kv_map_phase:handle_not_found_reply to be

    Kelly McLaughlin committed Apr 13, 2011
    more readable.
  6. Minimize the amount of code in a try/catch block in riak_kv_map_phase…

    Kelly McLaughlin committed Apr 13, 2011
    …:handl_not_found_reply
    
    and only catch the specific case of an exit with reason exhausted_preflist.
  7. Remove case-clause checks in riak_kv_map_master:handle_not_found_repl…

    Kelly McLaughlin committed Apr 13, 2011
    …y whose chance of ever executing was at or very close to zero.
  8. Add some comments and minor updates to error handling case-clauses

    Kelly McLaughlin committed Apr 13, 2011
    in riak_kv_map_phase:handle_not_found_reply.
  9. Handle the not found error tuples generated by erlang and js

    Kelly McLaughlin committed Apr 12, 2011
    map functions.
  10. Change riak_kv_map_phase so that the other preflist entries are checked

    Kelly McLaughlin committed Apr 6, 2011
    before giving up when an object is not found on the vnode initially
    selected for a map phase.
Commits on May 11, 2011
  1. Merge branch 'riak_kv-0.14' of github.com:basho/riak_kv into riak_kv-…

    Jared Morrow committed May 11, 2011
    …0.14
  2. Update bitcask dependency to 1.1.6

    Jared Morrow committed May 11, 2011
  3. Merge pull request #93 from basho/bz1094-rr-timestamp-0.14

    jonmeredith committed May 11, 2011
    Bz1094 rr timestamp 0.14
Commits on May 2, 2011
Commits on Apr 28, 2011
  1. Bumped erlang_js dependency to tag erlang_js-0.6.1

    Jared Morrow committed Apr 28, 2011
Commits on Apr 22, 2011
  1. Use riak_core-0.14.2

    dizzyd committed Apr 22, 2011
Commits on Apr 13, 2011
  1. Bumping to 0.14.2

    dizzyd committed Apr 13, 2011
  2. Change handle_info clause in riak_kv_keys_fsm to check for any reason

    Kelly McLaughlin committed Apr 12, 2011
    for an 'EXIT' message instead of just using the generic badmsg catchall.
  3. Handle error messages sent from the keys fsm promptly instead of

    Kelly McLaughlin committed Apr 12, 2011
    only relying on the client timeout value.
  4. Handle failure from calls to riak_kv_keylister_master:start_keylist,

    Kelly McLaughlin committed Apr 12, 2011
    pass the client-supplied timeout through to riak_kv_keylister_master,
    and handle the case where there are no nodes available to process
    a key list operation.
  5. Catch timeout errors when starting a new key lister and allow the use

    Kelly McLaughlin committed Apr 12, 2011
    of a client-supplied timeout value.