Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Crash Only Software

Crash Only Software

Antoine Grondin

April 28, 2016
Tweet

Other Decks in Programming

Transcript

  1. request have deadline request have is_idempotent flag servers try to

    process or crash clients retry until deadline crash-only communication
  2. Need to convert millions of images when we change format.

    (say qcow to raw) real-story - requirements
  3. at-least-once delivery If an image converted >1 time, we don’t

    really care. Waste some time, better than losing customer image. real-story - design
  4. Step 1: make a lease Step 2: refresh lease while

    working Step 3: delete job+lease once done real-story - design
  5. Step 1: make a lease Step 2: refresh lease while

    working Step 3: delete job+lease once done real-story - design
  6. Step 1: make a lease Step 2: refresh lease while

    working Step 3: delete job+lease once done real-story - design
  7. tell operator to let it go … the process manager

    restarts components real-story - outcome
  8. tell operator to let it go … if issues, system

    converges toward progress real-story - outcome
  9. References Recursive Restartability Candea & Fox, 2001 Crash-Only software Candea

    & Fox, 2003 Crash-Only software, More than meets the eye LWN.net, https://lwn.net/Articles/191059/ A Crash Course In Failure NPlus1.org, http://web.archive.org/web/20090430014122/http://nplus1.org/articles/a-crash- course-in-failure/