diff options
Diffstat (limited to 'xlators/cluster/nsr-server/src/recon_notify.c')
-rw-r--r-- | xlators/cluster/nsr-server/src/recon_notify.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/xlators/cluster/nsr-server/src/recon_notify.c b/xlators/cluster/nsr-server/src/recon_notify.c index 24f7cf2de..1c50de234 100644 --- a/xlators/cluster/nsr-server/src/recon_notify.c +++ b/xlators/cluster/nsr-server/src/recon_notify.c @@ -91,8 +91,14 @@ nsr_recon_set_leader (xlator_t *this) if (ctx->last_reconciled_term == priv->current_term) return; - // No majority as of yet - if (priv->up_children <= (priv->n_children / 2)) + /* + * Quorum for reconciliation is not the same as quorum for I/O. Here, + * we require a true majority. The +1 is because we don't count + * ourselves as part of n_children or up_children. + * + * TBD: re-evaluate when to reconcile (including partial) + */ + if (priv->up_children <= (priv->n_children / 2)) return; gf_log (this->name, GF_LOG_INFO, |