Undeclared dependencies
An optimization that succeeds becomes an undeclared dependency, with leverage 1/(1 − h).
What it is
If the cache sustains hit rate h, the layer below is asked for only (1 − h)λ requests per second. Sooner or later someone will size that lower layer for exactly that smaller load. Then the cache has leverage
against the backing store. At h = 95% the leverage is 1/0.05 = 20 to 1. At h = 99% it is 1/0.01 = 100 to 1. And look at what happens at the top: a drop from h = 0.99 to h = 0.98 changes the load below from 0.01λ to 0.02λ. A one-point drop in hit rate at 99% doubles the load on the layer below.
Hit rate is leverage, and leverage is fragility. This is how an optimization quietly turns into a load-bearing dependency that appears on no dependency diagram.
From Caching › Two inequalities
The coupling in the shared-log case is subtle, so we state it plainly: retention becomes a shared contract. When someone shortens retention from 7 days to 3 to save money, they have silently reduced every consumer's maximum tolerable outage to 3 days. That is a dependency between teams with no interface to review it.
From Data Movement › Publish/subscribe
Its real product is the second-order finding. A single-component injection mostly confirms what you expected. What chaos really finds are dependencies nobody declared: the "optional" service that turns out to be on the critical path, the failover that works but takes eleven minutes, the fallback that calls the thing that is down. Would chaos still find anything if the dependency graph were accurately known? Probably yes, because the interesting failures are in timing and capacity, not in topology. That is a prediction, not a result.
From Measurement & Experimental Method › Chaos testing
Where it appears
In 7 mechanisms. Each says what the mechanism is about, then how this principle shows up there, in its own words.
- Data Movement
How do records cross between two systems that have independent rates, independent availability and independent lifetimes, and what are you willing to lose when the assumption underneath the crossing breaks?
The coupling in the shared-log case is subtle, so we state it plainly: retention becomes a shared contract.
Read it inPoint-to-point versus publish/subscribe
- Persistence & Durability
When a system says "yes, your data is safe", what exactly has it promised, and what did it have to do to keep that promise?
The practical corollary: every log-structured system contains a distributed liveness dependency that it does not advertise.
Read it inLog truncation and retention policies
- Caching
What happens when we deliberately keep a second copy of data that no protocol forces to be correct?
With modulo hashing, a membership change becomes an availability event.
Read it inConsistent hashing, and the hot key that hashing cannot fixThe governing arithmetic: two inequalitiesSize a cache
- Scheduling & Workload Management
Which work runs now, which work waits, and who pays for the waiting?
That asymmetry, not algorithm choice, is what almost every production scheduling incident actually is.
Read it inWhat scheduling forbids, what escapes cost, and who pays
- Orchestration & Workflow
How do you make unreliable, unobservable, irreversible side effects behave like a pure function of a time interval?
And it fixes the economics of every graph: declared dependencies are the ones you maintain; undeclared ones are the ones that page you.
- Interfaces & Formats
What can two parties agree on when they cannot talk to each other?
In one sentence: a winning interface exports its limitations to everyone, and they then look like physics.
Read it inGRPC, Arrow Flight, the S3 API and the Postgres wire protocolFederation, mounting, zero-copy sharing and reverse ETL
- Measurement & Experimental Method
What would have to be true for this number to mean what I think it means?
What chaos really finds are dependencies nobody declared: the "optional" service that turns out to be on the critical path, the failover that works but takes eleven minutes, the fallback that calls the thing that is down.
Read it inChaos testing as mechanism verification
Related
Made on the same pages most often.