]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
Revert "mon: no delay for single message MSG_ALIVE and MSG_PGTEMP" 22243/head
authorXiaoxi CHEN <xiaoxchen@ebay.com>
Fri, 25 May 2018 09:15:08 +0000 (02:15 -0700)
committerXiaoxi CHEN <xiaoxchen@ebay.com>
Fri, 25 May 2018 15:09:46 +0000 (08:09 -0700)
commit44283e5abe9e3aab1bacc85ec42cd894262bc400
tree95acf006071cb9c76479dc2363d87338bd12a7fb
parentd0a8a1d170d8d8427fbc4428a0b2dab95f83df57
Revert "mon: no delay for single message MSG_ALIVE and MSG_PGTEMP"

This change doesn't looks right and causing twice as much proposal as we targeted to (limited by paxos_propose_interval).

Imaging we have a sequence of pg_temp/up_thru during a large recovery.

now =T
The 1st up_thru/pg_temp will go through fast path and trigger propose at T + paxos_min_wait, last_attempted_minwait_time = T.

now = T+ paxos_min_wait
The [2, K] up_thru will failed by (now - last_attempted_minwait_time > g_conf->paxos_propose_interval)
and go through PaxosService::should_propose, which will schedule the propose at) T+paxos_propose_interval

now= T+ paxos_propose_interval + paxos_min_wait
The K+1 up_thru/pg_temp comes, both (now - last_attempted_minwait_time > g_conf->paxos_propose_interval
and now - paxos->get_last_commit_time() > g_conf->paxos_min_wait satisfied, so we trigger another propose
in now+ paxos_min_wait = T+ paxos_propose_interval +paxos_min_wait.

clearly we made TWO proposal in each paxos_propose_interval.

This reverts commit ca652104fe91ac41c7c1788a2907178c36fbe6ef.

Signed-off-by: Xiaoxi CHEN <xiaoxchen@ebay.com>
src/mon/OSDMonitor.cc
src/mon/OSDMonitor.h
src/mon/Paxos.h