DS / LAB Distributed Systems
METHODS & TOOLS / INTERACTIVE EDITION · ETCD 3.6.6

Sources & scope

Original explanations, primary sources, and explicit boundaries.

Sources checked for this edition on 2026-11-14. Papers and third-party figures are linked, not copied or bundled. Course diagrams and examples are original. The implementation is pinned to etcd 3.6.6; newer documentation or releases do not retroactively change the recorded run.

  1. Lamport, 1978

    Causality and logical clocks; chapter 2.

  2. Herlihy & Wing, 1990

    Operation histories and linearizability; chapters 2–3 and the workbench.

  3. Fischer, Lynch & Paterson, 1985

    Asynchronous model and termination limits; chapter 1.

  4. Ongaro & Ousterhout, 2014

    Raft extended paper; log safety, snapshots and client retries.

  5. Burrows, 2006 — Chubby

    Sequencers and delayed requests, §2.4; chapter 6.

  6. MIT 6.5840

    Further course study; this Lab is independent, not an MIT course copy.

  7. etcd 3.6 · API guarantees

    Version-scoped implementation reference.

  8. etcd 3.6 · Failure modes

    Version-scoped implementation reference.

  9. etcd 3.6 · JSON gateway

    Version-scoped implementation reference.

  10. etcd 3.6 · API reference

    Version-scoped implementation reference.

  11. etcd 3.6 · Recovery

    Version-scoped implementation reference.

  12. etcd 3.6 · FAQ

    Version-scoped implementation reference.

  13. etcd 3.6 · v3.6.6 release

    Version-scoped implementation reference.

Reading and experiment boundaries

The course covers crash/recovery coordination, a single consensus group, completed single-register histories and a deliberately small downstream fence. It does not teach all of distributed systems: sharding, BFT, CRDT implementation, distributed garbage collection, production authentication, packet fault matrices and verified disaster restore remain extensions. No learning-effect measurement has been performed.

The real-run report is generated from the selected assertions, with hashes for integrity. Timings are observations, not benchmarks with statistical power. The search checker can return inconclusive and does not consume unknown-outcome calls.