]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
make sure that MDBalancer uses heartbeat info from the same epoch
authorJianyu Li <joannyli@foxmail.com>
Wed, 15 Nov 2017 07:43:44 +0000 (15:43 +0800)
committerPatrick Donnelly <pdonnell@redhat.com>
Fri, 6 Apr 2018 03:18:34 +0000 (20:18 -0700)
commit71c7b1a67004e90db6ea43f9cf608253c84d7a40
tree034274bb7783ac541e9646a89fdd484cafe377ba
parent163efb592f298e99b87372da07ba520196e14e1a
make sure that MDBalancer uses heartbeat info from the same epoch

Currently mds saves the heartbeat info from others in mds_load, once the mds_load.size( ) equals mds number, it considers that have received all heartbeats info and start the rebalance work. However, after prep_rebalance returns, it doesn't clear the mds_load immediately, but wait until receives the next round hearbeat from mds0. If there are mutiple mds(e.g. greater than 2), there is a chance for one mds receiving the first next round heartbeat other than mds0 due to the network delay.

Signed-off-by: Jianyu Li <joannyli@tencent.com>
(cherry picked from commit 591fd4970863ae51dad5e16be3cef24c1c6c92d6)
src/mds/MDBalancer.cc