An Abort Mechanism for Nested Distributed Transactions

Duchamp, Dan

A transaction processing facility must have a mechanism for aborting transactions on request. This paper describes a mechanism for aborting transactions that can be arbitrarily nested and/or distributed. The mechanism consists of an "abort protocol" plus an adjustment to the commit protocol. The abort protocol locates and terminates as many of the transaction's operations as it can. If after the protocol has finished it is still possible that orphaned operations exist, then a simple check during the prepare phase of the commit protocol ensures that no orphan commits. The mechanism has many advantages: provided that the communication subsystem provides prompt failure detection, there will be no orphans: a site can abort unilaterally: there is little overhead on transaction-operation messages, and relatively few and relatively minor restrictions on the transaction facility: no information need be maintained in stable storage: and the abort protocol never blocks. The primary disadvantages of the mechanism are that the abort protocol must be synchronous, that it may over-abort in some cases, and that - if the communication subsystem does not provide prompt failure detection - there is no limit on the extent or lifetime of orphaned computations.



More About This Work

Academic Units
Computer Science
Department of Computer Science, Columbia University
Columbia University Computer Science Technical Reports, CUCS-459-89
Published Here
December 23, 2011