size_estimates_virtual_reader: Pass sys_ks argument to get_local_ranges()

This method static calls system_keyspace::get_local_tokens(). Having the
system_keyspace reference will make this method non-static

Signed-off-by: Pavel Emelyanov <xemul@scylladb.com>
This commit is contained in:
Pavel Emelyanov
2022-10-06 17:00:26 +03:00
parent 4c099bb3ed
commit b03f1e7b17
3 changed files with 7 additions and 7 deletions

View File

@@ -186,7 +186,7 @@ static system_keyspace::range_estimates estimate(const replica::column_family& c
/**
* Returns the primary ranges for the local node.
*/
static future<std::vector<token_range>> get_local_ranges(replica::database& db) {
static future<std::vector<token_range>> get_local_ranges(replica::database& db, db::system_keyspace& sys_ks) {
return db::system_keyspace::get_local_tokens().then([&db] (auto&& tokens) {
auto ranges = db.get_token_metadata().get_primary_ranges_for(std::move(tokens));
std::vector<token_range> local_ranges;
@@ -218,8 +218,8 @@ static future<std::vector<token_range>> get_local_ranges(replica::database& db)
});
}
future<std::vector<token_range>> test_get_local_ranges(replica::database& db) {
return get_local_ranges(db);
future<std::vector<token_range>> test_get_local_ranges(replica::database& db, db::system_keyspace& sys_ks) {
return get_local_ranges(db, sys_ks);
}
size_estimates_mutation_reader::size_estimates_mutation_reader(replica::database& db, db::system_keyspace& sys_ks, schema_ptr schema, reader_permit permit, const dht::partition_range& prange,
@@ -230,7 +230,7 @@ size_estimates_mutation_reader::size_estimates_mutation_reader(replica::database
, _prange(&prange)
, _slice(slice)
, _fwd(fwd)
{ (void)_sys_ks; }
{ }
future<> size_estimates_mutation_reader::get_next_partition() {
if (!_keyspaces) {
@@ -242,7 +242,7 @@ future<> size_estimates_mutation_reader::get_next_partition() {
return make_ready_future<>();
}
return do_with(reader_permit::blocked_guard(_permit), [this] (reader_permit::blocked_guard&) {
return get_local_ranges(_db);
return get_local_ranges(_db, _sys_ks);
}).then([this] (auto&& ranges) {
auto estimates = this->estimates_for_current_keyspace(std::move(ranges));
auto mutations = db::system_keyspace::make_size_estimates_mutation(*_current_partition, std::move(estimates));

View File

@@ -71,7 +71,7 @@ struct virtual_reader {
virtual_reader(replica::database& db_, db::system_keyspace& sys_ks_) noexcept : db(db_), sys_ks(sys_ks_) {}
};
future<std::vector<token_range>> test_get_local_ranges(replica::database& db);
future<std::vector<token_range>> test_get_local_ranges(replica::database& db, db::system_keyspace& sys_ks);
} // namespace size_estimates

View File

@@ -33,7 +33,7 @@ using namespace std::literals::chrono_literals;
SEASTAR_TEST_CASE(test_query_size_estimates_virtual_table) {
return do_with_cql_env_thread([] (cql_test_env& e) {
auto ranges = db::size_estimates::test_get_local_ranges(e.local_db()).get0();
auto ranges = db::size_estimates::test_get_local_ranges(e.local_db(), e.get_system_keyspace()).get0();
auto start_token1 = utf8_type->to_string(ranges[3].start);
auto start_token2 = utf8_type->to_string(ranges[5].start);
auto end_token1 = utf8_type->to_string(ranges[3].end);