Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Oct 9, 2013
  1. @vinoski
Commits on Sep 22, 2013
  1. @jrwest

    Merge branch 'jrw-cm-hashtree-rebased' into develop

    jrwest authored
    Conflicts:
    	rebar.config
Commits on Sep 20, 2013
  1. @jaredmorrow @Vagabond

    Move password auth into its own module

    jaredmorrow authored Vagabond committed
  2. @Vagabond
Commits on Sep 15, 2013
  1. @jrwest
Commits on Sep 11, 2013
  1. Move json_pp to riak_kv.

    Sean Cribbs authored
  2. Copy in mochiglobal as riak_core_mochiglobal.

    Sean Cribbs authored
  3. Remove mostly-unused riak_core_config.

    Sean Cribbs authored
  4. Move webmachine to riak_api.

    Sean Cribbs authored
Commits on Sep 7, 2013
  1. @engelsanchez

    Merge branch 'develop' into eas-bucket-type-merged

    engelsanchez authored
    Conflicts:
    	src/riak_core_bucket.erl
Commits on Sep 3, 2013
  1. @engelsanchez
Commits on Aug 23, 2013
  1. @jaredmorrow
Commits on Aug 14, 2013
  1. @jrwest

    Teach riak_core Bucket Types

    jrwest authored
    Like buckets, we must teach core this because a few subsystems
    use them. Bucket Types provide a method for grouping buckets
    logically (see basho/riak#362).
Commits on Aug 8, 2013
  1. @jrwest

    Cluster Metadata: The Basics

    jrwest authored
    This commit implements the basic moving parts for riak_core's new k/v
    store for cluster-wide information. Cluster Metadata is meant to
    replace current uses for metadata stored in `riak_core_ring`.
    
    The interface for interacting with the store is defined in
    `riak_core_metadata`. Data is read and written locally and is fully
    replicated to all nodes eventually. Data is stored on disk using dets
    and is managed by `riak_core_metadata_manager` (the ground work has
    also been laid to keep a copy of data in-memory w/ ets for use on
    reads). Data is addressed by a given prefix (a two-tuple of any erlang
    terms) and a key. Each stored prefix/key has an associated logical
    clock (a dvvset -- more below). The representation of the object and
    its clock are abstracted via `riak_core_metadata_object`.
    `riak_core_broadcast` implements a new broadcast/gossip protocol for
    disseminating updates to other nodes. The module is implemented to be
    a general broadcast protocol that could be used by other
    subsystems. `riak_core_broadcast_handler` is a new behaviour that
    defines the API a module must implement to use
    `riak_core_broadcast`. `riak_core_metadata_manager` implements this
    behaviour. `riak_core_broadcast` is based off the plumtree protocol
    (http://www.gsd.inesc-id.pt/~jleitao/pdf/srds07-leitao.pdf) with some
    modifications to make it more partition tolerant and fit with
    riak_core's membership model. The implementation uses the sender-based
    tree approach mentioned but not analyzed in the paper. The current
    implementation does not fully guaruntee at-least once delivery (it
    will be fully implemented in a future commit).
    
    `riak_core_broadcast` and `riak_core_metadata_manager` run per node
    and are started after the ring manager.
    
    This commit introduces dvvset.erl from
    https://github.com/ricardobcl/riak_core/blob/dvvset/src/dvvset.erl. This
    may not be the actual version of Dynamic Version Vectors
    used. `riak_core_metadata_object` is meant to abstract the object
    representation and logical clock so a switch to a new implementation
    of dvvset or one just using vector clocks can be made easily.
Commits on Aug 1, 2013
  1. @rzezeski

    Roll version 1.4.1

    rzezeski authored
Commits on Jun 26, 2013
  1. @jaredmorrow
Commits on May 28, 2013
  1. @jtuple

    Merge #319 from jdb-large-master into staging-1.4

    jtuple authored
    Also, fix several build warnings since #319 includes a change to treat
    warnings as errors.
    
    Conflicts:
    	src/riak_core_util.erl
Commits on May 23, 2013
  1. @engelsanchez

    Merge branch '1.3' into eas-1.3.2-to-master

    engelsanchez authored
    Conflicts:
    	src/riak_core_vnode_worker.erl
Commits on May 15, 2013
  1. @jtuple

    Add chashbin and bucket metadata

    jtuple authored
    The hybrid ETS/mochiglobal approach solves the fast update problem,
    but hurts ring read performance during ring transitions. This issue
    can be avoided by exploiting the fact that the majority of Riak only
    reads the ring in order to determine index owners, preference lists,
    and bucket properties. This commit provides an alternate approach to
    getting access to these values without reading the entire ring.
    
    First, this commit creates a binary version of the chash structure
    which is stored in the ring manager's ETS table. This chashbin
    structure is fast to copy between processes due to off-heap binary
    sharing. Furthermore, this structure provides a secondary benefit
    of being much faster than the traditional chash structure for normal
    operations.
    
    Second, this commit extracts bucket metadata from the ring, storing
    the values in the ring manager's ETS table. This allows processes
    to directly query a given bucket's metadata without reading the ring.
Commits on May 11, 2013
  1. @jaredmorrow
Commits on May 10, 2013
  1. @slfritchie @jrwest

    First draft (3rd edition), ready for some review

    slfritchie authored jrwest committed
    Vnode replies always go via reply(), and reply() always uses unreliable
    messaging.  (As opposed to the usual (and more reliable) send-and-pray
    messaging.)
    
    During handoff, all forwarding requests use unreliable vnode master
    commands to avoid net_kernel blocking interference.
Commits on May 2, 2013
  1. @slfritchie

    Merge pull request #299 from basho/gh274-vnode-noblocking-reply

    slfritchie authored
    Vnode nonblocking reply, First draft (3rd edition), ready for some review
Commits on Apr 12, 2013
  1. @slfritchie

    First draft (3rd edition), ready for some review

    slfritchie authored
    Vnode replies always go via reply(), and reply() always uses unreliable
    messaging.  (As opposed to the usual (and more reliable) send-and-pray
    messaging.)
    
    During handoff, all forwarding requests use unreliable vnode master
    commands to avoid net_kernel blocking interference.
Commits on Apr 5, 2013
  1. @engelsanchez

    Merge branch '1.3' into 1.3_to_master

    engelsanchez authored
    Conflicts:
    	rebar.config
    	src/riak_core_ring_handler.erl
    	src/riak_core_util.erl
    	src/riak_core_vnode.erl
    	src/riak_core_vnode_manager.erl
  2. @Vagabond

    Implement SSL support for riak_core_connection and riak_core_service_mgr

    Dave Parfitt authored Vagabond committed
    This is a port of the SSL implementation from Riak's MDC implementation.
    The app.config arguments are the same, only now they're under riak_core.
    
    SSL is negotiated right after capabilities are exchanged, so minimal
    information is sent 'in the clear'. If one side requests SSL and the
    other side does not have it enabled, SSL is not allowed to connect.
Commits on Mar 22, 2013
  1. @jaredmorrow
Commits on Mar 13, 2013
  1. initial add of the Riak Core Connection Manager

    Dave Parfitt authored
Commits on Jan 29, 2013
  1. @jaredmorrow
Commits on Nov 15, 2012
  1. @russelldb

    Add a per stat calculation process for fine grained control

    russelldb authored
    Per stat process for fine grained concurrency control of stat
    calculation and caching.
    
    A simple 'query' module for selecting stats by path from folsom
    A simple REST interface to fetch stats by path
Commits on Sep 27, 2012
  1. @kellymclaughlin

    Merge branch '1.2'

    kellymclaughlin authored
    Conflicts:
    	rebar.config
Commits on Sep 7, 2012
  1. @jaredmorrow
Commits on Aug 24, 2012
  1. @camshaft
  2. @camshaft
Commits on Jul 25, 2012
  1. @russelldb

    restructure supervision tree so that folsom is an included app

    russelldb authored
    All stat mods depend on folsom, yet they are not linked to it.
    This change brings folsom under supervision of a core stat sup,
    which also supervises the riak stat subsystem. Now when folsom exits
    everyone gets to restart clean and recover.
    
    riak_core_sup
        |
    riak_core_stat_sup (rest_for_one)
        \
           - folsom_sup
           - riak_core_stats_sup (one_for_one)
            \
              - riak_*_stat
              - riak_stat_cache
    
    riak_core_stats_sup will start and supervise gen_server stat mods at
    registration time, and will re-start them should the sup crash.
Commits on Jul 13, 2012
  1. @jaredmorrow

    Roll version 1.2.0

    jaredmorrow authored
Something went wrong with that request. Please try again.