Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: gh350-vnodeq-s…
Commits on Jul 29, 2013
  1. Russell Brown
Commits on Jul 9, 2013
  1. Joseph Blomstedt
  2. Joseph Blomstedt

    Fix two major vnode manager bugs

    jtuple authored
    First, fix a bug that enabled a race condition wherein the vnode
    manager could start the same vnode multiple times. This would result
    in both vnode instances trying to acquire the same backend, which
    would fail and force the Riak node to shutdown.
    
    The cause of this bug was a change introduced during the large
    ring optimization work for Riak 1.4. In this work, an unbounded
    `ets:match_delete` that resulted in a table scan was changed to
    a straightforward `ets:delete`. Unfortunately, the `ets:delete`
    could delete data associated with a newer instance of a given vnode
    in cases where a monitor for a prior instance fired after the new
    instance was created.  This bug was fixed by switching to a bounded
    `ets:match_delete` that avoids the table scan while also avoiding
    unintended deletes.
    
    Second, fix a bug introduced during the parallel vnode initialization
    work from Riak 1.3.1 that caused the vnode manager to newly monitor a
    given vnode each time get_vnode_pid was called. This bug could result
    in an unbounded number of monitors being created in certain scenarios,
    causing a node to become slower over time until it was restarted.
Commits on Jul 1, 2013
  1. Jordan West

    Merge pull request #345 from basho/jrw-incrvsn-resize-replace

    jrwest authored
    Incrememnt Ring Version when Force-Replacing during Resize
Commits on Jun 28, 2013
  1. Jordan West

    Incrememnt Ring Version when Force-Replacing during Resize

    jrwest authored
    Because the claimant runs in a different "mode" the ring version may
    not be incremented otherwise causing reconcilation during gossip to
    fail. Seen in the wild and recreated periodically during riak_test
Commits on Jun 26, 2013
  1. Jared Morrow
Commits on Jun 24, 2013
  1. Jordan West

    Merge pull request #331 from basho/jrw-resize-foh-fix

    jrwest authored
    fix forced_ownership_handoff during resize
Commits on Jun 21, 2013
  1. Russell Brown

    Merge pull request #336 from basho/gh335-reshed-stats

    russelldb authored
    Fix crashing stat mod never getting rescheduled
Commits on Jun 19, 2013
  1. Bryan Fink
  2. Bryan Fink

    only silently drop DOWN-normal messages in deleted modstate

    beerriot authored
    This is a restriction of the modification made in PR #334.
    
    Dropping all {'DOWN',_,process,_,normal} messages on the floor instead
    of passing them to vnode handle_info functions causes riak_pipe vnodes
    to missing messages that it uses to cleanup workers for pipes that
    shutdown unexpectedly.
    
    This commit restricts the DOWN-normal message dropping to the case
    that the vnode's modstate is {deleted, _}. PR #334 suggests the original
    modification was made only to quiet the log spam generated by the
    following clause, which also only operates in modstate-deleted.
    
    Before this commit, the riak_test pipe_verify_exceptions would fail
    during its verify_middle_fitting_normal test, because workers would be
    left running after the fitting exited 'normal'. After this commit,
    workers are once again terminated correctly, so the test passes again.
Commits on Jun 17, 2013
  1. Engel A. Sanchez

    Merge pull request #339 from basho/eas-fix-partition-repair-not-sent-fun

    engelsanchez authored
    Fix repair handoff crash, missing not sent fun
  2. Jordan West
Commits on Jun 15, 2013
  1. Engel A. Sanchez
Commits on Jun 14, 2013
  1. Russell Brown
Commits on Jun 13, 2013
  1. Scott Lystig Fritchie

    Merge pull request #334 from basho/slf-no-log-spam-on-normal-shutdown

    slfritchie authored
    Reporting 'normal' events is spammy, don't do it
Commits on Jun 12, 2013
  1. Russell Brown

    Fix crashing stat mod never getting rescheduled

    russelldb authored
    1.3.1 updated the cache to fetch stats in the background rather than
    on demand. A new bug was added. If the stat mod crashes during
    production of stats, it is never rescheduled.
    
    Fix by rescheduling when crash is detected. Exponentially backoff
    the schedule after an error so as not to spam the log.
Commits on Jun 7, 2013
  1. Scott Lystig Fritchie
Commits on Jun 4, 2013
  1. Evan Vigil-McClanahan

    Merge pull request #332 from basho/pevm-timeout-guard

    evanmcc authored
    update bad value protection for timer value
  2. Evan Vigil-McClanahan

    remove superfluous case

    evanmcc authored
Commits on Jun 3, 2013
  1. Evan Vigil-McClanahan
  2. Jordan West

    fix forced_ownership_handoff during resize

    jrwest authored
    All resize operations remain in the ring's list of pending
    changes until all complete. Prior to this change transfers would
    only be triggered for the first forced_ownership_handoff operations.
    Subsequent operations would only be triggered by vnode *inactivity*.
    
    This commit modifies the use of forced_ownership_handoff during resize
    to ensure that only resize operations that are still pending are in
    the throttled transfer list.
Commits on May 30, 2013
  1. Jordan West

    Merge pull request #330 from basho/jrw-infinity-timeout-fix

    jrwest authored
    dont start coverage timeout timer if timeout is infinite
  2. Jordan West
  3. Engel A. Sanchez
  4. Jordan West

    Merge pull request #329 from basho/staging-1.4

    jrwest authored
    Staging branch for several 1.4 features
  5. Joseph Blomstedt
  6. Joseph Blomstedt
  7. Jordan West
  8. Jordan West

    defense against invalid claim during resize planning

    jrwest authored
    in certain cases, like when never_wants_claim is used or there are pending
    changes to the ring, the claim function will not rebalance the ring. This can
    cause problems in two ways. First, resizing modifies the original chash. Second,
    the unclaimed future ring will have partitions owned by a dummy owner. Resizing
    previously assumed the ring would always be rebalanced during claim. This is incorrect
    and can lead to troublesome ownership information because of the reasons above. To
    prevent against this the resized ring is now validated for any improper ownership.
Commits on May 29, 2013
  1. Jordan West

    Merge #301 into staging-1.4

    jrwest authored
    some changes were made as part of this merge to address conflicting
    changes not necessarily found by git:
    
    * the (awful) use of try/catch in parts of the ring resizing code were
    modified because large ring changed the expected error that is caught
    * riak_core_vnode_manager:check_precomputed_ring/3 was modified to take
    5 arguments to handle the resizing case specially, which it was not
    previously aware of
    
    Conflicts:
    	src/riak_core_handoff_manager.erl
    	src/riak_core_handoff_sender.erl
    	src/riak_core_ring_handler.erl
    	src/riak_core_vnode.erl
    	src/riak_core_vnode_manager.erl
Commits on May 28, 2013
  1. Joseph Blomstedt
  2. Joseph Blomstedt

    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
  3. Joseph Blomstedt

    Address code review comments

    jtuple authored
    -- Add module edoc to riak_core_ring_manager discussing hybrid approach.
    -- Comment the approach used to update the bucket props in ETS.
    -- Ensure we do not silently ignore any errors in ensure_vnodes_started.
    -- Change chashbin:index_owner/2 error condition.
    -- Fix variable naming for chashbin:iterator/2.
  4. Jordan West

    add ring resizing impl. doc

    jrwest authored
  5. Jordan West
Something went wrong with that request. Please try again.