# Compensation after partial parallel failures

*MuleSoft Developer II Study Guide · Implement performant and reliable Mule applications · Last updated November 7, 2026 · https://www.certifyforce.com/study-guide/mulesoft-developer-ii/implement-performant-and-reliable-mule-applications/compensation-after-partial-parallel-failures*

Recover partially completed remote work using explicit provider contracts, preserved receipts and truthful compensation state, while keeping Mule transaction handling separate.

- Certification: Salesforce MuleSoft Developer II
- Exam section: Implement performant and reliable Mule applications
- Study guide: https://www.certifyforce.com/study-guide/mulesoft-developer-ii

**Official exam objective:**

> Implement compensating transactions for partially failed scatter-gather.

## What the exam expects

- Distinguish failed routes from completed external effects.
- Preserve enough outcome and receipt information to perform business-defined undo.
- Handle failed or uncertain compensation without reporting false completion.
- Keep the original transaction rollback and compensation audit boundaries correct.

A **side effect** changes an external system; a **receipt** identifies that change for later operations; **compensation** performs business-defined counter-actions; **reconciliation** determines an uncertain outcome; a **transaction boundary** defines participating atomic work. Mule runtime rules come from Mule4.6 sources. Microsoft's2015pattern is supplemental design guidance, not a claim that Mule automatically implements provider cancellation APIs.

## Key facts

| Fact | Detail | Source |
|---|---|---|
| Failed route effects | A route can commit remote work before a later local failure. | [Compensation pattern](https://learn.microsoft.com/en-us/previous-versions/msp-n-p/dn589804%28v=pandp.10%29) |
| Receipts | Preserve provider-specific information needed for undo. | [Compensation pattern](https://learn.microsoft.com/en-us/previous-versions/msp-n-p/dn589804%28v=pandp.10%29) |
| Read-only success | No state change means no counter-action for that read. | [Compensation pattern](https://learn.microsoft.com/en-us/previous-versions/msp-n-p/dn589804%28v=pandp.10%29) |
| Business-specific recovery | Refunds and cancellations obey the supplied provider rules. | [Compensation pattern](https://learn.microsoft.com/en-us/previous-versions/msp-n-p/dn589804%28v=pandp.10%29) |
| Shared Try failure | Remaining processors in that Try are skipped. | [Try scope](https://docs.mulesoft.com/mule-runtime/4.6/try-scope-concept) |
| Original error | Save needed selectors before nested recovery processing. | [Mule errors](https://docs.mulesoft.com/mule-runtime/4.6/mule-error-concept) |
| Starter's propagation handler | Runs after its original transaction rolls back. | [Transaction management](https://docs.mulesoft.com/mule-runtime/4.6/transaction-management) |
| Uncertain remote job | Reconcile its terminal outcome under the provider contract. | [Compensation pattern](https://learn.microsoft.com/en-us/previous-versions/msp-n-p/dn589804%28v=pandp.10%29) |
| Impossible automated undo | Preserve unresolved state and escalate with context. | [Compensation pattern](https://learn.microsoft.com/en-us/previous-versions/msp-n-p/dn589804%28v=pandp.10%29) |

## Check yourself

- Why can recovery order differ from a reversed forward-operation list?
- When can counter-actions run in parallel?
- What must finish before advance-acquired timeout-based resource locks expire?

## Sources

- [Scatter-Gather, Mule4.6](https://docs.mulesoft.com/mule-runtime/4.6/scatter-gather-concept)
- [Transaction management, Mule4.6](https://docs.mulesoft.com/mule-runtime/4.6/transaction-management)
- [Try scope, Mule4.6](https://docs.mulesoft.com/mule-runtime/4.6/try-scope-concept)
- [Mule errors, Mule4.6](https://docs.mulesoft.com/mule-runtime/4.6/mule-error-concept)
- [Compensating Transaction Pattern,2015 primary reference](https://learn.microsoft.com/en-us/previous-versions/msp-n-p/dn589804%28v=pandp.10%29)

## About the full unit

The "Core concepts", "Exam traps" and "Worked scenario" sections of this unit, its 10 linked practice questions, and unlimited timed mock exams are included with the MuleSoft Developer II pack (USD $19): https://www.certifyforce.com/practice-exams
