Commits on Sep 4, 2014
  1. Merge branch '2.0'

    jaredmorrow committed Sep 4, 2014
Commits on Aug 29, 2014
Commits on Aug 13, 2014
  1. Merge pull request #621 from basho/bug/jrw/missing-vnode-mgmt-timer-m…

    add cuttlefish mapping for vnode_management_timer
    Reviewed-by: seancribbs
    borshop committed Aug 13, 2014
Commits on Aug 6, 2014
Commits on Jul 23, 2014
Commits on Jul 11, 2014
  1. Merge pull request #612 from basho/feature/

    Update to v0.5.5
    Reviewed-by: russelldb
    borshop committed Jul 11, 2014
Commits on Jul 10, 2014
  1. Merge pull request #609 from basho/bugfix/use-proxy-to-prevent-crash-…

    Use a proxy process in claimant when joining/removing SC nodes
    Reviewed-by: lordnull
    borshop committed Jul 10, 2014
Commits on Jul 8, 2014
  1. Update to v0.5.5

    reiddraper committed Jul 8, 2014
Commits on Jul 3, 2014
  1. Merge pull request #611 from basho/feature/

    Update to v0.5.4
    Reviewed-by: seancribbs
    borshop committed Jul 3, 2014
  2. Update to v0.5.4

    Removes the need to specify line numbers in the dialyzer ignore file.
    reiddraper committed Jul 3, 2014
Commits on Jul 2, 2014
  1. Demonitor on success in proxy_spawn/1

    When we spawn a proxy process to run a function and if it successfully
    returns we need to demonitor it so that we don't receive errant 'DOWN'
    andrewjstone committed Jul 2, 2014
Commits on Jul 1, 2014
  1. Use a proxy process when joining/removing SC nodes

    Centralize the proxy process implementation in riak_core_util and
    utilize that in riak_core_claimant:bootsrap_members/1.
    We use a proxy process for riak_ensemble_manager:{join/remove} to handle
    any errors resulting from the riak_ensemble_manager crashing, and
    to prevent late responses from getting sent to the claimant in the case
    that it already got a timeout for the given operation.
    Also update dialyzer.ignore-warnings.
    andrewjstone committed Jun 30, 2014
Commits on Jun 20, 2014
  1. Merge pull request #606 from basho/feature/silence-core-vnode-eqc

    Silence output from core_vnode_eqc and log to file instead
    Reviewed-by: seancribbs
    borshop committed Jun 20, 2014
  2. Merge pull request #605 from basho/bugfix/handle-sc-vnode-overload

    call Mod:handle_overload_info/2 for unknown msgs in vnode_proxy during o...
    Reviewed-by: kellymclaughlin
    borshop committed Jun 20, 2014
  3. Stub out fakemod:handle_overload_info/2 for test

    In riak_core_vnode_proxy:overload_test_/0 we use fakemod as a vnode
    module because we don't expect any callbacks from the proxy, even in
    overload. This prior commit however, ensures that the vnode will get
    called back with any messages that aren't handled directly via the
    proxy. Previously those messages were dropped on the floor.
    andrewjstone committed Jun 20, 2014
Commits on Jun 19, 2014
Commits on Jun 13, 2014
  1. Merge pull request #603 from basho/bugfix/reip-update-claimant

    Bugfix/reip update claimant
    Reviewed-by: reiddraper
    borshop committed Jun 13, 2014
Commits on Jun 12, 2014
  1. Merge pull request #602 from basho/bugfix/pmap-stall

    Fix riak_core_util:pmap/2 infinite stall
    Reviewed-by: engelsanchez
    borshop committed Jun 12, 2014
  2. Add pmap stall unit test

    engelsanchez committed Jun 12, 2014
  3. Convert members and seen in rename_node from list to orddict, fixing …

    …broken orddict:find calls after a reip
    jcapricebasho committed Jun 12, 2014
Commits on Jun 11, 2014
  1. Fix riak_core_util:pmap/2 infinite stall

    This commit changes riak_core_util:pmap/2 to use spawn_link rather
    than spawn to create the asynchronous processes. Without this change,
    pmap/2 can stall forever if any of these processes crashes -- eg. by
    using a map function that generates an error.
    This commit also fixes the function -spec as well as optimizes the
    final stage of the pmap by using a list comprehension rather than
    lists:unzip (this is faster and generates less garbage).
    jtuple committed Jun 11, 2014
  2. Update rename_node to also set claimant field.

    If reip is being used to restore a dead cluster and the previous
    claimant node is renamed first then the ring never converges (see below).
    This change modifies rename_node to also check the claimant field
    and update as necessary.  The ring manager / claimant could also
    be hardened to verify the claimant is a valid node in the cluster,
    but I suspect that will be worked with riak_ensemble in the near future.
    Example with previous claimant dev1 renamed to dev4
    red:dev john$ dev1/bin/riak-admin ring-status
    ================================== Claimant ===================================
    Claimant:  'dev1@'
    Status:    down
    Ring Ready: unknown
    ============================== Ownership Handoff ==============================
    No pending changes.
    ============================== Unreachable Nodes ==============================
    The following nodes are unreachable: ['dev1@','dev2@',
    WARNING: The cluster state will not converge until all nodes
    are up. Once the above nodes come back online, convergence
    will continue. If the outages are long-term or permanent, you
    can either mark the nodes as down (riak-admin down NODE) or
    forcibly remove the nodes from the cluster (riak-admin
    force-remove NODE) to allow the remaining nodes to settle.
    red:dev john$ dev1/bin/riak-admin down dev3@
    Failed: "dev3@" is not a member of the cluster.
    jonmeredith committed Jun 11, 2014
Commits on Jun 6, 2014
  1. Merge pull request #601 from basho/jdb-auto-ensemble

    Add logic to automatically enable consensus system
    Reviewed-by: evanmcc
    borshop committed Jun 6, 2014
  2. Update dialyzer.ignore-warnings

    jtuple committed Jun 6, 2014
Commits on Jun 5, 2014
  1. Add logic to automatically enable consensus system

    Currently, in addition to enabling consensus in app.config, a user must
    also manually call 'riak_ensemble_manager:enable()' from one and only
    one node in a cluster to activate the consensus sub-system. This is
    necessary to ensure that there is only a single logical root ensemble
    history -- all other nodes adopt the history from the single enabled
    However, this step is not only annoying but also error-prone. Enabling
    consensus on multiple nodes can break the consensus system, requiring
    manual intervention.
    This commit addresses this problem by making riak_core automatically
    enable the consensus system in a safe way. This is accomplished by
    having the claimant node enable the consensus system. To avoid the
    issue where the claimant in multiple 1-node clusters enables consensus
    before being joined, this commit requires the cluster to have at least
    three nodes before the claimant will enable the consensus system.
    To prevent a race during claimant changes, a claimant must first write
    a special ring metadata value that prevents future claimants from
    activating the consensus system. It is not until after the ring has
    converged cluster wide, and the claimant sees the appropriate metadata
    value, that the claimant activates the consensus system.
    Resolves #571
    jtuple committed Jun 5, 2014
Commits on Jun 4, 2014
  1. Merge pull request #596 from basho/bugfix/add-spawn-in-nodeupdown_test

    timeout in riak_core_tcp_mon nodeupdown_test_
    Reviewed-by: jrwest
    borshop committed Jun 4, 2014
  2. Add spawn directive to tcp_mon nodeupdown_test

    See added comment for more details. This may _not_ fix the occasional
    failing test, but is an attempt. The related issue is #596.
    reiddraper committed Jun 4, 2014
  3. Merge pull request #595 from basho/bugfix/jrw/bg-mgr-eqc-fixes

    plug bg_manager_eqc into eunit and address potential race
    Reviewed-by: reiddraper
    borshop committed Jun 4, 2014
  4. Merge pull request #578 from basho/ajs/ensemble_remove_node

    Ensure ensembles reconfigure before nodes exit
    Reviewed-by: andrewjstone
    borshop committed Jun 4, 2014
Commits on Jun 3, 2014
  1. Merge pull request #592 from basho/bugfix/jrw/590-bucket-fixup-test-c…

    change bucket_fixup_test:fixup_test_/0 to wait for ring manager death
    Reviewed-by: reiddraper
    borshop committed Jun 3, 2014