Skip to main content

Book Exercise Lanes

This module's exercise system is book-driven. Use these local chunks for targeted volume after you have already learned the concept from the guide.

How To Use This Page​

  1. Finish the relevant concept page first.
  2. Solve at least one problem of your own from memory.
  3. Only then open the matching exercise lane.
  4. Keep a mistake log with tags such as fallacy missed, wall-clock used for ordering, vector clock compare wrong, phi threshold too tight, quorum miscounted, Raft invariant confused, fencing token missing, retry without idempotency key.

Lane 1: The Inescapable Reality​

Use this lane when the issue is still "thinking like a single-machine developer."

Target outcomes:

  • 1 fallacy audit of a real system you know (each of the eight labeled "handled by X" or "latent bug").
  • 1 written enumeration of the partial-failure outcome set for a real RPC in your stack.
  • 3 timeout/tail-latency traces produced on a small test bed (varying GC/pause injection).

Lane 2: Clocks and Ordering​

Use this lane when you know the rules but cannot apply them quickly mid-discussion.

Target outcomes:

  • 5 traces of 3-process systems with Lamport and vector stamps filled in by hand.
  • 3 concurrency-detection exercises where you must identify every concurrent pair from the vector clocks.
  • 1 written analysis of a production LWW design that breaks because of clock skew.
  • 1 NTP vs monotonic vs logical decision memo for a real system.

Lane 3: Failure Detection and Membership​

Use this lane when the abstract idea of a failure detector doesn't translate into concrete timeout choices.

Target outcomes:

  • 1 heartbeat-tuning worksheet: given a workload, compute heartbeat interval, timeout or phi threshold, and expected false positives.
  • 1 comparison of fixed-timeout vs phi-accrual for a real cluster you know.
  • 1 SWIM-style membership walkthrough: draw how a membership update propagates across 100 nodes.
  • 1 written decision about whether a system needs BFT or crash-stop is sufficient, with justification.

Lane 4: Consensus​

Use this lane when concept pages are clear but mid-trace reasoning falls apart.

Target outcomes:

  • 3 Paxos traces with quorum-intersection check, at least one with a competing proposer.
  • 3 Raft traces with one failure injection each (leader crash, follower crash, partition).
  • 1 decision memo comparing Multi-Paxos, Raft, and a coordination-service abstraction for a specific use case.
  • 1 FLP-aware written argument for why your chosen protocol is safe (preserves agreement) at the cost of occasional unavailability.

Lane 5: Distributed Patterns​

Use this lane when the individual concepts are solid but you still can't compose them into an end-to-end design.

Target outcomes:

  • 1 full split-brain prevention design: quorum election, lease, fencing token, all composed.
  • 1 idempotent HTTP endpoint design document with idempotency-key schema and failure-mode table.
  • 1 coordination-service selection memo (ZK vs etcd vs Consul) for a real hypothetical system.
  • 1 postmortem analysis citing specific concepts from this module.

Self-Curated Problem Set​

Build a custom set with these minimums:

  • 3 fallacy audits on 3 different systems.
  • 3 Lamport + vector trace exercises from scratch.
  • 3 phi-accrual tuning exercises.
  • 3 Paxos traces with quorum check.
  • 3 Raft traces including at least one partition and one crash.
  • 2 split-brain prevention designs (one with lease, one with fencing).
  • 2 idempotent-API designs for different domains (payments, scheduling).

Completion Checklist​

  • Completed at least one lane in full.
  • Retained actual mistakes, their evidence and corrections; if none occurred, label a deliberately faulty example and show how to detect it. No minimum personal-error count.
  • Traced both Paxos and Raft runs by hand end to end, including failure injection.
  • Wrote a split-brain prevention design composing quorum, lease, and fencing.
  • Designed at least one end-to-end idempotent API.
  • Analyzed at least one real postmortem using the module vocabulary.

Required logical-clock extension​

Complete Logical clocks and causal evidence, prediction practice and all DS1–DS6 gates. The 20–30-hour package supplies guided Lab 2’s executable core; reuse evidence. Original failure detection, Raft and retry-safe API requirements remain required.