for (auto&& [gid, info] : mdsmap->get_mds_info()) {
// if it has a rank and state <= ACTIVE, it's good enough
- if (info.rank != MDS_RANK_NONE && info.state <= MDSMap::STATE_ACTIVE) {
+ // if (info.rank != MDS_RANK_NONE && info.state <= MDSMap::STATE_ACTIVE) {
+ if (info.rank != MDS_RANK_NONE && info.state == MDSMap::STATE_ACTIVE) {
member_info.push(&info);
membership.members.insert(info.global_id);
}
state_ord = self.MDS_STATE_ORD.get(info['state'])
leader_state_ord = self.MDS_STATE_ORD.get(leader_info['state'])
- if state_ord <= self.MDS_STATE_ACTIVE_ORD and state_ord > leader_state_ord:
+ if state_ord == self.MDS_STATE_ACTIVE_ORD and state_ord > leader_state_ord:
leader_info = info
break