if (mds_load.size() == cluster_size) {
// let's go!
export_empties();
- do_rebalance();
+ do_rebalance(m->get_beat());
}
// done
-void MDBalancer::do_rebalance()
+void MDBalancer::do_rebalance(int beat)
{
timepair_t now = g_clock.gettimepair();
// determine load transfer mapping
multimap<int,double> my_targets;
- if (0) {
+ if (beat % 2 == 1) {
// old way
// match up big exporters with big importers
void handle_heartbeat(MHeartbeat *m);
void export_empties();
- void do_rebalance();
+ void do_rebalance(int beat);
void find_exports(CDir *dir,
double amount,
list<CDir*>& exports,