while (next_global_id >= max_global_id) {
if (!mon->is_leader()) {
- dout(10) << "not the leader, forwarding request to the leader" << dendl;
+ dout(10) << "not the leader, requesting more ids from leader" << dendl;
int leader = mon->get_leader();
MMonGlobalID *req = new MMonGlobalID();
req->old_max_id = max_global_id;
s->global_id = assign_global_id(m, paxos_writable);
if (!s->global_id) {
s->put();
- return false;
+ if (mon->is_leader())
+ return false;
+ return true;
}
set<__u32> supported;
mon->store->put_int(last_committed, machine_name, "last_committed");
delete commit;
+
+ finish_contexts(waiting_for_commit);
}
void Paxos::extend_lease()