The Computing Series

Where It Fails

FM8 — Schema/Contract Violation: When an interface changes without coordinating with callers, behaviour breaks at the boundary. A method renamed, a return type changed, an error semantics altered — these are contract violations. Callers compiled against the old contract fail at runtime. In loosely-typed systems or across service boundaries, these violations are silent until production.

FM2 — Cascading Failures: A leaky abstraction that exposes retry logic or timeout semantics can cause callers to implement their own retry strategies on top of the implementation’s retry strategies. Double-retry under failure amplifies load rather than protecting against it. The abstraction intended to simplify behaviour accidentally produced emergent failure behaviour.

Read in the book →