is implemented in Clojure TECHNICALLY JEPSEN .. • Emulates network partition • By cutting network between virtual machines • While Jepsen concurrently continues writing data, • And finally verifies any writes are not lost
• In the beginning was the failure and asynchrony • Replication and Consensus next • Failover and recovery / Membership Change mess things • Implementation and runtime is complexed
REFERENCES • C.R.Jepsen “Call Me Maybe” • Jepsen blog post series • github.com/aphyr/jepsen • Kyle Kingsbury: @aphyr (sometimes NSFW) • “The Network Is Reliable” • https://queue.acm.org/detail.cfm?id=2655736