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_min, OPT_INT, 500) // minimum number of paxos transactions to keep around
OPTION(paxos_trim_min, OPT_INT, 500) // number of extra proposals tolerated before trimming
OPTION(paxos_trim_max, OPT_INT, 1000) // max number of extra proposals to trim at a time
OPTION(paxos_trim_disabled_max_versions, OPT_INT, 108000) // maximum amount of versions we shall allow passing by without trimming
*/
void trim() {
assert(should_trim());
- version_t trim_to_version = MIN(get_version() - g_conf->paxos_max_join_drift,
+ version_t trim_to_version = MIN(get_version() - g_conf->paxos_min,
get_first_committed() + g_conf->paxos_trim_max);
trim_to(trim_to_version);
}
*/
bool should_trim() {
int available_versions = (get_version() - get_first_committed());
- int maximum_versions =
- (g_conf->paxos_max_join_drift + g_conf->paxos_trim_min);
+ int maximum_versions = (g_conf->paxos_min + g_conf->paxos_trim_min);
if (going_to_trim || (available_versions <= maximum_versions))
return false;