# Leader Election

> A mechanism that lets a group of nodes agree on one coordinator and replace it when it fails.

Record: `architecture:leader-election`
Kind: mechanism
Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)
Severity: contextual
Scope: distributed system, coordination, availability
Canonical: https://banes-lab.com/ontology#architecture-leader-election

Listed in [Architecture principles](https://banes-lab.com/api/records/architecture.md), after [Decentralization](https://banes-lab.com/records/architecture/decentralization.md) and before [Consensus](https://banes-lab.com/records/architecture/consensus.md).

## Repair

- Refactored by: Introduce Leader Election
- Detected by: concurrent leader actions / split-brain
- Violated by: multiple nodes assuming the coordinator role at once
- Measured by: split-brain incident rate
- Enforced by: distributed-systems review

## Requires

- [Consensus](https://banes-lab.com/records/architecture/consensus.md)

## Reinforces

- [Control Plane](https://banes-lab.com/records/architecture/control-plane.md)
- [Fault Tolerance](https://banes-lab.com/records/architecture/fault-tolerance.md)

## Enables

- [Single-Writer Coordination](https://banes-lab.com/records/lexicon/single-writer-coordination.md)
- [Automatic Failover of Leadership](https://banes-lab.com/records/lexicon/automatic-failover-of-leadership.md)

## Conflicts with

- [Split-Brain Coordination](https://banes-lab.com/records/lexicon/split-brain-coordination.md)

## In tension with

- [Availability](https://banes-lab.com/records/lexicon/availability.md)

## Tensions

- [Leader Election / Availability](https://banes-lab.com/records/tension/availability-leader-election.md)

## Severity

- [contextual](https://banes-lab.com/records/vocabulary/severity-contextual.md)

## Category

- [Control / Coordination / Centralization](https://banes-lab.com/records/architecture-category/control-coordination-centralization.md)

## Linked from

- [Control / Coordination / Centralization](https://banes-lab.com/ontology/principles/architecture-category-control-coordination-centralization.md)
- [Error Handling / Resilience](https://banes-lab.com/ontology/principles/architecture-category-error-handling-resilience.md)
- [Control / Coordination / Centralization](https://banes-lab.com/ontology/lexicon/lexicon-category-control-coordination-centralization.md)
- [Quality Attributes](https://banes-lab.com/ontology/lexicon/lexicon-category-quality-attributes.md)
- [Severity levels](https://banes-lab.com/ontology/schema/the-vocabulary-severity.md)
- [The resolutions](https://banes-lab.com/ontology/schema/the-resolutions.md)
