Skip to content
Ameen Abozaid
Planned lessonMID-023-L03

Partial failure

  • Lesson 3 of 6
  • Mid-level
On This Lesson 4 topics

This lesson is planned. The outline below lists the topics it will cover. The full lesson has not been published yet.

In this lesson

explain why a timeout is not a failure.

Planned topics

  • In one process, a call succeeds or fails. Across a network, parts fail while others work.
  • A timeout means "no answer in time". The request may have been lost, executed, or the reply lost.
  • Retrying a payment after a timeout risks charging twice.
  • The sender cannot tell which case happened without asking again or checking state.
  • Defences: idempotency keys, status queries, and reconciliation (MID-029).
Draft outline details

Demonstration

text
Shop --charge $50--> Payments   (Payments charges the card)
Shop <--response lost--         Shop sees a timeout

Check your understanding

After a timeout, did the operation happen?

Show answer

Unknown: it may or may not have.

Practice

Apply this lesson with the module's lab, exercises and quiz.

Lab and exercises Quiz

Marking a lesson complete is optional and you can undo it any time. Your progress stays in this browser.

Continue to next lesson

Type to search levels, phases, modules and lessons.