Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

On node join, if the node matches the conditions for zone filter and has appropriate storage profile, it may be included into the zone according to the zone scale-up timer. In this case, assignments should be recalculated as if it was the scale-up for a regular zone, so the new replicas will be created on the new node. The replicas will be either learners or consensus ones, according to the new assignments: the moving of some consensus replicas to the new node will allow it to take some consensus-related load. This will also launch the rebalancing process to move the data to the new node. It can be also related to upgrading new nodes or learners to consensus replicas and downgrading of some consensus replicas on older nodes to learners, in a case if the new consensus replicas are created on new nodes, and as we want to preserve the consensus group size.

...

  • Learner(s) left the cluster: no actions required, it is not expected that the location of other consensus or learner replicas will change;
  • Consensus replica left the cluster, there are learners, majority quorum is preserved: to maintain the number of consensus replicas in the zone, some learner should be promoted to the consensus replica and included into consensus group;
  • Consensus replica left the cluster, there are no learners, but majority quorum is preserved: no actions required;
  • Consensus replica left the cluster, there are no learners and majority quorum is lost: the zone should be able to be recovered using the regular disaster recovery procedure;
  • Multiple nodes failed at once, consensus replicas left the cluster, there are learners but majority quorum is lost: also requires disaster recovery procedure. Learners cannot be promoted to consensus replicas automatically, because this may lead to split-brain (for example, in cases when “failed” nodes still work but are in the unavailable network segment).

Zone auto-adjust timers

Default timers are: IMMEDIATE for scale-up and INFINITE for scale-down. They should remain the same for the zones with REPLICAS = ALL.

Risks and assumptions

Read-write transactions

...