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:
@@ -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));
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user