mon: improve paxos commit batching
We should commit immediately if we haven't committed in the last 2 seconds. Currently we delay 2 seconds from the first change to batch changes, but that means single updates always take 2 seconds. This could even be a bit adaptive; the only reason for the delay is to avoid doing too many commits too quickly, generating lots of incrementals.
#2 Updated by Greg Farnum over 9 years ago
- Status changed from New to Resolved
Pushed a fix to unstable in 99013badb676986deb82757b77d91d0aa1f54cc9.
Instead of waiting g_conf.paxos_propose_interval seconds to comimt, we now wait until paxos_propose_interval seconds after the previous commit. If it's been more than paxos_propose_interval seconds, we wait g_conf.paxos_min_wait seconds. I set this to .05 seconds by default, in the hope that it will prevent a single OSD spawning multiple epochs on failure reports or something.