fix forced_ownership_handoff during resize#331
Merged
Conversation
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.
Contributor
Author
|
forgot to mention, when running |
Contributor
|
Reviewed code, nothing of consequence to note, all looks good there. Retested against master to verify transfer stall. Then tested again using this branch merged to master, and no stall occurred. Awesomeness. +1 merge away |
jrwest
added a commit
that referenced
this pull request
Jun 24, 2013
fix forced_ownership_handoff during resize
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.
This addresses the feature blocking issue in the second to last paragraph here
This PR can be verified using basho_bench w/ configs here:
mapred_populate.config. verify everything is ok w/mapred_verify.config.riak-admin cluster resize-ring 128, thenplanandcommit.mapred_verify.configover and over w/ something likewhile 1; do ./basho_bench mapred_verify.config; done.w/o this change during 3. the resize will stall (no transfer output in logs is an easy way to verify this, also
ring-statuswill not progress). w/ this change, you will see the resize progress despite the mapreduce traffic.Note: mapreduce traffic is not necessary, any sufficient load that prevents all vnodes from reaching their inactivity timeout will do