Failure Models and Replication · seed 1 · A4, ink-friendly. The answer key prints on its own page for grown-ups.

Crashed or just slow

Computing · Networks & Security · ages 20-21
Name ______________________   Date ____________
  1. What is replication an answer to?

    • Clocks drifting apart so timestamps cannot be trusted
    • Messages overtaking each other on different routes
    • One machine failing and taking the only copy with it
  2. You call a node and hear nothing. Which two states of the node itself look exactly this way from outside?

    • A crash and mere slowness
    • A healthy node and one that replies with an error
    • Slowness and a full disk
  3. A replica promises to serve only what it has caught up with. After rejoining with stale state, it may serve reads immediately.

    Circle one:   True   False

  4. Why do systems use timeouts if a timeout cannot prove a crash?

    • Timeouts let the system act despite never knowing for sure
    • Timeouts prove the node crashed
    • Timeouts restart crashed disks
  5. A node misses three writes while down, then rejoins. What are its correct steps?

    • Serve reads at once, then copy the writes quietly
    • Copy the three missed writes, then serve reads
    • Delete its copy and stay silent forever
  6. A replica returns a value that the primary never wrote. Which promise did the replica break?

    • Answering every client request within a fixed time
    • Keeping a durable copy of its data on local disk
    • Serving only what it has copied from the primary
  7. Replicas copy the primary's writes after a short delay. Two clients read the same key from two healthy replicas at the same moment and get different values. What is the most likely story?

    • One replica is stale and has not yet caught up
    • The primary wrote two values for the key at once
    • One replica crashed and is answering from memory
  8. A designer treats every silent node as crashed and deletes its data. One slow node returns to find its copy wiped. What was the design error?

    • Timeouts were set too generously
    • Silence was read as proof of crash, which it never is
    • Replication was used where a single copy sufficed
LightMySky · lightmysky.comW1-mt_aYK210-NIS-s1

Answer key

For grown-ups. Fold this page away before handing over the rest.

Crashed or just slow W1-mt_aYK210-NIS-s1

  1. One machine failing and taking the only copy with it · Copies on several machines survive the failure of any one machine, so the data is not lost with it.
  2. A crash and mere slowness · Both produce silence, so no outside observer can separate them.
  3. False · It must copy missed changes first, or clients read old truth.
  4. Timeouts let the system act despite never knowing for sure · Without a timeout the system could wait forever. A timeout ends the wait so the system can act, though it still has no proof of a crash.
  5. Copy the three missed writes, then serve reads · Catching up first keeps every served read fresh.
  6. Serving only what it has copied from the primary · A replica may serve only the writes it has copied from the primary, in the primary's order. A value the primary never wrote breaks that promise.
  7. One replica is stale and has not yet caught up · Healthy replicas can still lag behind the primary, so one can serve an older value until it catches up.
  8. Silence was read as proof of crash, which it never is · Slow and crashed look alike, so deletion needs stronger proof.
Worksheet · LightMySky