diff --git a/locator/token_metadata.cc b/locator/token_metadata.cc index 0b0eee558e..3275053a55 100644 --- a/locator/token_metadata.cc +++ b/locator/token_metadata.cc @@ -279,7 +279,7 @@ public: * Bootstrapping tokens are not taken into account. */ size_t count_normal_token_owners() const; private: - void update_normal_token_owners(); + future<> update_normal_token_owners(); public: // returns empty vector if keyspace_name not found. @@ -481,7 +481,7 @@ future<> token_metadata_impl::update_normal_tokens(const std::unordered_map token_metadata_impl::update_normal_token_owners() { std::unordered_set eps; for (auto [t, ep]: _token_to_endpoint_map) { eps.insert(ep); + co_await coroutine::maybe_yield(); } _normal_token_owners = std::move(eps); }