diff options
author | Sage Weil <sage@inktank.com> | 2013-07-21 08:12:46 -0700 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-07-24 09:01:20 -0700 |
commit | 18596340f020be1f21bdc9bcc752ae1da4a93a46 (patch) | |
tree | db02e376b8dea27363b5727544ea107d5ccbcdaf | |
parent | f598245f1355d7791162c03d90bdd97b013e56f3 (diff) | |
download | ceph-18596340f020be1f21bdc9bcc752ae1da4a93a46.tar.gz |
mon/Paxos: debug ignored uncommitted values
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 19b29788966eb80ed847630090a16a3d1b810969)
-rw-r--r-- | src/mon/Paxos.cc | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/src/mon/Paxos.cc b/src/mon/Paxos.cc index 5a9cd841c0e..391a89c60da 100644 --- a/src/mon/Paxos.cc +++ b/src/mon/Paxos.cc @@ -392,17 +392,23 @@ void Paxos::handle_last(MMonPaxos *last) << num_last << " peons" << dendl; // did this person send back an accepted but uncommitted value? - if (last->uncommitted_pn && - last->uncommitted_pn > uncommitted_pn && - last->last_committed >= last_committed && - last->last_committed + 1 >= uncommitted_v) { - uncommitted_v = last->last_committed+1; - uncommitted_pn = last->uncommitted_pn; - uncommitted_value = last->values[uncommitted_v]; - dout(10) << "we learned an uncommitted value for " << uncommitted_v - << " pn " << uncommitted_pn - << " " << uncommitted_value.length() << " bytes" - << dendl; + if (last->uncommitted_pn) { + if (last->uncommitted_pn > uncommitted_pn && + last->last_committed >= last_committed && + last->last_committed + 1 >= uncommitted_v) { + uncommitted_v = last->last_committed+1; + uncommitted_pn = last->uncommitted_pn; + uncommitted_value = last->values[uncommitted_v]; + dout(10) << "we learned an uncommitted value for " << uncommitted_v + << " pn " << uncommitted_pn + << " " << uncommitted_value.length() << " bytes" + << dendl; + } else { + dout(10) << "ignoring uncommitted value for " << (last->last_committed+1) + << " pn " << last->uncommitted_pn + << " " << last->values[last->last_committed+1].length() << " bytes" + << dendl; + } } // is that everyone? |