Skip to main content

Checkpoint: Why Distribution Is Hard

Introduction

Six lessons ago, this stretch of the course made you a promise: before you're asked to build anything that survives, you'll get an honest diagnosis of what you're up against. That diagnosis is now complete. The network lies, in eight specific ways. Nodes fail in shapes, from a polite halt to a confident lie. A cut cable turns one cluster into two, each convinced it's in charge. Detectors don't detect — they bet. And the most expensive failures never show up on the dashboard at all.

But a map is only yours once you can navigate with it while something is on fire. That's what this checkpoint is for: ten scenarios lifted from the kinds of design reviews and incident calls where these ideas earn their keep. No definitions, no trivia: every question is a decision, and every wrong option is a wrong turn the last six lessons taught you to refuse.

Checkpoint synthesis map titled 'One enemy, six disguises': six drawn emblem cards surround one dark law band. Top row: a wire whose packet shatters into red static ('the network lies — ambiguous silence'), a large numeral 8 beside struck-through assumption chips reading reliable and secure ('eight assumptions — all false out here'), and a four-rung ladder climbing green to red with a price tag ('failure ladder — crash to byzantine'). The dark center band carries the law: a distributed system acts on EVIDENCE, never on truth — and the evidence lies. Bottom row: a cluster cut in two with a crown on each half ('split brain — two kings at once'), a gauge with red loser zones at both ends of its dial ('detection: a bet — a loser each side'), and a server half green half gray with a check above and a red cross beside it ('gray failures — green and bleeding'). Foot chips: the exam, 10 decisions, pass 7 of 10 — no trivia, every question is a decision

One Enemy, Six Disguises

Before the exam, one compression. Strip the six lessons to the bone and the same sentence is written on every one of them:

A distributed system acts on evidence, never on truth — and the evidence lies.

No node sees the whole system. Each machine reasons from whatever makes it across the wire: replies, heartbeats, probes, and the silences between them. That's evidence, not truth, and the entire section is that one gap wearing six costumes.

  • Welcome to Hard Mode named the gap. Dead is indistinguishable from slow, because a dead node, a slow node, and a cut cable hand you the exact same evidence: silence. A timeout converts that silence into a guess, never into a fact.
  • The Fallacies of Distributed Computing listed the eight ways you'll trust the evidence channel more than it deserves, starting with the mother lie: the network is reliable.
  • Failure Models: Crash, Omission, Timing ranked the ways evidence goes bad: by how honestly a node tells you it's broken, crash to Byzantine, each rung with a price tag.
  • Network Partitions & Split Brain showed machinery acting on wrong evidence: your own failover crowns a second king, and forty-three seconds of cut buys a day of divergence.
  • Heartbeats & Failure Detection priced the guessing itself: the detector is k × T, a bet with a loser on each side.
  • Gray Failures is the endgame: evidence and reality diverge on the same machine. The dashboard swears green while users bleed, and the redundancy you paid for waits politely for a detection that never comes.

Six topics on the syllabus; one enemy in the field. The exam below never asks you to recite a definition. It asks whether you recognize the costume when it walks into your incident channel.

The Triage Habit

There's a practical habit hiding inside those six lessons, and it deserves to be explicit before you're tested on it. This is what the section wants your hands to do in the first sixty seconds after a call doesn't come back.

Move one: distrust your own eyes. Your view is one witness, and the judge itself may be sick. Ask peers to probe the suspect before you convict. If their calls sail through, the broken thing is your route, not the node. And compare the two views: what do the suspect's users see? Probes green while users bleed is not a contradiction; it's a diagnosis.

Move two: name the rung. Halted and honest about it — crash. Sometimes silent, otherwise correct — omission. Right answers, wrong time — timing. Confidently wrong — Byzantine, and before you camp on that rung, remember that checksums demote most of it to garbage you can simply drop. The rung matters because the price does: restart, retry, timeout, and vote cost wildly different amounts, and paying the top-rung price for a bottom-rung fault is how teams drown in their own machinery.

Move three: act at the price of your certainty. Reversible moves are cheap on mere suspicion: route traffic away, shed some load, start warming a spare. Irreversible moves wait for agreement: promotion needs a quorum's verdict, and anything that writes needs the fence, the token check at the resource itself, armed for the day the verdict is wrong anyway.

Confirm collectively, classify honestly, act reversibly. The figure below is the version to keep taped above your desk.

The triage habit drawn as a top-to-bottom flow. The event, on dark: a wire snaps mid-call — 'a call doesn't come back'. Move one, confirm collectively: my probe to the amber suspect server shows a red dashed 'timed out…' over the question 'or is MY route dead?', while two green peers fire their own probes at it and a violet users figure asks 'what do its users see?'. Move two, name the rung: four chips from green to red — crash with restart, omission with retry, timing with timeout, byzantine with checksum demotion. Move three, act at the price of your certainty: a green box for suspicion (reversible, cheap: route traffic away, shed load, warm a spare) beside a red box for agreement only (irreversible, priced: promote behind a quorum, and fence it — a gate stamped 6 > 5). Foot band: confirm collectively, classify honestly, act reversibly

The Exam

Ten scenarios. Each is a decision someone had to make with incomplete evidence, which is to say, each is a normal Tuesday in a distributed system. Pass is seven of ten. Miss one and the explanation tells you why on the spot; miss a few and the final verdict names the exact lessons to revisit. Nothing below tests anything the section didn't teach.

Ten scenario decisions spanning all six lessons — an ambiguous timeout, a design doc full of fallacies, two ladder classifications, a split brain and a zombie leader, a detector-tuning proposal, a one-witness conviction, and two gray-failure postmortems. Pass mark: seven of ten. Every answer explains itself and names the lesson it came from, and the final verdict either locks the section in or lists exactly which lessons to revisit.

What You Can Now Do

A checkpoint certifies capability, not coverage. If this section landed, here is what you can do that you couldn't six lessons ago.

In a design review, you can read a sentence like “the services call each other over the internal network, so we treat those calls as local” and name the exact assumptions being smuggled past you, then ask what happens when each one fails, in which shape, at which rung. When someone says “we handle failures”, you can ask the question that separates a slogan from a design: which class?

In an incident, you can hold a timeout's verdict at arm's length (a guess, not a fact), probe from a second vantage point before convicting, and match the response to your certainty: reversible on suspicion, irreversible only on agreement.

And when the dashboard and the support queue disagree, you no longer call it a paradox. You know the two witnesses walk different roads, and you know which road the truth about your users lives on.

That vocabulary (silence, rungs, quorum, the fence, k × T, suspicion, the two views) is the working language of everything ahead.

Key Takeaways

  • The law of the section: a distributed system acts on evidence, never on truth — and the evidence lies. Silence is ambiguous, probes walk different roads than users, and every detector verdict is a bet.
  • The six disguises, one line each: a network of machines lies (the territory) · eight named assumptions will betray you (your own head) · failures come in rungs with prices, crash → omission → timing → Byzantine (the shapes) · acting on a wrong guess forks history: quorum for the tiebreak, fencing for the zombie (the damage) · detection is k × T, a dial with a loser on each side (the bet) · gray failures pass every check while users bleed, so measure from the application's side (the blind spot).
  • The triage habit: confirm collectively, classify honestly, act reversibly. Suspicion is cheap; conviction is expensive; the fence is for the day you're wrong anyway.
  • Passing means permission. Seven of ten says you can use the map, not just recognize its landmarks — and everything ahead assumes exactly that.

One lie is still standing, though. All section long you've read logs and told stories like “the standby promoted after the primary froze” as if every machine agreed on what after means. They don't. Every machine keeps its own clock, every clock drifts, and “before” is about to stop being a simple word. That's where the course goes next: The Clock-Sync Problem.