From a52c48d639646167de8862835522e62fc2d9d9cd Mon Sep 17 00:00:00 2001 From: Joao Eduardo Luis Date: Mon, 11 Mar 2013 16:45:10 +0000 Subject: [PATCH] mon: Paxos: increase trim tolerance from 3 to 30. This increase only means that we'll keep more versions around before we trim. It doesn't change the number of versions we'll keep around after trimming (that's still as much as 'paxos_max_join_drift', i.e. 10), nor does it change the criteria used to consider a monitor as having drifted (same rule applies, 'paxos_max_join_drift'). This change however will enable the leader to put off trimming for a longer period of time, giving a better chance for a monitor to join the cluster. See, after going through the probing phase, at which point a monitor may only be, say, 5 versions off, the same monitor may end up getting into the quorum only to find that in-between probing and finally triggering an election some 6 versions might have come to existence. Before this patch, by then the state had been trimmed and the monitor would have to bootstrap to perform a full store sync. With this patch in place, the monitor would be able to sync the remaining 11 versions. Signed-off-by: Joao Eduardo Luis Reviewed-by: Sage Weil --- src/common/config_opts.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/config_opts.h b/src/common/config_opts.h index 00797be47e1..9d429611683 100644 --- a/src/common/config_opts.h +++ b/src/common/config_opts.h @@ -179,7 +179,7 @@ OPTION(mon_sync_requester_kill_at, OPT_INT, 0) // kill the sync requester at a s OPTION(paxos_max_join_drift, OPT_INT, 10) // max paxos iterations before we must first sync the monitor stores OPTION(paxos_propose_interval, OPT_DOUBLE, 1.0) // gather updates for this long before proposing a map update OPTION(paxos_min_wait, OPT_DOUBLE, 0.05) // min time to gather updates for after period of inactivity -OPTION(paxos_trim_tolerance, OPT_INT, 3) // number of extra proposals tolerated before trimming +OPTION(paxos_trim_tolerance, OPT_INT, 30) // number of extra proposals tolerated before trimming OPTION(paxos_trim_disabled_max_versions, OPT_INT, 100) // maximum amount of versions we shall allow passing by without trimming OPTION(clock_offset, OPT_DOUBLE, 0) // how much to offset the system clock in Clock.cc OPTION(auth_cluster_required, OPT_STR, "cephx") // required of mon, mds, osd daemons