diff --git a/exec/totemconfig.c b/exec/totemconfig.c index 9128bdd2..381cf4fb 100644 --- a/exec/totemconfig.c +++ b/exec/totemconfig.c @@ -564,13 +564,6 @@ int totem_config_validate ( goto parse_error; } - if (totem_config->consensus_timeout < 1.2 * totem_config->token_timeout) { - snprintf (local_error_reason, sizeof(local_error_reason), - "The consensus timeout parameter (%d ms) must be atleast 1.2 * token (%d ms).", - totem_config->consensus_timeout, (int) ((float)1.2 * totem_config->token_timeout)); - goto parse_error; - } - if (totem_config->merge_timeout == 0) { totem_config->merge_timeout = MERGE_TIMEOUT; } diff --git a/man/corosync.conf.5 b/man/corosync.conf.5 index 15cff180..5d3f7b5e 100644 --- a/man/corosync.conf.5 +++ b/man/corosync.conf.5 @@ -333,6 +333,12 @@ achieved before starting a new round of membership configuration. The minimum value for consensus must be 1.2 * token. This value will be automatically calculated at 1.2 * token if the user doesn't specify a consensus value. +For two node clusters, a consensus larger then the join timeout but less then +token is safe. For three node or larger clusters, consensus should be larger +then token. There is an increasing risk of odd membership changes, which stil +guarantee virtual synchrony, as node count grows if consensus is less than +token. + The default is 1200 milliseconds. .TP