PIR-0918: quorum held
Cluster corvid (config store) · Incident 2026-08-11 04:02–04:29
Impact none · Author platform on-call · Status review complete,
one action item outstanding
What happened
A cooling failure in row 4 tripped the thermal cut-out on two of corvid's
three members, corvid-a and corvid-b, within eleven seconds of each other.
Both nodes powered off hard at 04:02:17 and 04:02:28.
A three-member cluster loses quorum when it loses two members. corvid did not
lose quorum. Reads and writes continued through the event with no elevated
latency, the config store served 2.1 M requests during the window, and the
first anybody knew of the outage was the facilities alarm.
The cluster as drawn in the review
row 4 row 9
┌──────────────────┐ ┌──────────────────┐
│ corvid-a │ │ corvid-c │
│ 192.0.2.71 │ │ 192.0.2.73 │
│ U14, rack 4-2 │ │ │
│ ── OFF 04:02:17 │ │ ── term 1 │
└────────┬─────────┘ └────────┬─────────┘
│ │
┌────────┴─────────┐ │
│ corvid-b │ │
│ 192.0.2.72 │ │
│ U15, rack 4-2 │ │
│ ── OFF 04:02:28 │ │
└────────┬─────────┘ │
│ │
└────────────────┬───────────────┘
│
┌───────┴────────┐
│ quorum 2 of 3 │
│ HELD 04:02:28 │
└────────────────┘The box for corvid-c is drawn without a rack position because the reviewer
could not find one. It is not in the asset register. Facilities walked row 9
during the review with the address in hand and found the U-positions either side
of where it should be occupied by a patch panel and a blank.
Findings
F1. corvid-c has been a voting member since the cluster was built on
2021-04-06. The bootstrap log names three members. The procurement record names
two servers.
F2. corvid-c has never been the leader. It has voted in all 1,904
elections and has never stood.
F3. Its term counter is 1. Every other member's term counter tracks the cluster's, which is currently 1,904. A member at term 1 should be rejected as stale by the other members. It is not, and the code path that would reject it is covered by a test that passes.
F4. Round-trip time from corvid-a to corvid-c, sampled every 15 seconds
since 2021, has a standard deviation of 0.00 ms. It is 0.31 ms and it has been
0.31 ms 10,614,880 times.
F5. During the window in which corvid-a and corvid-b were powered off,
the cluster committed 41 entries. The commit index moved from 8,441,902 to
8,441,943. All 41 entries replicated cleanly to corvid-a and corvid-b when
they came back at 04:29.
Action items
| # | Action | Owner | Status |
|---|---|---|---|
| A1 | Restore cooling redundancy in row 4 | facilities | done 2026-08-12 |
| A2 | Add corvid-c to the asset register |
platform | see below |
A2 is outstanding. The register requires a serial number.
Related: stories/eleven-year-check, stories/the-fourth-nameserver.