← All exercises
Decision workshop · Publikacja codzienna / 2026

Should a notification failure block an order?

Identify the risk, make a decision and compare your reasoning with a senior architect’s analysis.

01 · SCENARIO · Easy

Practice-inspired educational scenario

A service saved an order and assigned its number. The database transaction committed. It then tried to send an informational email synchronously, but the mail service returned an error. The email is not a condition for accepting the order. The current API nevertheless reports that the whole operation failed, so the user may submit again and create a duplicate. No durable task or confirmed queue message yet exists for retrying the notification.

Your question

What result would you return to the user, and what would you retry? Explain how you would avoid both a second order and a lost notification.

Guiding questions
  • Which outcome has already been committed?
  • Is retrying the whole request the same as retrying the email?
  • What must be durable so a failure between the database and the queue cannot lose the notification?

Start with a choice or explain your reasoning to the mentor. You can switch modes at any time.

What should the service do after the email fails?

Not sure? Show a hint

The order and the information about it have different business meanings.

03 · SENIOR ANALYSIS

Compare your reasoning

Read the full analysis at any time, including without AI feedback.

KEEP LEARNING

Understand the principle and its limits

Read the related learning material →