Distributed Systems Prayer

Forgive me, Lord, for I have sinned.

  • I have written distributed systems in languages prone to race conditions and memory leaks.

  • I have failed to use model checking when I should have.

  • I have failed to use static analysis when I should have.

  • I have failed to write tests that simulate failures properly.

  • I have tested on too few nodes or threads to get meaningful results.

  • I have tweaked timeout values to make the tests pass.

  • I have implemented a thread-per-connection model.

  • I have sacrificed consistency to get better benchmark numbers.

  • I have failed to measure 99th percentile latency.

  • I have failed to monitor or profile my code to find out where the real bottlenecks are.

I know I am not alone in doing these things, but I alone can repent and I alone can try to do better. I pray for the guidance of Saint Leslie, Saint Nancy, and Saint Eric. Please, give me the strength to sin no more.

Amen.

Comments for this blog entry