storage_service, api: Add API to disable tablet balancing
Load balancing needs to be disabled before making a series of manual migrations so that we don't fight with the load balancer. Also will be used in tests to ensure tablets stick to expected locations.
This commit is contained in:
@@ -343,12 +343,17 @@ public:
|
||||
using table_to_tablet_map = std::unordered_map<table_id, tablet_map>;
|
||||
private:
|
||||
table_to_tablet_map _tablets;
|
||||
|
||||
// When false, tablet load balancer will not try to rebalance tablets.
|
||||
bool _balancing_enabled = true;
|
||||
public:
|
||||
bool balancing_enabled() const { return _balancing_enabled; }
|
||||
const tablet_map& get_tablet_map(table_id id) const;
|
||||
const table_to_tablet_map& all_tables() const { return _tablets; }
|
||||
table_to_tablet_map& all_tables() { return _tablets; }
|
||||
size_t external_memory_usage() const;
|
||||
public:
|
||||
void set_balancing_enabled(bool value) { _balancing_enabled = value; }
|
||||
void set_tablet_map(table_id, tablet_map);
|
||||
tablet_map& get_tablet_map(table_id id);
|
||||
future<> clear_gently();
|
||||
|
||||
Reference in New Issue
Block a user