-
Notifications
You must be signed in to change notification settings - Fork 76
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
Bugfix/im/handle get ring timeouts #458
Conversation
3eff012
to
d11d106
Compare
@@ -180,7 +183,7 @@ remove_non_owned_data(unknown) -> | |||
%% The ring used to calculate the current coverage plan could not | |||
%% be determined. In this case do nothing to prevent removing data | |||
%% that the current coverage plan is using. | |||
ok; | |||
?DEBUG("the current ring is unknown, no data can be removed", []); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're going to still want the ok
after the ?DEBUG
statement.
@ian-mi have you branched from the most recent version of develop, https://github.com/basho/yokozuna/blob/develop/rebar.config#L17, that contains the ibrowse fix for xref? |
d11d106
to
830a201
Compare
…g used. This should prevent spurious messages from being sent to the calling process in the event that the call times out.
830a201
to
a2e9ce7
Compare
Changed the fix to use a proxy process to make the genserver call in get_ring_used rather than add an additional case to yz_events:handle_info. |
👍 a2e9ce7 |
Bugfix/im/handle get ring timeouts Reviewed-by: aberghage
Great work @ian-mi! |
I was able to trigger the get_ring_used timeout by adding a five second sleep to its yz_cover:handle_call function clause, and verify that these timeouts were causing the yz_events:handle_info crashes. I then applied a2e9ce7 and verified that the crashes no longer occurred. |
@borshop merge |
Bugfix/im/handle get ring timeouts Reviewed-by: aberghage (cherry picked from commit 32f8c6e)
Fixes issue #437 (RIAK-1567) by adding a catch-all clause to yz_events:handle_info. Also adds logging to yz_events:remove_non_owned_data so that failed calls to yz_cover:get_ring_used can be detected.