1. Justin Sheehy
  2. riak


riak / releasenotes / riak-0.6.txt

From Riak 0.5 to Riak 0.6 there were minor performance enhancements, a
new in-memory storage backend, a streaming interface to map/reduce,
and a few bug fixes.  In a little more detail:

 - The R, W, and DW parameters for client requests are now exposed in
   all of the various jiak client libraries.

 - There is a new in-memory-only backend based on gb_trees which is
   faster than the ets_backend for many common uses.

 - Some bugs were fixed, such as proper handling of an empty ringstate
   directory when pruning.

 - The "bucket_mod" schema parameter can now be set over the HTTP interface.

 - Numerous space and time improvements around basic FSM operations, such as
    - Using nodes() instead of net_adm:ping() to find reachable nodes.
    - Doing less work making vtags
    - Using shorter, fixed-size client ids in vclocks

 - The map/reduce system now allows streaming to and from clients,
   allowing for indefinitely-sized input and output sets.  This is
   only partially documented now, but those wishing to use it
   immediately should see that riak_client:mapred is now implemented
   in terms of riak_client:mapred_stream.

 - The riak_get_fsm now exits much more quickly in the common case,
   which causes cleanup activity such as read-repair and
   delete-finalization to happen faster.  There is no longer a "delete
   window" of any noticable time between the success of a delete
   operation and when the document is actually removed from storage.

 - There is a new bucket parameter, "chash_keyfun", allowing
   per-bucket configuration of the consistent hashing function.
   (that function must still have the type f({Bucket,Key}) -> 160bit-binary)