auto ret = rsm_protocol::OK;
lock ml(rsm_mutex);
- LOG("joinreq: src " << m << " last (" << last.vid << "," << last.seqno << ") mylast (" <<
+ LOG("join request from " << m << "; last=(" << last.vid << "," << last.seqno << "), mylast=(" <<
last_myvs.vid << "," << last_myvs.seqno << ")");
if (cfg->ismember(m, vid_commit)) {
- LOG("joinreq: is still a member");
+ LOG(m << " is still a member -- nothing to do");
log = cfg->dump();
} else if (cfg->myaddr() != primary) {
- LOG("joinreq: busy");
+ LOG("but I, " << cfg->myaddr() << ", am not the primary, " << primary << "!");
ret = rsm_protocol::BUSY;
} else {
// We cache vid_commit to avoid adding m to a view which already contains
// m due to race condition
+ LOG("calling down to config layer");
unsigned vid_cache = vid_commit;
bool succ;
{
}
if (cfg->ismember(m, cfg->view_id())) {
log = cfg->dump();
- LOG("joinreq: ret " << ret << " log " << log);
+ LOG("ret " << ret << " log " << log);
} else {
- LOG("joinreq: failed; proposer couldn't add " << succ);
+ LOG("failed; proposer couldn't add " << succ);
ret = rsm_protocol::BUSY;
}
}
cfg->get_view(vid_commit, m);
m.push_back(primary);
r = m;
- LOG("rsm::client_members return " << print_members(m) << " m " << primary);
+ LOG("rsm::client_members return " << m << " m " << primary);
return rsm_client_protocol::OK;
}