-
Notifications
You must be signed in to change notification settings - Fork 233
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
Generic AAE Status #654
Generic AAE Status #654
Conversation
Adding a type namespace to entropy info allows me to reuse it for Yokozuna AAE status as well as future uses of AAE.
This function can be reused by Yokozuna.
The exchanges that need to take place in Yokozuna are not the same as those in KV.
Fix the filtering logic which removes AAE info for indices no longer owned by the local node. The key is now `{Type, Index}`.
Others = ordsets:subtract(ordsets:from_list(Indices), | ||
ordsets:from_list(Primaries)), | ||
[ets:delete(?ETS, {index, Idx}) || Idx <- Others], | ||
[ets:match_delete(?ETS, {{index, {'_', Idx}}, '_'}) || Idx <- Others], |
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.
moving comments from #596 (comment) here:
I'm fine w/ the quick fix for now. I think we should open an issue as well since the table size does seem related to ring size (number of partitions owned by a single node). May not be that much of a hit vs. calling multiple deletes but since we did the large ring work we should be careful.
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.
Add functions which provide a default `Type` so that the riak_kv calls can stay as they currently are.
Changes look good. As mentioned in chat I'm +1 on this with the caveat that I think issues should be opened to export |
@@ -284,6 +284,7 @@ next_state_with_timeout(StateName, State, Timeout) -> | |||
{next_state, StateName, State, Timeout}. | |||
|
|||
exchange_complete({LocalIdx, _}, {RemoteIdx, RemoteNode}, IndexN, Repaired) -> | |||
riak_kv_entropy_info:exchange_complete(LocalIdx, RemoteIdx, IndexN, Repaired), | |||
riak_kv_entropy_info:exchange_complete(LocalIdx, RemoteIdx, |
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.
minor nitpick but do we even need this file in the patch now?
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.
🐟
Use default type of `riak_kv` when calling `tree_built/2`.
This is replacing #596. It's been rebased against develop.
This pull request makes AAE entropy info parameterized on type. This allows both KV and Yokozuna to share almost all the same status code without copy pasta.
Type
to entropy info. It represents the type of AAE being performed. Currentlyriak_kv
oryokozuna
but could be other things in the future.get_build_time
function as it can be reused by Yokozuna.