Otherwise we can get crap like
in <0>
up <{0=4103}>
failed <>
stopped <>
4300: 192.168.141.103:6800/9446 '0' mds0.0 up:creating seq 2
out << "\ncompat " << compat << std::endl;
out << "\nmax_mds " << max_mds << std::endl;
- set<int> upset;
- get_up_mds_set(upset);
out << "in <" << in << ">\n"
- << "up <" << upset << ">\n"
+ << "up <" << up << ">\n"
<< "failed <" << failed << ">\n"
<< "stopped <" << stopped << ">\n";
default:
assert(0);
}
- si.rank = info.rank;
+
info.state_seq = seq;
- if (si.state > 0) {
- si.inc = ++pending_mdsmap.inc[info.rank];
- pending_mdsmap.up[info.rank] = sgid;
+ si.rank = info.rank;
+ si.inc = ++pending_mdsmap.inc[info.rank];
+ pending_mdsmap.up[info.rank] = sgid;
+ if (si.state > 0)
pending_mdsmap.last_failure = pending_mdsmap.epoch;
-
+ if (si.state > 0 ||
+ si.state == MDSMap::STATE_CREATING ||
+ si.state == MDSMap::STATE_STARTING) {
// blacklist laggy mds
utime_t until = now;
until += g_conf.mds_blacklist_interval;