liveBook · Manning

Application-level failure

As explained in Think Distributed Systems

An application-level failure is a failure caused by application semantics or business logic rather than by the underlying platform.

An application-level failure arises from application semantics or business rules rather than the underlying platform. An InsufficientFunds response is meaningful to the application but not to lower platform layers. section 3.3.3

Classify a failure by asking which lowest layer can detect and mitigate it correctly and completely. That layer owns the response. section 3.3.3

Application-level failures shape both detection and recovery:

  • Detect them from application outcomes such as a step’s return code or an InsufficientFunds response. section 3.3.4
  • Mitigate them in the application layer; backward recovery can compensate for steps that already occurred. section 3.3.6
  • Escalate failures that remain unresolved during recovery to the human layer for operational intervention. section 3.3.6

Insufficient funds versus connectivity

A credit-card charge returning InsufficientFunds requires application-level handling because the business meaning belongs to the application. A CouldNotConnect response is platform-level because the platform can retry the connection. section 3.3.3 section 3.3.4

Figure 3.10 Application-level vs. platform-level failure
A diagram of a financial system

AI-generated content may be incorrect.

Use the layer comparison to locate application-level failure beside platform-level failure and identify the responsible mitigation layer. section 3.3.3

How Think Distributed Systems covers it

How deep it goes
Explains definition, return-code detection, backward recovery, and escalation, while treating layer boundaries as context-dependent.
Examples
Uses InsufficientFunds for business failure and CouldNotConnect for platform failure during a credit-card charge.
What it assumes
Assumes a layered system with detectable failures and distinguishes application semantics from platform operation.
What you can do after
Evaluate/understand which layer should detect, mitigate, recover from, or escalate a failure.
How it connects
Connects application-level failure with platform-level failure, failure detection, failure mitigation, backward recovery, and failure tolerance.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Think Distributed Systems. The section links point to the parts of the book it draws on.