Failure transparency in distributed transactions: does it guarantee all-or-nothing outcomes (either all actions commit or none do)?

Difficulty: Easy

Correct Answer: Applies — failure transparency masks faults so a transaction is atomic across sites

Explanation:


Introduction / Context:
Distributed systems aim to hide failures from applications. In the database world, failure transparency ties closely to atomic commit: either all participants commit or all abort.


Given Data / Assumptions:

  • Distributed transactions may involve multiple resource managers.
  • Two-phase commit (2PC) or a similar protocol coordinates commit.
  • Sites and networks can fail independently.


Concept / Approach:
Failure transparency means applications should not observe partial effects of a transaction. Atomicity across sites is ensured via commit protocols and logging. If any participant cannot commit, the coordinator orders a rollback everywhere, preserving the all-or-nothing property.


Step-by-Step Solution:
A client initiates a distributed transaction.Participants enter prepare phase and promise to commit or abort atomically.On success, the coordinator issues commit to all; on failure, issues abort to all.Clients observe either complete success or complete rollback.


Verification / Alternative check:
Textbook ACID semantics define atomicity explicitly; distributed commit protocols extend this across sites.


Why Other Options Are Wrong:
Partial commits violate atomicity; limiting to one site or read-only cases misunderstands the concept.


Common Pitfalls:
Ignoring heuristic outcomes in rare failure modes; not accounting for blocking issues in 2PC during coordinator failures.


Final Answer:
Applies — failure transparency masks faults so a transaction is atomic across sites

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion