Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make vnode check for existing handoff before starting another #250

Merged
merged 1 commit into from
Nov 6, 2012

Conversation

jtuple
Copy link
Contributor

@jtuple jtuple commented Nov 5, 2012

Change riak_core_vnode to keep track of the handoff sender pid and not initiate a new handoff if an existing handoff is already running. In practice, this is not necessary as the handoff manager ensures that only one handoff is running per source/target pair. This change is an optimization to avoid additional work that is potentially expensive on some backends.

Note: This is tangentially related to basho/riak_kv#423 as one of the blocking scenarios was "double handoff". The second handoff attempt would call bitcask:is_empty and therefore trigger the reported blocking behavior. That issue is resolved by the Bitcask changes associated with the issue, but changing handoff behavior to not unnecessarily attempt to handoff is a reasonable optimization to do regardless.

Change riak_core_vnode to keep track of the handoff sender pid and not
initiate a new handoff if an existing handoff is already running. In
practice, this is not necessary as the handoff manager ensures that
only one handoff is running per source/target pair. This change is an
optimization to avoid additional work that is potentially expensive on
some backends.
@ghost ghost assigned jtuple and reiddraper Nov 5, 2012
@reiddraper
Copy link
Contributor

+1

jaredmorrow added a commit that referenced this pull request Nov 6, 2012
Make vnode check for existing handoff before starting another
@jaredmorrow jaredmorrow merged commit 916a29a into master Nov 6, 2012
@seancribbs seancribbs deleted the jdb-double-handoff branch April 1, 2015 23:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants