Home

presumedabort

Presumedabort is a term used in the context of distributed transaction processing, particularly within two-phase commit protocols and the recovery procedures that accompany them. It denotes a recovery state in which the outcome of a given transaction branch cannot be determined due to a failure or crash. In this situation, a transaction manager marks the branch as presumed abort to protect data consistency.

During a two-phase commit, a resource manager may participate in a transaction by promising to either commit

Presumed abort is distinct from an explicit abort or a committed outcome. It serves as a conservative

See also: two-phase commit, XA specification, transaction recovery, heuristic outcomes.

or
roll
back
if
asked
during
the
recovery
phase.
If
a
crash
occurs
before
the
final
outcome
is
recorded,
the
recovery
process
may
encounter
insufficient
information
to
confirm
a
commit.
In
such
cases,
the
system
can
record
the
branch
as
presumed
abort,
meaning
that
the
safest
default
action
on
recovery
is
to
roll
back
the
branch
unless
evidence
later
shows
a
committed
outcome.
recovery
assumption:
it
avoids
risking
an
unintended
commit
in
the
presence
of
failure,
while
allowing
the
system
to
complete
the
rollback
once
the
transaction
manager
or
resource
manager
recovers.
Some
implementations
view
presumed
abort
alongside
heuristic
outcomes,
such
as
heuristic
rollback
or
heuristic
commit,
as
part
of
their
recovery
semantics
in
X/Open
XA-compliant
environments
or
similar
distributed
transaction
frameworks.