token_metadata: Do nothing if tokens is empty.
When replacing a node, we might ignore the tokens so that the tokens is
empty. In this case, we will have
std::unordered_map<inet_address, std::unordered_set<token>> = {ip, {}}
passed to token_metadata::update_normal_tokens(std::unordered_map<inet_address,
std::unordered_set<token>>& endpoint_tokens)
and hit the assert
assert(!tokens.empty());
This commit is contained in:
@@ -81,6 +81,9 @@ void token_metadata::update_normal_token(token t, inet_address endpoint)
|
||||
}
|
||||
|
||||
void token_metadata::update_normal_tokens(std::unordered_set<token> tokens, inet_address endpoint) {
|
||||
if (tokens.empty()) {
|
||||
return;
|
||||
}
|
||||
std::unordered_map<inet_address, std::unordered_set<token>> endpoint_tokens ({{endpoint, tokens}});
|
||||
update_normal_tokens(endpoint_tokens);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user